对于致力于在完整 LaTeX 文档中协作编辑讲义的 wiki 站点,我想在生成的 PDF 文件的第一页上添加一个包含元信息的框——这是受到 arXiv.org 所做的启发。
我更喜欢使用 LaTeX 创建框,但避免必须机械地将其注入现有的 LaTeX 代码中。
什么是最强大和最干净的方法?
答案1
一种选择是使用background
包;使用其some
选项,页面中不会放置任何材料;材料将仅显示在您调用的那些页面中\BgThispage
(在您的情况下,在第一页的某个位置)。材料属性(颜色、位置、不透明度等)可以高度自定义;一个小例子:
\documentclass{article}
\usepackage[some]{background}
\usepackage{lipsum}
\SetBgContents{Some Additional Information -- \today}
\SetBgColor{gray}
\SetBgOpacity{1}
\SetBgScale{2}
\SetBgAngle{90}
\SetBgPosition{current page.west}
\SetBgVshift{-1.8cm}
\SetBgHshift{-1cm}
\title{The Title}
\author{The Author}
\begin{document}
\maketitle
\BgThispage
\begin{abstract}
\lipsum[4]
\end{abstract}
\lipsum[1-13]
\end{document}
前两页的图片:
答案2
与 Gonzalo 的答案完全相同,但您无需修改原始 tex 文件,只需将\input
其修改为添加背景的文件即可。 (如果您只关心不必手动编辑原始文档,我不知道这对您来说是否是一个可行的解决方案?)
因此,q65980-maindoc.tex
对背景一无所知:
\documentclass{article}
\usepackage{lipsum}
\title{The Title}
\author{The Author}
\begin{document}
\maketitle
\begin{abstract}
\lipsum[4]
\end{abstract}
\lipsum[1-13]
\end{document}
您将得到一个名为q65980-with-background.tex
say 的新文件,其内容如下:
\RequirePackage[some]{background}
\SetBgContents{Some Additional Information -- \today}
\SetBgColor{gray}
\SetBgOpacity{1}
\SetBgScale{2}
\SetBgAngle{90}
\SetBgPosition{current page.west}
\SetBgVshift{-1.8cm}
\SetBgHshift{-1cm}
\AtBeginDocument{\BgThispage}
\input{q65980-maindoc}
这似乎有效,至少在 Gonzalo 的例子中是如此,但我不能保证它有多强大。在您的真实示例中尝试一下,看看效果如何?
保存 PDF 中的注释和超链接等内容的唯一方法是以类似于此的方式重新处理原始文档的源(而不仅仅是包含编译的 PDF),因为 PDF 注释不能轻易地从一个 PDF 复制到另一个 PDF。