LaTeXのステータスを持つ変数に応じて出力を定義する方法は?
-
05-07-2019 - |
質問
標準テキストはいくつかありますが、一部が異なります。しかし、これらの異なる部分のほんの一部しかありません。
たとえば、次のようにします:
\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コンパニオンのコピーを入手することをお勧めします。これは本当に良いリファレンスです。
他のヒント
\ newif \ iffooを使用して、新しい条件を宣言できます。 次に、\ footrueまたは\ foofalseはtrueまたはfalseに設定し、\ iffoo ... \ else ... \ fiで使用できます。
さらに条件があります。TeXbookの209ffページを参照してください。
所属していません StackOverflow