使用 class 将文本强制放入文档中

使用 class 将文本强制放入文档中

我正在为我组织的备忘录和报告创建样式表。我需要在使用该样式创建的每个报告中包含免责声明类型的声明。我使用基于基本文章类的类文档 (*.cls)。有没有办法强制声明出现在每份报告中?我不希望它出现在每页上,而是出现在每份文档的开头或结尾,最好出现在结尾。

答案1

etoolbox本试验使用命令AfterPreamble和标准 LaTeX 钩子将语句(包括当前时间、日期、总页数和文件名)设置为第一页的页脚,并为最后一页设置一些类似的内容\AtEndDocument

我发现,应该能够打印语句并使其出现在第一页上\AtBeginDocument

\documentclass{report}

\usepackage{etoolbox} %important for \AfterPreamble
% Eye candy and other commands, only relevant to what
% should be written at begin / end of document.
\usepackage{datetime}%
\usepackage{blindtext}%
\usepackage{xcolor}%
\usepackage{scrpage2}%

\newcounter{TotalPageNumber}%

\newrobustcmd{\WriteBeginDocumentStatement}[1][]{%
\noindent\textbf{\textcolor{blue}{This document with \theTotalPageNumber~page(s) named "\jobname.tex" was generated at
  \currenttime~ on \today} #1}\par
}

\newrobustcmd{\WriteEndDocumentStatement}{%
\noindent\textbf{\textcolor{blue}{End of  "\jobname.tex" at
  \currenttime~ on \today}}\par
}


\AfterPreamble{%
\cfoot{%
\ifnumless{\number\value{page}}{2}{% Only on first page!
\parbox{0.8\textwidth}{%
\WriteBeginDocumentStatement[ -- inserted from \texttt{\(\backslash\)AfterPreamble}]
}}{%
% nothing else
}}
}%

\AtBeginDocument{%
\WriteBeginDocumentStatement[ -- inserted from \texttt{\(\backslash\)AtBeginDocument}]%
}%

\makeatletter
\AtEndDocument{%
\cfoot{%
\WriteEndDocumentStatement}%
\immediate\write\@auxout{\string\setcounter{TotalPageNumber}{\number\value{page}}}
}% 
\makeatother

\pagestyle{scrheadings}

\begin{document}
\blindtext
\newpage
\blindtext[8]
\newpage
\blindtext

\end{document}

在此处输入图片描述

注意:屏幕截图已被裁剪!

相关内容