假设我有几个作者,我已经通过\author
latex-beamer 中的命令声明了它们,例如
\author{Einstein \and Podolsky \and Rosen}
我想知道是否有办法访问个人姓名,例如
authors[0] == "Einstein"
authors[1] == "Podolsky"
authors[2] == "Rosen"
我想在会议海报底部显示所有姓名以及相应的联系信息二维码。当然,我可以重新输入姓名,但我想这是一种不太优雅的方式。
答案1
允许etoolbox
您处理由 catcode 3 分隔的列表|
。如果您转换\and
为,|
则可以将作者作为列表处理。对于不重新定义的类,\author
以下内容应该有效。
\documentclass{article}
\usepackage{etoolbox}
\author{Einstein \and Podolsky \and Rosen}
\makeatletter
\begingroup
\catcode`|=3\relax
\def\and{|}
\newcounter{@authorCount}
\def\do#1{
\stepcounter{@authorCount}
\csgdef{author\Roman{@authorCount}}{#1}
}
\edef\eauthor{\@author}
\dolistloop{\eauthor}%
\endgroup
\makeatother
\begin{document}
\authorI
\authorII
\authorIII
\end{document}
该类beamer
重新定义\author
,因此您需要\edef\eauthor{\@author}
用替换\edef\eauthor{\beamer@shortauthor}
。