General[SOLVED]Half Title Page?

LaTeX specific issues not fitting into one of the other forums of this category.
Post Reply
Noraft
Posts: 13
Joined: Sun Dec 07, 2008 2:50 pm

[SOLVED]Half Title Page?

Post by Noraft »

I'm trying to make a half title page, and running into an issue. I'm modifying Springer Verlag's svmono document class, and I took the \maketitle command, renamed it \makehalftitle, and stripped all the subtitle and author information out of it. I thought that \makehalftitle followed by \maketitle would then produce a page with only the title, and the following page would have title, subtitle, author, and publisher on it. But it isn't working. Instead, I get a half title page that looks exactly like I want it to, but the title page is missing the title. Why?

Here's my code:

This is the makehalftitle command I defined:

Code: Select all

\def\makehalftitle{\par
 \begingroup
   \def\thefootnote{\fnsymbol{footnote}}%
   \def\@makefnmark{\hbox
       to\z@{$\m@th^{\@thefnmark}$\hss}}%
   \if@twocolumn
     \twocolumn[\@makehalftitle]%
     \else \newpage
     \global\@topnum\z@   % Prevents figures from going at top of page.
     \@makehalftitle \fi\thispagestyle{empty}\@thanks
     \par\penalty -\@M
 \endgroup
 \setcounter{footnote}{0}%
 \let\makehalftitle\relax
 \let\@makehalftitle\relax
 \gdef\@thanks{}\gdef\@title{}\let\thanks\relax}

\def\@makehalftitle{\newpage
 \null
 \vskip 2em                 % Vertical space above title.
\begingroup
\centering
  \def\and{\unskip, }
  \parindent=\z@
  \pretolerance=10000
  {\Huge \@title \par}%     % Title set in \Huge size.
\endgroup}
%
And this is the original maketitle code (that worked fine):

Code: Select all

\def\maketitle{\par
 \begingroup
   \def\thefootnote{\fnsymbol{footnote}}%
   \def\@makefnmark{\hbox
       to\z@{$\m@th^{\@thefnmark}$\hss}}%
   \if@twocolumn
     \twocolumn[\@maketitle]%
     \else \newpage
     \global\@topnum\z@   % Prevents figures from going at top of page.
     \@maketitle \fi\thispagestyle{empty}\@thanks
     \par\penalty -\@M
 \endgroup
 \setcounter{footnote}{0}%
 \let\maketitle\relax
 \let\@maketitle\relax
 \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\let\thanks\relax}

\def\@maketitle{\newpage
 \null
 \vskip 2em                 % Vertical space above title.
\begingroup
	\centering
  \def\and{\unskip, }
  \parindent=\z@
  \pretolerance=10000
  {\Huge \@title \par}%     % Title set in \Huge size.
  \vskip 1cm                % Vertical space after title.
  \if!\@subtitle!\else
   {\LARGE\ignorespaces\@subtitle \par}
   \vskip 1cm                % Vertical space after subtitle.
   {\LARGE                   % each author set in \LARGE
   \lineskip .5em
   \@author
   \par}%
  \vskip 2cm                % Vertical space after author.
  \fi
 \vfill
 {\Large ATEK Press\par}%\vskip 5\p@
%\large
\endgroup}
Last edited by Noraft on Wed Dec 10, 2008 8:20 pm, edited 1 time in total.

Recommended reading 2024:

LaTeXguide.org • LaTeX-Cookbook.net • TikZ.org

NEW: TikZ book now 40% off at Amazon.com for a short time.

phi
Posts: 577
Joined: Tue Oct 21, 2008 8:10 pm

[SOLVED]Half Title Page?

Post by phi »

The \maketitle command usually clears the \@title command which stores the title. You copied the corresponding code:

Code: Select all

\gdef\@thanks{}\gdef\@title{}\let\thanks\relax
This empties the stored values for the thanks and title fields after printing the extra title. Just leave this line (especially the \gdef\@title{} part) out.
Noraft
Posts: 13
Joined: Sun Dec 07, 2008 2:50 pm

[SOLVED]Half Title Page?

Post by Noraft »

I removed the code you identified, but it produced the exact same output. Hmm.

UPDATE: Ah! I solved it, with your help, thanks. I was thinking about how you said it empties the stored values for the title field right after it displays it, so I used the following code in the .tex file that invokes the document class:

Code: Select all

\title{The English Teacher's Guide to Korea}
\makehalftitle
\title{The English Teacher's Guide to Korea}
\maketitle
It "forgot," so I "reminded" it. It isn't elegant code, but it works perfectly.

Thanks again!
Post Reply