tufte 文档类与多个作者断开

tufte 文档类与多个作者断开

以下 MWE(或 MNWE)因错误而中断

Extra \fi. <argument> ...rrenvir \else \@badend {tabular}\fi \expandafter \endgroup \if... l.5 \author{You \and me}

删除 \and 命令可以修复此问题。但tufte-book会引发相同的错误。article当然,类似的类则不会,而且如果\and删除了,tufte 类也不会中断。

\documentclass{tufte-handout}
\title{Your Paper}
\author{You \and me}
\date{\today}
\begin{document}
\maketitle
\end{document}

答案1

tufte类没有定义\and。虽然我不能说这是设计使然,还是作者恰好无意中遗漏了它,但我倾向于相信这是作者的设计决定。

如果您必须打印两位作者,那么您将只有有限的选择,例如键入You and MeYou, Me自己动手。如果对此不满意,您将必须定义自己的\and。但为此\and需要额外的细节,例如应该做什么等,我相信,这超出了本文的范围。

答案2

在LaTeX基础上,\and定义如下:

\DeclareRobustCommand\and{%   % \begin{tabular}
  \end{tabular}%
  \hskip 1em \@plus.17fil%
  \begin{tabular}[t]{c}}%     % \end{tabular}

来源:https://github.com/latex3/latex2e/blob/d3601236b649b7b280e32d494eae71d561f869a5/base/ltsect.dtx#L172-L175

并且,同一个文件显示\and用作所有作者的分隔符。我不确定我是否完全理解它,但似乎每个作者都被放在一个单独的表中。

因此,根据项目的不同,您可以尝试复制此定义并使其工作。或者,做一些简单的事情,例如

\author{\noindent{Author 1}\\[3mm] \noindent{Author2}\\[3mm]}

编辑: \author在Tufte类中定义如下:

\let\@author\@empty% suppress default latex.ltx ``no author'' warning
\renewcommand{\author}[2][]{%
  \ifthenelse{\isempty{#2}}{}{\gdef\@author{#2}}%
  \begingroup%
    % TODO store contents of \thanks command
    \renewcommand{\thanks}[1]{}% swallow \thanks contents
    \protected@xdef\thanklessauthor{#2}%
  \endgroup%
  \ifthenelse{\isempty{#1}}%
    {\renewcommand{\plainauthor}{\thanklessauthor}}% use thankless author
    {\renewcommand{\plainauthor}{#1}}% use provided plain-text author
  \ifthenelse{\isundefined{\hypersetup}}%
    {}% hyperref is not loaded; do nothing
    {\hypersetup{pdfauthor={\plainauthor}}}% set the PDF metadata author
}

来源:https://github.com/Tufte-LaTeX/tufte-latex/blob/efb8c8e836890bad71fb5834acdd316ebde6db12/tufte-common.def#L592-L606

相关内容