我正在编写内部文档的修改版本report.cls
,其中可能包含标准免责声明文本。理想情况下,我希望有类似的东西,
\disclaimer{some category}{some entity}
当标题页存在时,在标题页上插入文本。
这是我尝试过的(但没有效果):
\documentclass[10pt,letterpaper]{myclass}
\newcommand{\@disclaimer}[2]{\parbox[b]{0.9\textwidth}{Some legal text referencing
category #1 asserted by person #2}}
\begin{document}
\title{My title}
\author{me}
\date{\today}
\disclaimer{123.4}{Attourney Bob} % if this is omitted
%%% Set up the new titlepage format
\newlength{\titlevsep}
\setlength{\titlevsep}{0.6in}
\def\and{\\[0.25\titlevsep]and\\[0.25\titlevsep]}
\renewcommand*{\maketitle}{%
\begin{titlepage}
\centering
\includegraphics[scale=1.0]{../graphics/company_seal.png}\par
\vspace{\titlevsep}
{\huge\bfseries\@title\unskip\strut\par}
\vspace{\titlevsep}
{\large\begin{tabular}[t]{c}\@author\end{tabular}\par}
\vspace{\titlevsep}
{\large \@date\par}
\vfill
\@disclaimer
\end{titlepage}
}
\maketitle
\section{Important stuff}
blah blah blah ...
\end{document}
我认为我需要一些类似的东西,\global\let\@disclaimer\@empty
一旦我让它工作起来,它就不会在编译时死掉,即使\disclaimer
缺少了。我确信我在这里遗漏了一些简单的东西,但我不知道具体是什么。
答案1
在你的课程文件中你应该有类似的内容
\let\@disclaimer\@empty % initialize to empty
\newcommand{\disclaimer}[2]{%
\gdef\@disclaimer{%
\parbox[b]{0.9\textwidth}{%
Some legal text referencing
category #1 asserted by person #2%
}%
}%
}
然后在定义标题页处理的部分
\vfill
\@disclaimer
\end{titlepage}
就像你现在一样。
\disclaimer
如果该命令未在实际文档中使用,则这将不执行任何操作,因为它已被初始化为\@empty
,扩展为无。