¿Cómo cambiar la alineación del autor en Beamer?

¿Cómo cambiar la alineación del autor en Beamer?

Parece que diferentes clases configuran diseños de autor utilizando tablas. Me gustaría renderizar uno de estos resultados:

Equivalente a \begin{tabular}{rl}:

  Joe Schmoe My Boss
    Jane Doe His Boss

o, equivalente a \raggedleft:

  Joe Schmoe My Boss
   Jane Doe His Boss

de algo parecido a este M(N)WE:

\documentclass{beamer}

\author{%
Joe Schmoe, My Boss%
\and
Jane Doe, His Boss%
}

\begin{document}
\maketitle
\end{document}

No me importa usar \institutealgo equivalente como título del trabajo, e incluso puedo eliminar el título del trabajo para ver una solución simple.

En algunas otras clases de documentoshay una buena solución que involucra\preauthor, que podría modificar en mi archivo de estilo. Desafortunadamente, aparece un error de comando desconocido en Beamer 3 \preauthorcon ese código. ¿Existen construcciones equivalentes en Beamer?

También hay otro enfoqueque utiliza un entorno tabular pero eso también falla en Beamer.

Idealmente, me gustaría cambiar \defbeamertemplate*{title page}{default theme}{...mi archivo de estilo de proyector, para poder seguir usándolo \author{}con todos sus recortes en el archivo principal, pero como no uso autores en ningún otro lugar de la diapositiva, una solución usando algún tipo de cuadro en el La fuente principal también funcionaría.

Respuesta1

Una opción es redefinir lo interno \beamer@authordefinido en beamerbasetitle.sty(de esta manera, la definición será independiente del tema) para usar a tabularcon la alineación deseada; debe utilizar el argumento opcional para proporcionar la información adecuada para el marcador de autor:

\documentclass{beamer}
\usetheme{Madrid}

\makeatletter
\long\def\beamer@author[#1]#2{%
  \def\insertauthor{\def\inst{\beamer@insttitle}\def\and{\beamer@andtitle}%
  \begin{tabular}{rl}#2\end{tabular}}%
  \def\beamer@shortauthor{#1}%
  \ifbeamer@autopdfinfo%
    \def\beamer@andstripped{}%
    \beamer@stripands#1 \and\relax
    {\let\inst=\@gobble\let\thanks=\@gobble\def\and{, }\hypersetup{pdfauthor={\beamer@andstripped}}}
  \fi%
}
\makeatother

\title{The title}
\author[Joe and Jane]{%
Joe Schmoe, & My Boss \\
Jane Doe, & His Boss
}

\begin{document}
\begin{frame}
\maketitle
\end{frame}
\end{document}

ingrese la descripción de la imagen aquí

Cambie \begin{tabular}{rl}a \begin{tabular}{r}arriba para la otra alineación requerida.

En un comentario se solicitó redefinir \andpara que actúe como \tabularnewlinefilas de autor separadas en el argumento obligatorio de \author; aquí está la modificación requerida:

\documentclass{beamer}
\usetheme{Madrid}

\makeatletter
\long\def\beamer@author[#1]#2{%
  \def\and{\tabularnewline}
  \def\insertauthor{\def\inst{\beamer@insttitle}\def\and{\tabularnewline}%
  \begin{tabular}{rl}#2\end{tabular}}%
  \def\beamer@shortauthor{#1}%
  \ifbeamer@autopdfinfo%
    \def\beamer@andstripped{}%
    \beamer@stripands#1 \and\relax
    {\let\inst=\@gobble\let\thanks=\@gobble\def\and{, }\hypersetup{pdfauthor={\beamer@andstripped}}}
  \fi%
}
\makeatother

\title{The title}
\author[Joe \and Jane]{%
Joe Schmoe, & My Boss \and
Jane Doe, & His Boss
}

\begin{document}
\begin{frame}
\maketitle
\end{frame}
\end{document}

ingrese la descripción de la imagen aquí

información relacionada