Похоже, что разные классы настраивают макеты автора с помощью таблиц. Я хотел бы отобразить один из этих выходов:
Эквивалентно \begin{tabular}{rl}
:
Joe Schmoe My Boss
Jane Doe His Boss
или, эквивалентно \raggedleft
:
Joe Schmoe My Boss
Jane Doe His Boss
из чего-то похожего на это M(N)WE:
\documentclass{beamer}
\author{%
Joe Schmoe, My Boss%
\and
Jane Doe, His Boss%
}
\begin{document}
\maketitle
\end{document}
Я не против использования '' \institute
или чего-то эквивалентного в названии должности'', и я даже могу опустить название должности, чтобы увидеть простое решение.
В некоторых других классах документовесть хорошее решение, включающее\preauthor
, который я мог бы изменить в своем файле стилей. К сожалению, я получаю неизвестную ошибку команды в Beamer 3 \preauthor
с этим кодом. Есть ли эквивалентные конструкции в Beamer?
Есть и другой подходкоторый использует табличную среду но в Бимере это тоже не работает.
В идеале я хотел бы изменить \defbeamertemplate*{title page}{default theme}{...
свой файл стиля Beamer, чтобы я мог по-прежнему использовать его \author{}
со всеми его обрезками в основном файле, но поскольку я не использую авторов нигде больше на слайде, решение с использованием какого-либо поля в основном источнике также подошло бы.
решение1
Один из вариантов переопределения внутреннего \beamer@author
определения в beamerbasetitle.sty
(таким образом, определение будет независим от темы) для использования tabular
с желаемым выравниванием; вам необходимо использовать необязательный аргумент, чтобы предоставить правильную информацию для закладки автора:
\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}
Измените \begin{tabular}{rl}
на \begin{tabular}{r}
указанное выше для другого необходимого выравнивания.
В комментарии было предложено переопределить его \and
так, чтобы он действовал как \tabularnewline
отдельные строки автора в обязательном аргументе \author
; вот требуемое изменение:
\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}