0

I want the author's name to appear first on the title page.

Screenshot

enter image description here

MWE

\documentclass{scrbook}

\begin{document}

\title{My Title}
\subtitle{My Subtitle}
\author{John Doe}
\date{}

\maketitle      

\end{document}
  • You should really create your own titlepage in a book. – TeXnician Feb 4 '18 at 18:33
  • 1
    Use the \begin{titlepage} environment and create your own custom title page. – Dr. Manuel Kuehner Feb 4 '18 at 18:33
  • @TeXnician Same idea within 6 sec :) – Dr. Manuel Kuehner Feb 4 '18 at 18:33
  • I use \uppertitleback{} to design the back of the title page. Does this affect somehow the use of \begin{titlepage}? – Sr. Schneider Feb 4 '18 at 18:36
  • 2
    \begin{titlepage} is "just" an empty page that you can design as you wish. – Dr. Manuel Kuehner Feb 4 '18 at 18:47
4

You could patch \maketitle:

\documentclass{scrbook}
\usepackage{xpatch}
\makeatletter
% remove author below the title
\xpatchcmd{\maketitle}
  {%
    {%
      \usekomafont{author}{%
        \lineskip 0.75em
        \begin{tabular}[t]{c}
          \@author
        \end{tabular}\par
      }%
    }%
    \vskip 1.5em
  }
  {}{}{\PatchFailed}
% insert author between subject and title
\xpatchcmd{\maketitle}
  {%
    \ifx\@subject\@empty \else
      {\usekomafont{subject}{\@subject\par}}%
      \vskip 3em
    \fi
  }
  {%
    \ifx\@subject\@empty \else
      {\usekomafont{subject}{\@subject\par}}%
      \vskip 3em
    \fi
    {%
      \usekomafont{author}{%
        \lineskip 0.75em
        \begin{tabular}[t]{c}
          \@author
        \end{tabular}\par
      }%
    }%
    \vskip 1em
  }
  {}{\PatchFailed}
\makeatother
\begin{document}

\title{My Title}
\subtitle{My Subtitle}
\author{John Doe}
\uppertitleback{Upper Text}
\lowertitleback{Lower Text}
%\date{}

\maketitle
\end{document}

enter image description here


Or you can use the titlepage environment. Note that it is also possible to insert content on the back of the title page.

\documentclass{scrbook}
\begin{document}
\begin{titlepage}
  \null\vfill
  \begin{center}
    {%
      \usekomafont{author}{%
        \lineskip 0.75em
        \begin{tabular}[t]{c}
          John Doe% <- author
        \end{tabular}\par
      }%
    }%
    \vskip 1em
    {%
      \usekomafont{title}{\huge
        My title% <- title
      \par}%
    }%
    \vskip 1em
    {%
      \usekomafont{subtitle}{%
        My subtitle% <- subtitle
      \par}%
    }%
    \vskip 1.5em
    {\usekomafont{date}{\today \par}}%
    \vskip 0pt plus 4fill
  \end{center}
  \clearpage
  \thispagestyle{empty}
  \noindent\begin{minipage}[t]{\textwidth}
    Upper Text% <- upper text
  \end{minipage}\par
  \vfill
  \noindent\begin{minipage}[b]{\textwidth}
    Lower Text% <- lower text
  \end{minipage}\par
\end{titlepage}
\end{document}

enter image description here

1
\documentclass{scrbook}

\begin{document}

\newcommand*{\myTitel}{Title of Document}
\newcommand*{\mySubtitle}{SubTitle of Document}
\newcommand*{\myAuthor}{FirstName Surname}
\newcommand*{\myDate}{\today}

\title{\myTitel}
\subtitle{\mySubtitle}
\author{\myAuthor}
\date{\myDate}

\maketitle    

\begin{titlepage}
\centering
\myAuthor{}\\ 
% {} is important if you have a text right after the command. 
% Otherwise the command will "eat" the blank space.
\myTitel\\
\mySubtitle\\
\myDate
\end{titlepage} 

\end{document}

Based on an answer from the author of the KOMA classes, see here (in German).

enter image description here

enter image description here

  • Shouldn't it be %\maketitle? – Sr. Schneider Feb 4 '18 at 19:12
  • I just compare the different outputs and show that you still can use the standard command if needed. – Dr. Manuel Kuehner Feb 4 '18 at 20:20
  • \date sets \@date which is used inside \maketitle to print the date. – esdd Feb 4 '18 at 20:57
  • @esdd Thanks! Your comment made me realize that I confused \date with \today. Fixed it. – Dr. Manuel Kuehner Feb 4 '18 at 21:08
0

I just found a quick and dirty solution:

\documentclass{scrbook}

\begin{document}

\title{My Title}
\subtitle{My Subtitle\vspace{-8\baselineskip}}
\author{John Doe}
\date{}

\maketitle      

\end{document}

Not the answer you're looking for? Browse other questions tagged or ask your own question.