gpt4 book ai didi

latex - 将命令行参数传递给 LaTeX 文档

转载 作者:行者123 更新时间:2023-12-03 07:03:45 26 4
gpt4 key购买 nike

有时,我会定义如下新命令。

\newcommand{\comment}[1]{\textbf{#1}}
%\necommand{\comment}[1]{\emph{#1}}

上述命令使我能够一次性更改部分代码的样式。如果我想生成两种可能的样式,我必须编译 LaTeX 文档两次,每次修改源代码以启用所需的样式。

有没有办法避免在这种情况下修改源代码?也就是说,我可以向 Latex 传递一些命令行参数,以便我可以根据该参数选择要使用的样式吗?

最佳答案

That is, can I pass latex some command-line arguments so that I can choose which style to use based on that argument?

是的。三个选项:

一个

在源文件中写入

\providecommand{\comment}[1]{\emph{#1}}% fallback definition

然后将 LaTeX 文档(“myfile.tex”)编译为

pdflatex (whatever options you need) "\newcommand\comment[1]{\textbf{#1}}\input{myfile}"

两个

或者,

pdflatex "\let\ifmyflag\iftrue\input{myfile}"

然后在源代码中

\ifcsname ifmyflag\endcsname\else
\expandafter\let\csname ifmyflag\expandafter\endcsname
\csname iffalse\endcsname
\fi
...
\ifmyflag
\newcommand\comment[1]{\emph{#1}}
\else
\newcommand\comment[1]{\textbf{#1}}
\fi

甚至

pdflatex "\def\myflag{}\input{myfile}"

\ifdefined\myflag
\newcommand\comment[1]{\emph{#1}}
\else
\newcommand\comment[1]{\textbf{#1}}
\fi

这可能是最短的,尽管有点脆弱,因为你永远不知道什么时候包可能会在你背后定义 \myflag

关于latex - 将命令行参数传递给 LaTeX 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1465665/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com