[Tex/LaTex] How to format multiple authors separated by \and

titles

I have a document class for theses which, up until now, only accepted one author name. But now, due to a change in the university's regulation, the document will have to accept more than one author name.

Currently, I am using the standard \author{} command to get the author name . My question is: how can I get the separate author names in order to apply the correct formatting to them? Are there different variable names for each one? I know multiple authors are separated by \and and, after I am able to get each author name, I would like to put them one below the other, in a centered position (just like the example below, but with each additional author name below the previous one).

Here I have the code of my \maketitle command, which is the only one that uses the author names. In the image below, I show the resulting title page.

\renewcommand{\maketitle}{
\clearpage % clears pages just to be sure
\thispagestyle{empty} % this page has no numbering
\begin{center} %text is centered
\textbf{ % and bold
\MakeUppercase{\@institution}\\[\baselineskip] % institution name
\MakeUppercase{\@author} % author name
\vfill
\MakeUppercase{\@title}\ifthenelse{\isundefined{\@subtitle}}{}{:\@subtitle}} % title and optional subtitle
\vfill
\@city\\ % city
\number\year %year
\end{center}
}

Here's an image of how it looks now

Clarifying Update

I believe I wasn't clear before, but now I have additional information regarding the issue. Following the recent answer, I decided to forget about \and and try to separate author names with \\ so they could each go in a separate line, but it seems that \MakeUppercase{} does not allow for line breaks to be inserted inside it. Any advice?

So you see, my issue is not related to the \and command in itself, but rather with a way to break a string in many lines while keeping it in uppercase.

I guess an example of what I'm trying to do, but which is not working, is the following:

\documentclass{report}
\author{Doug \\ Lou}

\begin{document}
\MakeUppercase{\@author}
\end{document}

End result update

Just for posterity, I will add here the end result, after using the chosen solution from this post.

\def\and{\\} % redefine so it is compatible with other classes

\renewcommand{\maketitle}{
\clearpage % clears pages just to be sure
\thispagestyle{empty} % this page has no numbering
\begin{center} %text is centered
\textbf{ % and bold
\MakeUppercase{\@institution}\\[\baselineskip] % institution name
\uppercase\expandafter{\@author} % uppercase author names!!
\vfill
\MakeUppercase{\@title}\ifthenelse{\isundefined{\@subtitle}}{}{:\@subtitle}} % title and optional subtitle
\vfill
\@city % city
\number\year % year
\end{center}
}

Best Answer

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}
Related Question