如何更改 Beamer 中的作者對齊方式?

如何更改 Beamer 中的作者對齊方式?

看來不同的班級使用表格來設定作者佈局。我想渲染這些輸出之一:

相當於\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 中是否有等效的構造?

還有另一種方法使用表格環境 但這在 Beamer 中也失敗了。

理想情況下,我想更改\defbeamertemplate*{title page}{default theme}{...我的投影機樣式文件,以便我仍然可以\author{}在主文件中使用其所有修飾,但由於我不在幻燈片上的其他任何地方使用作者,因此在幻燈片中使用某種框的解決方案主要來源也可以。

答案1

\beamer@author一個選項是重新定義in 中定義的內部beamerbasetitle.sty(這樣,定義將與主題無關)以使用tabular具有所需對齊方式的 a ;您需要使用可選參數為作者書籤提供正確的資訊:

\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}

在此輸入影像描述

相關內容