我有一些标准文本,但它的某些部分是不同的。但是在这些不同的部分中只有少数存在。

例如我想:

\mytext{...}{a}

\mytext{...}{b}

产生:

\section{Item: ...}\label{item...}
This is a standard item. Items of type a are very precious.

\section{Item: ...}\label{item...}
This is a standard item. Items of type b are cheap.

一个简单的解决方案就是定义命令mytexta和mytextb,但是由于我有更多选项,我想要更多像if或switch编程语言。有没有人解决这个问题?

有帮助吗?

解决方案

ifthen 包(包含在标准LaTeX安装中)定义了一个命令 \ ifthenelse ,使用如下:

\usepackage{ifthen}
\ifthenelse{test}{then-code}{else-code}

所以你可以做类似的事情:

\newcommand\mytext[1]{%
    \ifthenelse{\equal{#1}{a}}{very precious}{%
    \ifthenelse{\equal{#1}{b}}{cheap}{unknown}}}

对于LaTeX编程,我建议您获取 LaTeX Companion 。对于这些东西来说,这是一个非常好的参考。

其他提示

您可以使用\ newif \ iffoo声明新条件。 然后\ footrue或\ foofalse将其设置为true或false,您可以通过\ iffoo ... \ else ... \ fi使用它。

有更多条件,请参阅TeXbook中的第209页。

scroll top