我需要创建大量(比如说 20 个)略有不同的 PDF 文档版本,这些版本来自一个 LaTeX 文档。
我设想的是某种自定义标签,在将文档编译为 PDF 时对其进行解释。对于文档 #1,某个“custom1”标签内的文本将被隐藏(好像它只是代码注释),但其他所有内容都将显示。对于 PDF #2,“custom2”标签内的文本将被隐藏。依此类推,直到 #20。
我的问题与这一,除非提问者只想创建两个 PDF 文档,而且我认为答复通常只适用于该二进制文件。
答案1
以下是一些选项创建具有条件内容的文档。不过,我认为你想要的是包multiaudience
:
- 您可以在文档中设置受众并进行编译(创建 1 个 pdf)
- 您可以为所有定义的受众运行批量编译(创建所有 pdf)
- 看它的手册了解详情
这是一个简单的例子:
\documentclass[10pt,a4paper]{article}
\usepackage{multiaudience}
% ~~~ define all audiences ~~~~~~~~~
\SetNewAudience{cust1}
\SetNewAudience{cust2}
\SetNewAudience{cust3}
% ~~~ select the current one for this compile ~~~
% (or use the commandline option)
\DefCurrentAudience{cust1} % <<< cust1, cust2, cust3
\begin{document}
\begin{shownto}{cust1}
(+) This is visible to cust1 only.
\end{shownto}
\begin{shownto}{cust2}
(++) This is visible to CUst2 only.
\end{shownto}
\begin{shownto}{cust3}
(+++) This is visible to cuST3 only.
\end{shownto}
This is visible to all audiences.
\begin{shownto}{-,cust3}
(**) This is visible to all, but not cuST3.
\end{shownto}
\end{document}
其\DefCurrentAudience{cust1}
编译结果如下:
其\DefCurrentAudience{cust2}
编译结果如下:
其\DefCurrentAudience{cust3}
编译结果如下:
请注意,我将客户受众和合法受众数量可视化( )
。
附言
您可能想要添加并尝试例如:
\begin{shownto}{-,cust3,cust1}
(*) This is visible to all, but not cuST3 and cust1.
\end{shownto}