Pergunta

Eu tenho alguns textos padrão, mas parte dele é diferente. Mas dessas partes diferentes, apenas alguns existem.

Por exemplo, eu quero:

\mytext{...}{a}

\mytext{...}{b}

Que produz:

\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.

Uma solução simples para isso seria definir comandos mytexta e mytextb, mas como tenho mais opções, quero mais algo como um IF ou switch nas linguagens de programação. Alguém tem uma solução para esse problema?

Foi útil?

Solução

o ifthen o pacote (que está incluído em uma instalação padrão de látex) define um comando \ifthenelse, que é usado assim:

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

Então você pode fazer algo semelhante a:

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

Para programação de látex, eu recomendo obter uma cópia de O companheiro de látex. É uma referência muito boa para essas coisas.

Outras dicas

Você pode usar newif iffoo para declarar uma nova condição. Então footrue ou foofalse o define como verdadeiro ou falso, e você pode usá -lo por iffoo ... else ... fi.

Existem mais condicionais, consulte as páginas 209ff no Texbook.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top