Beamer で著者の配置を変更するにはどうすればいいですか?

Beamer で著者の配置を変更するにはどうすればいいですか?

さまざまなクラスがテーブルを使用して著者レイアウトを設定しているようです。次の出力の 1 つをレンダリングしたいと思います。

に相当\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、これはスタイル ファイルで変更できます。残念ながら、\preauthorそのコードを使用すると Beamer 3 以降で不明なコマンド エラーが発生します。Beamer に同等の構成要素はありますか?

別のアプローチもある表形式の環境を使用する しかし、これも Beamer では失敗します。

\defbeamertemplate*{title page}{default theme}{...理想的には、ビーマー スタイル ファイルを変更して、メイン ファイルのすべてのトリミングを引き続き使用できるようにしたいのです\author{}が、スライドの他の場所では作成者を使用しないため、メイン ソースで何らかのボックスを使用するソリューションも同様に機能します。

答え1

\beamer@author1 つのオプションは、で定義された内部を再定義して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}

ここに画像の説明を入力してください

関連情報