尝试使用titling
带有该类的包letter
:
\documentclass{letter}
\usepackage{titling}
\title{Title}
\author{Author}
\date{\today}
\begin{document}
\thetitle\par
\theauthor\par
\thedate\par
Text.
\end{document}
导致错误表明它们不兼容:
Undefined control sequence. \if@titlepage Extra \else. \else Extra \fi. \fi Extra \fi.
可以通过以下方式避免这种情况,例如,不调用titling
而是引用\@title
、\@author
和\@date
。
尽管如此,我还是想知道是否有办法修补一些有冲突的类/包定义,以保持使用 提供的宏的可能性titling
?letter
我在类和包的文档中以及 TeX.SX 上都没有找到有关此事的任何信息。
答案1
所有基本文档类(article
,book
和report
), 除了letter
(和minimal
) 定义带有附带条件的标题页选项\if@titlepage
。由于letter
未声明此条件,因此您可以进行干预:
\documentclass{letter}
% Define conditional used by most document classes
\expandafter\newif\csname if@titlepage\endcsname
\usepackage{titling}
\title{A title}
\author{An author}
\date{\today}
\begin{document}
\thetitle\par
\theauthor\par
\thedate\par
Text.
\end{document}