I would like to change some elements of my title page, but without completely creating my own titlepage environment (as e.g. demonstrated here), because I am using commands like \extratitle and \uppertitleback and I'd rather not recreate them all.
I am using a KOMA-class and luckily, this post not only explains how to redefine \maketitle in such a case, but also includes the original definition of it, so it is easy for me to adapt.
But for some reason, my new definition is ignored when \maketitle is called, and the default one is used instead. It gets even stranger however, because when I call \makeatletter\meaning\@maketitle\makeatother (which should show me the current definition of maketitle according to this post), it produces the new definition, both before and after I call \maketitle. What's going on here?
Also, when I create an entirely new command that way, e.g. \makecustomtitle, the compiler says it doesn't know it: Undefined control sequence.
MWE:
\documentclass{scrbook}
\makeatletter
\renewcommand{@maketitle}{%
% \newcommand{@makecustomtitle}{%
% \global@topnum=\z@
% \setparsizes{\z@}{\z@}{\z@@plus 1fil}\par@updaterelative
% \ifx@titlehead@empty \else
% \begin{minipage}[t]{\textwidth}
% \usekomafont{titlehead}{@titlehead\par}%
% \end{minipage}\par
% \fi
% \null
% \vskip 2em%
% % \begin{center}%
% \ifx@subject@empty \else
% {\usekomafont{subject}{@subject \par}}%
% \vskip 1.5em
% \fi
% {\ifx@subtitle@empty\else\usekomafont{subtitle}@subtitle\par\fi}%
% \vskip .5em
% {\usekomafont{title}{\huge @title \par}}%
% \vskip 1em
% {%
% \usekomafont{author}{%
% \lineskip .5em%
% \begin{tabular}[t]{@{}l}
% @author
% \end{tabular}\par
% }%
% }%
% \vskip 1em%
% {\usekomafont{date}{@date \par}}%
% \vskip \z@ @plus 1em
% {\usekomafont{publishers}{@publishers \par}}%
% \ifx@dedication@empty \else
% \vskip 2em
% {\usekomafont{dedication}{@dedication \par}}%
% \fi
% % \end{center}%
% \par
% \vskip 2em
}%
\makeatother
\begin{document}
\subtitle{This is a subtitle}
\title{This is a title}
\author{Author Name}
\date{\today}
\makeatletter\meaning@maketitle\makeatother
\maketitle
\makeatletter\meaning@maketitle\makeatother
% \makecustomtitle
\end{document}
scrbookis not the same asscrartclthough. Maybe you'll have to resort to reading the source code of\maketitlein this document class to see what the definition is and adapt – user202729 Mar 27 '23 at 16:08\maketitlebut\@maketitle, which is AFAIK only used for on page title heads (optiontitlepage=false), but not for title pages (optiontitlepage=true, which is default withscrbook). – cabohah Mar 27 '23 at 16:14uni-titlepageis AFAIK more or less compatible with KOMA-Script classes. So you could load the KOMA-Script style of that package and change only the first title page by redefining\makemaintitle. – cabohah Mar 27 '23 at 16:18@had to do with the\makeatlettercommands. I didn't realize they are actually different commands. Theuni-titlepagemay be a good option. Apparently it's from theKOMAauthor. – mapf Mar 27 '23 at 16:29\makeatletteris "make @ letter" so after that\@maketitleis a command name just like\xmaketitleas @ is just a letter – David Carlisle Mar 27 '23 at 18:30