![如何在编译时设置文档选项?](https://linux22.com/image/239219/%E5%A6%82%E4%BD%95%E5%9C%A8%E7%BC%96%E8%AF%91%E6%97%B6%E8%AE%BE%E7%BD%AE%E6%96%87%E6%A1%A3%E9%80%89%E9%A1%B9%EF%BC%9F.png)
我正在为 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
通过提供文件名和模式来执行批处理,如下所示。