代码之家  ›  专栏  ›  技术社区  ›  Mnementh

如何定义输出取决于一个变量的状态在乳胶?

  •  2
  • Mnementh  · 技术社区  · 16 年前

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

    例如,我想要:

    \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的编程语言。有人能解决这个问题吗?

    2 回复  |  直到 16 年前
        1
  •  3
  •   ChrisN    16 年前

    这个 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编程,我建议您获取 The LaTeX Companion . 这是一个很好的参考资料。

        2
  •  2
  •   starblue    16 年前

    可以使用\newif\iffoo声明新条件。 然后\footrue或\foofalse将其设置为“真”或“假”,您可以通过\ifoo使用它…否则…FI。

    还有更多的条件,请参阅TexBook中的第209FF页。