我需要从我的.tex 文件呈现两个版本的 pdf,一个是 A4 单面格式,另一个是 B5 双面格式。
我通过更改类选项(如果重要的话,我会使用 memoir)并重新渲染文件来实现这一点。有没有更好的方法?
答案1
我经常从单一来源制作不同尺寸的标准和大字体格式的小册子。有几种方法。
如果需要从不同格式中包含或排除某些内容,则可以使用类似comment
或者multiaudience
包。
将参数传递给单个文件
如果你想要一个可以生成多种格式的单个文件,你可以使用类似这样的方法text.tex
,并可选择设置arara
:
% arara: lualatex
% arara: lualatex: { options: ['--jobname=text-largeprint', '\def\largeprint{}\input{text}'] }
\documentclass{scrbook}
\ifdefined\largeprint
\KOMAoptions{paper=A4, oneside, fontsize=16pt, DIV=calc}
\else
\KOMAoptions{paper=B5, twoside, fontsize=10pt, DIV=calc}
\fi
\begin{document}
Text
\end{document}
B5 版本可以正常运行lualatex text.tex
。要在名为的单独文件中生成 A4 版本text-largeprint.pdf
:
$ lualatex --jobname=text-largeprint "\def\largeprint{}\input{text}"
如果在文件开头包含注释,则可以同时运行两个命令:
$ arara text.tex
latexmk
与多个文件一起使用
您还可以创建两个包含所需选项的文件,另一个包含源文本的文件,然后运行latexmk
以同时生成两个版本。这是组织文件的一种方法:
a4.tex
\documentclass[paper=A4, oneside, fontsize=16pt, DIV=calc]{scrbook}
\input{text}
b5.tex
\documentclass[paper=B5, twoside, fontsize=10pt, DIV=calc]{scrbook}
\input{text}
text.tex
\begin{document}
Text
\end{document}
latexmkrc
(告诉latexmk
要编译哪些文件)
@default_files = ('a4.tex', 'b5.tex');
pgfpages
包裹
如果需要保持分页一致,则将 PDF 调整为其他尺寸要容易得多,尽管设计可能看起来有点不对:这已在大字版考试。