The proper way is to redefine \and
and use it. Anyways, the footnotemark is printed \rlap
ped in the \author
, i.e. occupying no space. If we disable \rlap
, everything works fine.
The "proper" code:
\documentclass{article}
\renewcommand\and{\end{tabular}\kern-\tabcolsep\ and\ \kern-\tabcolsep\begin{tabular}[t]{c}}
\let\origthanks\thanks
\renewcommand\thanks[1]{\begingroup\let\rlap\relax\origthanks{#1}\endgroup}
\title{The Title}
\author{Joe Bloggs\thanks{blah} \and John Smith\thanks{blah}}
\begin{document}
\maketitle
\end{document}
The code that only disables \rlap
and does not modify anything else:
\documentclass{article}
\let\origthanks\thanks
\renewcommand\thanks[1]{\begingroup\let\rlap\relax\origthanks{#1}\endgroup}
\title{The Title}
\author{Joe Bloggs\thanks{blah}\ and\ John Smith\thanks{blah}}
\begin{document}
\maketitle
\end{document}
The output of both codes is exactly the same.
The report.cls
defines the author portion of \maketitle
to be a tabular array, that is
{\large
\lineskip .75em%
\begin{tabular}[t]{c}%
\@author
\end{tabular}\par}%
The default definition of \and
from latex.ltx
is used to end the tabular
environment, add a bit of horizontal space, and then start a new tabular
environment:
\def\and{% % \begin{tabular}
\end{tabular}%
\hskip 1em \@plus.17fil%
\begin{tabular}[t]{c}}% % \end{tabular}
So, when you write \author{First \and Second}
, the result is that both names get typeset side-by-side in individual tabular
environments. You could just as easily write \author{First \\ Second}
to have the two names typeset in a column (that is, in the single centered column of the first tabular
environment). The same could be done by redefining \and
as \def\and{\\}
; only through chance does simply writing \author{First & Second}
do the same thing, as the "extra" alignment character, &
, is interpreted as \\
automatically.
But this last approach will only work for you if you include something along the lines of the original author portion of \maketitle
, that defines the tabular
array in your own \maketitle
.
Updated from OP Edit:
You can use \uppercase
to do the uppercase translation in the following manner. As noted, I suggest you use the entire structure (with tabular
) as originally defined in report.cls
for the author portion in your own \maketitle
. This keeps the original format with \and
working, along with the other methods I mention above.
\documentclass{report}
\author{Doug \\ Lou}
\begin{document}
\makeatletter
\begin{center}
% Suggest using the tabular in your \maketitle definition
{\large
\lineskip .75em%
\begin{tabular}[t]{c}%
\uppercase\expandafter{\@author}
\end{tabular}\par}%
\end{center}
\makeatother
\end{document}
Best Answer
The
elsarticle
document class uses a comma to separate multiple authors; if you are using this document class, then I would advise you not to change the pre-stablished formatting; it was designed specifically to satisfy the requirements of Elsevier. However, if you decide to change the template, then you will need a redefinition of the internal\@author
command, as shown below (warning: will use "and" between all authors):