如何在编译时设置文档选项?

如何在编译时设置文档选项?

可能重复:
条件编译和 \documentclass
向文档传递参数
通过 makefile 更改 LaTeX 标头

我正在为 LaTeX 文档设置Rakefile,并且希望能够使用此脚本构建文档的不同版本,而无需更改 LaTeX 源。我想更改的两个不同选项是:

\documentclass[draft]{memoir}

可以改为:

\documentclass[final]{memoir}

通过调用不同的目标。是否可以在编译时动态更改这些?我正在使用,xelatex看看这是否有任何区别。

答案1

步骤1

创建一个批处理文件如下,并将其命名batch.bat为例如。

rem batch.bat takes file name without extension and the mode.
rem for example you can execute as follows.
rem batch yourtexfile final
rem or
rem batch yourtexfile draft
echo off
xelatex "\def\mode{%2}\input{%1.tex}"
acrord32 %1.pdf

第2步

创建一个输入文件,yourtexfile.tex例如将其命名。

\documentclass[\mode]{article}
\usepackage[english]{babel}
\usepackage{blindtext}
\begin{document}
\Blinddocument
\end{document}

步骤3

通过提供文件名和模式来执行批处理,如下所示。

在此处输入图片描述

相关内容