2つのテキストから選択できるマクロ

2つのテキストから選択できるマクロ

LaTeX で次のことを実装するにはどうすればよいでしょうか。定義済みの変数 (プリアンブル内) を用意し、これを A と呼びます。

次に、次のようなコマンドを実行します。

  \TwoTexts{Text1}{Text2}

これは次のように実行されます: A=1 の場合は Text1 が表示され、A=2 の場合は Text2 が表示されます。

何かアイデアはありますか? ありがとうございます!

答え1

\Amacro以下は、マクロと という名前のカウンタの両方を含むバージョンです。必要にacntr応じて を再定義する必要がないため、個人的にはカウンタ バージョンの方が好きです。\Amacro

またはそれ以外の場合のテストは1次のように行われます。\ifnum...\fi

ここでは、 以外の値は1に分岐すると想定しましたText2

\documentclass{article}

\newcommand{\Amacro}{1}

\newcommand{\TwoTexts}[2]{%
  \ifnum\Amacro=1\relax%
  #1%
  \else
  #2%
  \fi
}


\newcounter{acntr}
\newcommand{\TwoTextsImproved}[2]{%
 \ifnum\value{acntr}=1\relax
 #1%
 \else
 #2%
 \fi
}

\begin{document}

\setcounter{acntr}{1}

\TwoTexts{You should see this}{Nope, not this}

\renewcommand{\Amacro}{2}
\TwoTexts{You should see this}{Nope, this is it}



\TwoTextsImproved{You should see this}{Nope, not this}
\stepcounter{acntr}

\TwoTextsImproved{You should see this}{Nope, this is it}


\end{document}

ここに画像の説明を入力してください

答え2

\if..不均衡な問題を防ぐために、\else私は次\fiのようにします:\Firstoftwo\Secondoftwo

\documentclass{article}

\newcommand\Firstoftwo[2]{#1}%
\newcommand\Secondoftwo[2]{#2}%

\newcommand\Amacro{1}%
\newcommand\setAmacro[1]{\renewcommand\Amacro{#1}}%

\newcommand{\TwoTexts}{%
  \ifnum\Amacro>1 %
    \expandafter\Secondoftwo
  \else
    \expandafter\Firstoftwo
  \fi
}

\begin{document}

\setAmacro{-3}

\texttt{\string\Amacro} is \Amacro.\\
\TwoTexts{Text in case the value in \texttt{\string\Amacro} is smaller than 1 or equal to 1}%
         {Text in case the value in \texttt{\string\Amacro} is larger than 1}%

\setAmacro{0}

\texttt{\string\Amacro} is \Amacro.\\
\TwoTexts{Text in case the value in \texttt{\string\Amacro} is smaller than 1 or equal to 1}%
         {Text in case the value in \texttt{\string\Amacro} is larger than 1}%

\setAmacro{1}

\texttt{\string\Amacro} is \Amacro.\\
\TwoTexts{Text in case the value in \texttt{\string\Amacro} is smaller than 1 or equal to 1}%
         {Text in case the value in \texttt{\string\Amacro} is larger than 1}%

\setAmacro{2}

\texttt{\string\Amacro} is \Amacro.\\
\TwoTexts{Text in case the value in \texttt{\string\Amacro} is smaller than 1 or equal to 1}%
         {Text in case the value in \texttt{\string\Amacro} is larger than 1}%

\setAmacro{17}

\texttt{\string\Amacro} is \Amacro.\\
\TwoTexts{Text in case the value in \texttt{\string\Amacro} is smaller than 1 or equal to 1}%
         {Text in case the value in \texttt{\string\Amacro} is larger than 1}%

\end{document}

ちなみに、数年前に、\UD@KeepKthOfLArguments任意の数の無制限の引数から任意の無制限の引数を選択できるルーチンを作成しました。このルーチンは、再帰により、TeX のマクロ プログラミングに通常課せられる 9 個の引数制限に縛られません。

このルーチンを使用して、変数/プレースホルダー/マクロ/レジスタなど\choosetextに保持されている数値に応じて、テキスト フレーズを保持する区切りのない引数を選択する別のルーチンを作成できます。\count

\documentclass{article}
\makeatletter
%%=========================================================================
%% Paraphernalia:
%%    \UD@firstoftwo, \UD@secondoftwo, \UD@PassFirstToSecond
%%.........................................................................
\newcommand\UD@firstoftwo[2]{#1}%
\newcommand\UD@secondoftwo[2]{#2}%
\newcommand\UD@PassFirstToSecond[2]{#2{#1}}%
%%-------------------------------------------------------------------------
%% Check whether argument is empty:
%%.........................................................................
%% \UD@CheckWhetherNull{<Argument which is to be checked>}%
%%                     {<Tokens to be delivered in case that argument
%%                       which is to be checked is empty>}%
%%                     {<Tokens to be delivered in case that argument
%%                       which is to be checked is not empty>}%
%%
%% The gist of this macro comes from Robert R. Schneck's \ifempty-macro:
%% <https://groups.google.com/forum/#!original/comp.text.tex/kuOEIQIrElc/lUg37FmhA74J>
%%
%% A concern in his posting is that the argument is hit with \string
%% after some expansions which in edge cases might result in unbalancing
%% surrounding \if..\fi-constructs if the macro is used inside of such
%% \if..\fi-constructs.
%%
%% That challenging concern sickened me. ;-)
%%
%% Therefore I decided to implerment a variant where this cannot happen
%% as expansion is forced by \romannumeral:
%%
%% After the first expansion-step, \string is not applied yet.
%% After the second expansion-step, any possibly disturbing remainders
%% are already removed due to \romannumeral-expansion.
%%
%% No eTeX- or whatsoever extensions. No \if.. .Only \romannumeral,
%% digit 0, space token for terminating \romannumeral-expansion,
%% \string, \expandafter, \UD@firstoftwo, \UD@secondoftwo, {, }.
%%
%% May 20, 2016
%%
%% Ulrich Diez (e-mail: [email protected])
%%
\newcommand\UD@CheckWhetherNull[1]{%
  \romannumeral0\expandafter\UD@secondoftwo\string{\expandafter
  \UD@secondoftwo\expandafter{\expandafter{\string#1}\expandafter
  \UD@secondoftwo\string}\expandafter\UD@firstoftwo\expandafter{\expandafter
  \UD@secondoftwo\string}\expandafter\expandafter\UD@firstoftwo{ }{}%
  \UD@secondoftwo}{\expandafter\expandafter\UD@firstoftwo{ }{}\UD@firstoftwo}%
}%
%%-------------------------------------------------------------------------
%% Keep only the K-th of L consecutive undelimited arguments.
%%   ( IF K < 1 OR K > L just remove L consecutive undelimited arguments. )
%%.........................................................................
%% \UD@KeepKthOfLArguments{<integer number K>}%
%%                        {<integer number L>}%
%%                        {<Tokens to insert before K-th argument>}%
%%                        <L consecutive undelimited arguments>
%%
%% If K >= 1 and K <= L  yields:
%%       <Tokens to insert before K-th argument><K-th undelimited argument>
%% If K < 1 or K > L
%%       (-> there is no K-th argument in the set
%%           of <L consecutive undelimited arguments> )
%% yields:
%%       <Tokens to insert before K-th argument>
%%
%% Examples:
%%
%% X\UD@KeepKthOfLArguments{3}{7}{<Tokens to insert>}{A}{B}{C}{D}{E}{F}{G}X
%% yields: X<Tokens to insert>CX
%%
%% X\UD@KeepKthOfLArguments{5}{2}{<Tokens to insert>}{A}{B}X
%% yields X<Tokens to insert>X
%%
%% X\UD@KeepKthOfLArguments{0}{2}{<Tokens to insert>}{A}{B}X
%% yields X<Tokens to insert>X
%%
%% X\romannumeral0%
%%  \UD@KeepKthOfLArguments{3}{7}{ <Tokens to insert>}{A}{B}{C}{D}{E}{F}{G}X
%% yields: X\romannumeral0 <Tokens to insert>CX
%% yields: X<Tokens to insert>CX
%% In case of embedding the whole thing in other expansion-contexts,
%% you need to have "hit" \romannumeral by only one \expandafter-chain for
%% obtaining the result...
%%
%% January 17, 2005
%%
%% Ulrich Diez (e-mail: [email protected])
%%
\newcommand\UD@KeepKthOfLArguments[2]{%
  \expandafter\UD@KeepKthOfLArgumentsA
  \expandafter{\romannumeral\number\number#1 000\expandafter}%
  \expandafter{\romannumeral\number\number#2 000}%
}%
\newcommand\UD@KeepKthOfLArgumentsA[3]{%
  \UD@CheckWhetherNull{#1}{%
    \UD@RemoveNArguments{#2}{#3}{}%
  }{%
    \expandafter\UD@PassFirstToSecond
    \expandafter{%
    \UD@firstoftwo{}#1}{\UD@KeepKthOfLArgumentsB{#1}{#2}}{#2}{#3}%
  }%
}%
\newcommand\UD@KeepKthOfLArgumentsB[5]{%
  \UD@CheckWhetherNull{#1}{%
     \UD@RemoveNArguments{#3}{\UD@RemoveNArguments{#2}{#5}}{}%
  }{%
    \UD@CheckWhetherNull{#2}{%
      \UD@RemoveNArguments{#4}{#5}{}%
    }{%
      \expandafter\UD@PassFirstToSecond
      \expandafter{%
      \UD@firstoftwo{}#2}{\expandafter\UD@KeepKthOfLArgumentsB
                       \expandafter{%
                       \UD@firstoftwo{}#1}}{#3}{#4}{#5}%
    }%
  }%
}%
\newcommand\UD@RemoveNArguments[3]{%
  \UD@CheckWhetherNull{#1}{#2#3}{%
    \UD@firstoftwo{%
      \expandafter\UD@RemoveNArguments
      \expandafter{\UD@firstoftwo{}#1}{#2}{#3}%
    }%
  }%
}%
%%-------------------------------------------------------------------------
%% A demo-routine:
%%
%% \choosetext{<number>}%
%%            {<Text in case number < 1>}%
%%            {<Text in case number = 1>}%
%%            {<Text in case number = 2>}%
%%            {<Text in case number = 3>}%
%%            {<Text in case number = 4>}%
%%            {<Text in case number = 5>}%
%%            {<Text in case number = 6>}%
%%            {<Text in case number = 7>}%
%%            {<Text in case number = 8>}%
%%            {<Text in case number = 9>}%
%%            {<Text in case number = 10>}%
%%            {<Text in case number = 11>}%
%%            {<Text in case number = 12>}%
%%            {<Text in case number = 13>}%
%%            {<Text in case number = 14>}%
%%            {<Text in case number > 14>}%
%%
%% The <number>-argument can hold anything that _expands_ to the components
%% of a quantity that is subsumable under the term <number> which is
%% explained in Donald E. Knuth's The TeXbook, Chapter 24: Summary of
%% Vertical Mode.
%%
%% Therefore <number> can as well be a macro-token expanding to a digit-
%% sequence, or a \the-call to a \count-register.
%%
%% January 24, 2017
%%
%% Ulrich Diez (e-mail: [email protected])
%%
%%.........................................................................
\newcommand\choosetext[1]{%
  \romannumeral0%
  \UD@KeepKthOfLArguments{\ifcase\expandafter\UD@firstoftwo
                                 \expandafter{\number\ifnum#1<1 0\else#1\fi}{} %
                          1\or2\or3\or4\or5\or6\or7\or8\or
                          9\or10\or11\or12\or13\or14\or15\else16\fi}%
                         {16}%
                         { }%
}%
%%-------------------------------------------------------------------------
%% A "variable" \Amacro and the routine \setAmacro for setting it's value.
%%.........................................................................
\newcommand\Amacro{1}%
\newcommand\setAmacro[1]{\renewcommand\Amacro{#1}}%
\makeatother

\begin{document}

The \verb|<number>|-argument of \verb|\choosetext| can hold anything that
expands to the components of a quantity that is subsumable under the term
\verb|<number>| which is explained in Donald E. Knuth's The TeXbook,
Chapter 24: Summary of Vertical Mode.
\bigskip

Thus the \verb|<number>|-argument of \verb|\choosetext| can hold a sequence
of digits, e.g., the digit \verb|5|:
\bigskip

\choosetext{5}{Text in case number is smaller than 1}%
              {Text in case number is 1}%
              {Text in case number is 2}%
              {Text in case number is 3}%
              {Text in case number is 4}%
              {Text in case number is 5}%
              {Text in case number is 6}%
              {Text in case number is 7}%
              {Text in case number is 8}%
              {Text in case number is 9}%
              {Text in case number is 10}%
              {Text in case number is 11}%
              {Text in case number is 12}%
              {Text in case number is 13}%
              {Text in case number is 14}%
              {Text in case number is larger than 14}%
\bigskip

The \verb|<number>|-argument of \verb|\choosetext| can as well hold a
macro-token which serves as variable/placeholder for numerical values.

\bigskip

\setAmacro{17}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{Text in case number is smaller than 1}%
                   {Text in case number is 1}%
                   {Text in case number is 2}%
                   {Text in case number is 3}%
                   {Text in case number is 4}%
                   {Text in case number is 5}%
                   {Text in case number is 6}%
                   {Text in case number is 7}%
                   {Text in case number is 8}%
                   {Text in case number is 9}%
                   {Text in case number is 10}%
                   {Text in case number is 11}%
                   {Text in case number is 12}%
                   {Text in case number is 13}%
                   {Text in case number is 14}%
                   {Text in case number is larger than 14}%

\hrulefill

\setAmacro{15}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{Text in case number is smaller than 1}%
                   {Text in case number is 1}%
                   {Text in case number is 2}%
                   {Text in case number is 3}%
                   {Text in case number is 4}%
                   {Text in case number is 5}%
                   {Text in case number is 6}%
                   {Text in case number is 7}%
                   {Text in case number is 8}%
                   {Text in case number is 9}%
                   {Text in case number is 10}%
                   {Text in case number is 11}%
                   {Text in case number is 12}%
                   {Text in case number is 13}%
                   {Text in case number is 14}%
                   {Text in case number is larger than 14}%

\hrulefill

\setAmacro{14}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{Text in case number is smaller than 1}%
                   {Text in case number is 1}%
                   {Text in case number is 2}%
                   {Text in case number is 3}%
                   {Text in case number is 4}%
                   {Text in case number is 5}%
                   {Text in case number is 6}%
                   {Text in case number is 7}%
                   {Text in case number is 8}%
                   {Text in case number is 9}%
                   {Text in case number is 10}%
                   {Text in case number is 11}%
                   {Text in case number is 12}%
                   {Text in case number is 13}%
                   {Text in case number is 14}%
                   {Text in case number is larger than 14}%

\hrulefill

\setAmacro{13}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{Text in case number is smaller than 1}%
                   {Text in case number is 1}%
                   {Text in case number is 2}%
                   {Text in case number is 3}%
                   {Text in case number is 4}%
                   {Text in case number is 5}%
                   {Text in case number is 6}%
                   {Text in case number is 7}%
                   {Text in case number is 8}%
                   {Text in case number is 9}%
                   {Text in case number is 10}%
                   {Text in case number is 11}%
                   {Text in case number is 12}%
                   {Text in case number is 13}%
                   {Text in case number is 14}%
                   {Text in case number is larger than 14}%

\hrulefill

\setAmacro{12}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{Text in case number is smaller than 1}%
                   {Text in case number is 1}%
                   {Text in case number is 2}%
                   {Text in case number is 3}%
                   {Text in case number is 4}%
                   {Text in case number is 5}%
                   {Text in case number is 6}%
                   {Text in case number is 7}%
                   {Text in case number is 8}%
                   {Text in case number is 9}%
                   {Text in case number is 10}%
                   {Text in case number is 11}%
                   {Text in case number is 12}%
                   {Text in case number is 13}%
                   {Text in case number is 14}%
                   {Text in case number is larger than 14}%

\hrulefill

\setAmacro{11}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{Text in case number is smaller than 1}%
                   {Text in case number is 1}%
                   {Text in case number is 2}%
                   {Text in case number is 3}%
                   {Text in case number is 4}%
                   {Text in case number is 5}%
                   {Text in case number is 6}%
                   {Text in case number is 7}%
                   {Text in case number is 8}%
                   {Text in case number is 9}%
                   {Text in case number is 10}%
                   {Text in case number is 11}%
                   {Text in case number is 12}%
                   {Text in case number is 13}%
                   {Text in case number is 14}%
                   {Text in case number is larger than 14}%

\hrulefill

\setAmacro{10}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{Text in case number is smaller than 1}%
                   {Text in case number is 1}%
                   {Text in case number is 2}%
                   {Text in case number is 3}%
                   {Text in case number is 4}%
                   {Text in case number is 5}%
                   {Text in case number is 6}%
                   {Text in case number is 7}%
                   {Text in case number is 8}%
                   {Text in case number is 9}%
                   {Text in case number is 10}%
                   {Text in case number is 11}%
                   {Text in case number is 12}%
                   {Text in case number is 13}%
                   {Text in case number is 14}%
                   {Text in case number is larger than 14}%

\hrulefill

\setAmacro{9}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{Text in case number is smaller than 1}%
                   {Text in case number is 1}%
                   {Text in case number is 2}%
                   {Text in case number is 3}%
                   {Text in case number is 4}%
                   {Text in case number is 5}%
                   {Text in case number is 6}%
                   {Text in case number is 7}%
                   {Text in case number is 8}%
                   {Text in case number is 9}%
                   {Text in case number is 10}%
                   {Text in case number is 11}%
                   {Text in case number is 12}%
                   {Text in case number is 13}%
                   {Text in case number is 14}%
                   {Text in case number is larger than 14}%

\hrulefill

\setAmacro{8}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{Text in case number is smaller than 1}%
                   {Text in case number is 1}%
                   {Text in case number is 2}%
                   {Text in case number is 3}%
                   {Text in case number is 4}%
                   {Text in case number is 5}%
                   {Text in case number is 6}%
                   {Text in case number is 7}%
                   {Text in case number is 8}%
                   {Text in case number is 9}%
                   {Text in case number is 10}%
                   {Text in case number is 11}%
                   {Text in case number is 12}%
                   {Text in case number is 13}%
                   {Text in case number is 14}%
                   {Text in case number is larger than 14}%

\hrulefill

\setAmacro{7}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{Text in case number is smaller than 1}%
                   {Text in case number is 1}%
                   {Text in case number is 2}%
                   {Text in case number is 3}%
                   {Text in case number is 4}%
                   {Text in case number is 5}%
                   {Text in case number is 6}%
                   {Text in case number is 7}%
                   {Text in case number is 8}%
                   {Text in case number is 9}%
                   {Text in case number is 10}%
                   {Text in case number is 11}%
                   {Text in case number is 12}%
                   {Text in case number is 13}%
                   {Text in case number is 14}%
                   {Text in case number is larger than 14}%

\hrulefill

\setAmacro{6}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{Text in case number is smaller than 1}%
                   {Text in case number is 1}%
                   {Text in case number is 2}%
                   {Text in case number is 3}%
                   {Text in case number is 4}%
                   {Text in case number is 5}%
                   {Text in case number is 6}%
                   {Text in case number is 7}%
                   {Text in case number is 8}%
                   {Text in case number is 9}%
                   {Text in case number is 10}%
                   {Text in case number is 11}%
                   {Text in case number is 12}%
                   {Text in case number is 13}%
                   {Text in case number is 14}%
                   {Text in case number is larger than 14}%

\hrulefill

\setAmacro{5}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{Text in case number is smaller than 1}%
                   {Text in case number is 1}%
                   {Text in case number is 2}%
                   {Text in case number is 3}%
                   {Text in case number is 4}%
                   {Text in case number is 5}%
                   {Text in case number is 6}%
                   {Text in case number is 7}%
                   {Text in case number is 8}%
                   {Text in case number is 9}%
                   {Text in case number is 10}%
                   {Text in case number is 11}%
                   {Text in case number is 12}%
                   {Text in case number is 13}%
                   {Text in case number is 14}%
                   {Text in case number is larger than 14}%

\hrulefill

\setAmacro{4}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{Text in case number is smaller than 1}%
                   {Text in case number is 1}%
                   {Text in case number is 2}%
                   {Text in case number is 3}%
                   {Text in case number is 4}%
                   {Text in case number is 5}%
                   {Text in case number is 6}%
                   {Text in case number is 7}%
                   {Text in case number is 8}%
                   {Text in case number is 9}%
                   {Text in case number is 10}%
                   {Text in case number is 11}%
                   {Text in case number is 12}%
                   {Text in case number is 13}%
                   {Text in case number is 14}%
                   {Text in case number is larger than 14}%

\hrulefill

\setAmacro{3}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{Text in case number is smaller than 1}%
                   {Text in case number is 1}%
                   {Text in case number is 2}%
                   {Text in case number is 3}%
                   {Text in case number is 4}%
                   {Text in case number is 5}%
                   {Text in case number is 6}%
                   {Text in case number is 7}%
                   {Text in case number is 8}%
                   {Text in case number is 9}%
                   {Text in case number is 10}%
                   {Text in case number is 11}%
                   {Text in case number is 12}%
                   {Text in case number is 13}%
                   {Text in case number is 14}%
                   {Text in case number is larger than 14}%

\hrulefill

\setAmacro{2}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{Text in case number is smaller than 1}%
                   {Text in case number is 1}%
                   {Text in case number is 2}%
                   {Text in case number is 3}%
                   {Text in case number is 4}%
                   {Text in case number is 5}%
                   {Text in case number is 6}%
                   {Text in case number is 7}%
                   {Text in case number is 8}%
                   {Text in case number is 9}%
                   {Text in case number is 10}%
                   {Text in case number is 11}%
                   {Text in case number is 12}%
                   {Text in case number is 13}%
                   {Text in case number is 14}%
                   {Text in case number is larger than 14}%

\hrulefill

\setAmacro{1}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{Text in case number is smaller than 1}%
                   {Text in case number is 1}%
                   {Text in case number is 2}%
                   {Text in case number is 3}%
                   {Text in case number is 4}%
                   {Text in case number is 5}%
                   {Text in case number is 6}%
                   {Text in case number is 7}%
                   {Text in case number is 8}%
                   {Text in case number is 9}%
                   {Text in case number is 10}%
                   {Text in case number is 11}%
                   {Text in case number is 12}%
                   {Text in case number is 13}%
                   {Text in case number is 14}%
                   {Text in case number is larger than 14}%

\hrulefill

\setAmacro{0}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{Text in case number is smaller than 1}%
                   {Text in case number is 1}%
                   {Text in case number is 2}%
                   {Text in case number is 3}%
                   {Text in case number is 4}%
                   {Text in case number is 5}%
                   {Text in case number is 6}%
                   {Text in case number is 7}%
                   {Text in case number is 8}%
                   {Text in case number is 9}%
                   {Text in case number is 10}%
                   {Text in case number is 11}%
                   {Text in case number is 12}%
                   {Text in case number is 13}%
                   {Text in case number is 14}%
                   {Text in case number is larger than 14}%

\hrulefill

\setAmacro{-1}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{Text in case number is smaller than 1}%
                   {Text in case number is 1}%
                   {Text in case number is 2}%
                   {Text in case number is 3}%
                   {Text in case number is 4}%
                   {Text in case number is 5}%
                   {Text in case number is 6}%
                   {Text in case number is 7}%
                   {Text in case number is 8}%
                   {Text in case number is 9}%
                   {Text in case number is 10}%
                   {Text in case number is 11}%
                   {Text in case number is 12}%
                   {Text in case number is 13}%
                   {Text in case number is 14}%
                   {Text in case number is larger than 14}%

\end{document}

答え3

Aあなたの"変数") は定数なので、\TwoTexts次のように定義できます。

\newcommand\TwoTexts[2]{#1} % case A = 1
% \newcommand\TwoTexts[2]{#2} % case A = 2

の値を選択するにはA、正しい行のコメントを解除します。

答え4

私はちょうど私の\choosetextルーチンを強化しましたhttps://tex.stackexchange.com/a/350169/118714. これで、変数番号の範囲の下限と上限を指定できます。Heiko Oberdiek の bigintcalc パッケージを使用すると、ルーチンは処理される区切りのない引数の数を計算し、正しい引数を自動的に選択します。

\documentclass{article}
\usepackage{bigintcalc}
\makeatletter
%%=========================================================================
%% Paraphernalia:
%%    \UD@firstoftwo, \UD@secondoftwo, \UD@PassFirstToSecond
%%.........................................................................
\newcommand\UD@firstoftwo[2]{#1}%
\newcommand\UD@secondoftwo[2]{#2}%
\newcommand\UD@PassFirstToSecond[2]{#2{#1}}%
%%-------------------------------------------------------------------------
%% Check whether argument is empty:
%%.........................................................................
%% \UD@CheckWhetherNull{<Argument which is to be checked>}%
%%                     {<Tokens to be delivered in case that argument
%%                       which is to be checked is empty>}%
%%                     {<Tokens to be delivered in case that argument
%%                       which is to be checked is not empty>}%
%%
%% The gist of this macro comes from Robert R. Schneck's \ifempty-macro:
%% <https://groups.google.com/forum/#!original/comp.text.tex/kuOEIQIrElc/lUg37FmhA74J>
%%
%% A concern in his posting is that the argument is hit with \string
%% after some expansions which in edge cases might result in unbalancing
%% surrounding \if..\fi-constructs if the macro is used inside of such
%% \if..\fi-constructs.
%%
%% That challenging concern sickened me. ;-)
%%
%% Therefore I decided to implerment a variant where this cannot happen
%% as expansion is forced by \romannumeral:
%%
%% After the first expansion-step, \string is not applied yet.
%% After the second expansion-step, any possibly disturbing remainders
%% are already removed due to \romannumeral-expansion.
%%
%% No eTeX- or whatsoever extensions. No \if.. .Only \romannumeral,
%% digit 0, space token for terminating \romannumeral-expansion,
%% \string, \expandafter, \UD@firstoftwo, \UD@secondoftwo, {, }.
%%
%% May 20, 2016
%%
%% Ulrich Diez (e-mail: [email protected])
%%
\newcommand\UD@CheckWhetherNull[1]{%
  \romannumeral0\expandafter\UD@secondoftwo\string{\expandafter
  \UD@secondoftwo\expandafter{\expandafter{\string#1}\expandafter
  \UD@secondoftwo\string}\expandafter\UD@firstoftwo\expandafter{\expandafter
  \UD@secondoftwo\string}\expandafter\expandafter\UD@firstoftwo{ }{}%
  \UD@secondoftwo}{\expandafter\expandafter\UD@firstoftwo{ }{}\UD@firstoftwo}%
}%
%%-------------------------------------------------------------------------
%% Keep only the K-th of L consecutive undelimited arguments.
%%   ( IF K < 1 OR K > L just remove L consecutive undelimited arguments. )
%%.........................................................................
%% \UD@KeepKthOfLArguments{<integer number K>}%
%%                        {<integer number L>}%
%%                        {<Tokens to insert before K-th argument>}%
%%                        <L consecutive undelimited arguments>
%%
%% If K >= 1 and K <= L  yields:
%%       <Tokens to insert before K-th argument><K-th undelimited argument>
%% If K < 1 or K > L
%%       (-> there is no K-th argument in the set
%%           of <L consecutive undelimited arguments> )
%% yields:
%%       <Tokens to insert before K-th argument>
%%
%% Examples:
%%
%% X\UD@KeepKthOfLArguments{3}{7}{<Tokens to insert>}{A}{B}{C}{D}{E}{F}{G}X
%% yields: X<Tokens to insert>CX
%%
%% X\UD@KeepKthOfLArguments{5}{2}{<Tokens to insert>}{A}{B}X
%% yields X<Tokens to insert>X
%%
%% X\UD@KeepKthOfLArguments{0}{2}{<Tokens to insert>}{A}{B}X
%% yields X<Tokens to insert>X
%%
%% X\romannumeral0%
%%  \UD@KeepKthOfLArguments{3}{7}{ <Tokens to insert>}{A}{B}{C}{D}{E}{F}{G}X
%% yields: X\romannumeral0 <Tokens to insert>CX
%% yields: X<Tokens to insert>CX
%% In case of embedding the whole thing in other expansion-contexts,
%% you need to have "hit" \romannumeral by only one \expandafter-chain for
%% obtaining the result...
%%
%% January 17, 2005
%%
%% Ulrich Diez (e-mail: [email protected])
%%
\newcommand\UD@KeepKthOfLArguments[2]{%
  \expandafter\UD@KeepKthOfLArgumentsA
  \expandafter{\romannumeral\number\number#1 000\expandafter}%
  \expandafter{\romannumeral\number\number#2 000}%
}%
\newcommand\UD@KeepKthOfLArgumentsA[3]{%
  \UD@CheckWhetherNull{#1}{%
    \UD@RemoveNArguments{#2}{#3}{}%
  }{%
    \expandafter\UD@PassFirstToSecond
    \expandafter{%
    \UD@firstoftwo{}#1}{\UD@KeepKthOfLArgumentsB{#1}{#2}}{#2}{#3}%
  }%
}%
\newcommand\UD@KeepKthOfLArgumentsB[5]{%
  \UD@CheckWhetherNull{#1}{%
     \UD@RemoveNArguments{#3}{\UD@RemoveNArguments{#2}{#5}}{}%
  }{%
    \UD@CheckWhetherNull{#2}{%
      \UD@RemoveNArguments{#4}{#5}{}%
    }{%
      \expandafter\UD@PassFirstToSecond
      \expandafter{%
      \UD@firstoftwo{}#2}{\expandafter\UD@KeepKthOfLArgumentsB
                       \expandafter{%
                       \UD@firstoftwo{}#1}}{#3}{#4}{#5}%
    }%
  }%
}%
\newcommand\UD@RemoveNArguments[3]{%
  \UD@CheckWhetherNull{#1}{#2#3}{%
    \UD@firstoftwo{%
      \expandafter\UD@RemoveNArguments
      \expandafter{\UD@firstoftwo{}#1}{#2}{#3}%
    }%
  }%
}%
%%-------------------------------------------------------------------------
%% \UD@incrementloop{<lower bound>}%
%%                  {<upper bound>}%
%%                  {<count start>}%
%%                  {<tokens to prepend in front of each number except last number>}%
%%                  {<tokens to prepend in front of last number>}%
%%                  {<tokens to prepend at the begnning>}%
%%                  {<tokens to append at the end>}%
%%
%% Examples:
%%   \UD@incrementloop{3}{7}{2}{<Before All>}{<Before Number>}{<Before Last Number>}{<After Last Numbe>r}
%%
%%   -> The range 3..7 contains 7-3+1 consecutive integeral numbers/elements
%%      = 5 consecutive integeral numbers/elements.
%%   -> Gathering 5 consecutive integeral numbers/elements starting with
%%      number/element 2 yields the numbers/elements 2,3,4,5,6.
%%      (You can gather them by iteratively decrementing from 7-3=4 until
%%       reaching -1 while within each iteration before reaching -1
%%       "spitting out" a value and incrementing that value, starting
%%       with value=2.)
%%
%%   -> <Before All><Before Number>2<Before Number>3<Before Number>4<Before Number>5<Before Last Number>6<After Last Number>
%%
%%   ,i.e., with 
%%     <Before All>=\ifcase[<number>] 1}    and
%%     <Before Number>=\or    and
%%     <Before Last Number>=\else    and
%%     <After Last Number>=\fi
%%   yields:
%%
%%   \UD@incrementloop{3}{7}{2}{\ifcase[<number>] 1}{\or}{\else}{\fi}
%%   ->
%%   \ifcase[<number>] 1\or2\or3\or4\or5\else6\fi
%%
\newcommand\UD@incrementloop[3]{%
  \romannumeral0%
  \expandafter\UD@PassFirstToSecond
  \expandafter{\number#3}{%
    \expandafter\expandafter\expandafter\UD@PassFirstToSecond
    \expandafter\expandafter\expandafter{\bigintcalcSub{\number#2}{\number#1}}%
    {\UD@@incrementloop}{}%
  }%
}%
\newcommand\UD@@incrementloop[7]{%
  \ifnum\bigintcalcCmp{0}{#1}=-1 %
    \expandafter\UD@secondoftwo
  \else
    \expandafter\UD@firstoftwo
  \fi
  {%
    \ifnum\bigintcalcCmp{0}{#1}=1 %
      \expandafter\UD@secondoftwo
    \else
      \expandafter\UD@firstoftwo
    \fi
    { #4#2#6#3#7}%
    { #4#2#7}%
  }{%
    \expandafter\expandafter\expandafter\UD@PassFirstToSecond
    \expandafter\expandafter\expandafter{\bigintcalcInc{#3}}%
    {\expandafter\expandafter\expandafter\UD@@incrementloop
    \expandafter\expandafter\expandafter{\bigintcalcDec{#1}}%
    {#2#5#3}}{#4}{#5}{#6}{#7}%
  }%
}%
%%-------------------------------------------------------------------------
%% A demo-routine:
%%
%% \choosetext{<number from variable>}%
%%            {<number denoting lower bound>}%
%%            {<number denoting upper bound>}%
%%            {<Text in case <number from variable> is smaller than <number denoting lower bound> >}%
%%            {<Text in case <number from variable> = <number denoting lower bound> >}%
%%            {<Text in case <number from variable> = <number denoting lower bound>+1 >}%
%%            {<Text in case <number from variable> = <number denoting lower bound>+2 >}%
%%            ...
%%            {<Text in case <number from variable> = <number denoting lower bound>+K >
%%            ...
%%            {<Text in case <number from variable> = <number denoting upper bound>-2 >}%
%%            {<Text in case <number from variable> = <number denoting upper bound>-1 >}%
%%            {<Text in case <number from variable> = <number denoting upper bound> >}%
%%            {<Text in case <number from variable> is larger than <number denoting upper bound> >}%
%%
%% The <number...>-arguments can hold anything that _expands_ to the components
%% of a quantity that is subsumable under the term <number> which is
%% explained in Donald E. Knuth's The TeXbook, Chapter 24: Summary of
%% Vertical Mode.
%%
%% Therefore the <number...>-arguments can as well be a macro-tokens expanding
%% to a digit-sequences, or \the-calls to \count-registers.
%%
%% Due to \romannumeral-expansion the result is delivered within two
%% expansion-steps.
%%
%% January 24, 2017
%%
%% Ulrich Diez (e-mail: [email protected])
%%
%%.........................................................................
\newcommand\choosetext[3]{%
  \romannumeral0%
  \UD@KeepKthOfLArguments{%
    \UD@incrementloop{2}%
                     {\bigintcalcAdd{\bigintcalcSub{\number#3}{\number#2}}{3}}%
                     {2}%
                     {%
                       \ifcase\expandafter\UD@firstoftwo\expandafter{%
                              \number
                              \ifnum\bigintcalcCmp{%
                                \bigintcalcSub{\number#1}{\number#2}%
                              }{0}<0 %
                                \expandafter\UD@firstoftwo
                              \else
                                \expandafter\UD@secondoftwo
                              \fi
                              {0}{%
                                \bigintcalcAdd
                                  {\bigintcalcSub{\number#1}{\number#2}}%
                                  {1}%
                              }%
                            }{} 1%
                     }%
                     {\or}%
                     {\else}%
                     {\fi}%
  }{%
    \bigintcalcAdd{\bigintcalcSub{\number#3}{\number#2}}{3}%
  }{ }%
}%
%%-------------------------------------------------------------------------
%% A "variable" \Amacro and the routine \setAmacro for setting it's value.
%%.........................................................................
\newcommand\Amacro{1}%
\newcommand\setAmacro[1]{\renewcommand\Amacro{#1}}%
\makeatother

\begin{document}

The \verb|<number>|-argument of \verb|\choosetext| can hold anything that
expands to the components of a quantity that is subsumable under the term
\verb|<number>| which is explained in Donald E. Knuth's The TeXbook,
Chapter 24: Summary of Vertical Mode.
\bigskip

Thus the \verb|<number>|-argument of \verb|\choosetext| can hold a sequence
of digits, e.g., the digit \verb|5|:
\bigskip

\choosetext{5}{1}{14}%
           {Text in case number is smaller than 1}%
           {Text in case number is 1}%
           {Text in case number is 2}%
           {Text in case number is 3}%
           {Text in case number is 4}%
           {Text in case number is 5}%
           {Text in case number is 6}%
           {Text in case number is 7}%
           {Text in case number is 8}%
           {Text in case number is 9}%
           {Text in case number is 10}%
           {Text in case number is 11}%
           {Text in case number is 12}%
           {Text in case number is 13}%
           {Text in case number is 14}%
           {Text in case number is larger than 14}%
\bigskip

The \verb|<number>|-argument of \verb|\choosetext| can as well hold a
macro-token which serves as variable/placeholder for numerical values.

\bigskip

\setAmacro{9}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{7}{12}%
           {Text in case number is smaller than 7}%
           {Text in case number is 7}%
           {Text in case number is 8}%
           {Text in case number is 9}%
           {Text in case number is 10}%
           {Text in case number is 11}%
           {Text in case number is 12}%
           {Text in case number is larger than 12}%

\hrulefill

\setAmacro{9}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{4}{8}%
           {Text in case number is smaller than 4}%
           {Text in case number is 4}%
           {Text in case number is 5}%
           {Text in case number is 6}%
           {Text in case number is 7}%
           {Text in case number is 8}%
           {Text in case number is larger than 8}%

\hrulefill

\setAmacro{17}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{1}{14}%
           {Text in case number is smaller than 1}%
           {Text in case number is 1}%
           {Text in case number is 2}%
           {Text in case number is 3}%
           {Text in case number is 4}%
           {Text in case number is 5}%
           {Text in case number is 6}%
           {Text in case number is 7}%
           {Text in case number is 8}%
           {Text in case number is 9}%
           {Text in case number is 10}%
           {Text in case number is 11}%
           {Text in case number is 12}%
           {Text in case number is 13}%
           {Text in case number is 14}%
           {Text in case number is larger than 14}%

\hrulefill

\setAmacro{14}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{1}{14}%
           {Text in case number is smaller than 1}%
           {Text in case number is 1}%
           {Text in case number is 2}%
           {Text in case number is 3}%
           {Text in case number is 4}%
           {Text in case number is 5}%
           {Text in case number is 6}%
           {Text in case number is 7}%
           {Text in case number is 8}%
           {Text in case number is 9}%
           {Text in case number is 10}%
           {Text in case number is 11}%
           {Text in case number is 12}%
           {Text in case number is 13}%
           {Text in case number is 14}%
           {Text in case number is larger than 14}%

\hrulefill

\setAmacro{13}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{1}{14}%
           {Text in case number is smaller than 1}%
           {Text in case number is 1}%
           {Text in case number is 2}%
           {Text in case number is 3}%
           {Text in case number is 4}%
           {Text in case number is 5}%
           {Text in case number is 6}%
           {Text in case number is 7}%
           {Text in case number is 8}%
           {Text in case number is 9}%
           {Text in case number is 10}%
           {Text in case number is 11}%
           {Text in case number is 12}%
           {Text in case number is 13}%
           {Text in case number is 14}%
           {Text in case number is larger than 14}%

\hrulefill

\setAmacro{12}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{1}{14}%
           {Text in case number is smaller than 1}%
           {Text in case number is 1}%
           {Text in case number is 2}%
           {Text in case number is 3}%
           {Text in case number is 4}%
           {Text in case number is 5}%
           {Text in case number is 6}%
           {Text in case number is 7}%
           {Text in case number is 8}%
           {Text in case number is 9}%
           {Text in case number is 10}%
           {Text in case number is 11}%
           {Text in case number is 12}%
           {Text in case number is 13}%
           {Text in case number is 14}%
           {Text in case number is larger than 14}%

\hrulefill

\setAmacro{11}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{1}{14}%
           {Text in case number is smaller than 1}%
           {Text in case number is 1}%
           {Text in case number is 2}%
           {Text in case number is 3}%
           {Text in case number is 4}%
           {Text in case number is 5}%
           {Text in case number is 6}%
           {Text in case number is 7}%
           {Text in case number is 8}%
           {Text in case number is 9}%
           {Text in case number is 10}%
           {Text in case number is 11}%
           {Text in case number is 12}%
           {Text in case number is 13}%
           {Text in case number is 14}%
           {Text in case number is larger than 14}%

\hrulefill

\setAmacro{10}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{1}{14}%
           {Text in case number is smaller than 1}%
           {Text in case number is 1}%
           {Text in case number is 2}%
           {Text in case number is 3}%
           {Text in case number is 4}%
           {Text in case number is 5}%
           {Text in case number is 6}%
           {Text in case number is 7}%
           {Text in case number is 8}%
           {Text in case number is 9}%
           {Text in case number is 10}%
           {Text in case number is 11}%
           {Text in case number is 12}%
           {Text in case number is 13}%
           {Text in case number is 14}%
           {Text in case number is larger than 14}%

\hrulefill

\setAmacro{9}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{1}{14}%
           {Text in case number is smaller than 1}%
           {Text in case number is 1}%
           {Text in case number is 2}%
           {Text in case number is 3}%
           {Text in case number is 4}%
           {Text in case number is 5}%
           {Text in case number is 6}%
           {Text in case number is 7}%
           {Text in case number is 8}%
           {Text in case number is 9}%
           {Text in case number is 10}%
           {Text in case number is 11}%
           {Text in case number is 12}%
           {Text in case number is 13}%
           {Text in case number is 14}%
           {Text in case number is larger than 14}%

\hrulefill

\setAmacro{8}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{1}{14}%
           {Text in case number is smaller than 1}%
           {Text in case number is 1}%
           {Text in case number is 2}%
           {Text in case number is 3}%
           {Text in case number is 4}%
           {Text in case number is 5}%
           {Text in case number is 6}%
           {Text in case number is 7}%
           {Text in case number is 8}%
           {Text in case number is 9}%
           {Text in case number is 10}%
           {Text in case number is 11}%
           {Text in case number is 12}%
           {Text in case number is 13}%
           {Text in case number is 14}%
           {Text in case number is larger than 14}%

\hrulefill

\setAmacro{7}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{1}{14}%
           {Text in case number is smaller than 1}%
           {Text in case number is 1}%
           {Text in case number is 2}%
           {Text in case number is 3}%
           {Text in case number is 4}%
           {Text in case number is 5}%
           {Text in case number is 6}%
           {Text in case number is 7}%
           {Text in case number is 8}%
           {Text in case number is 9}%
           {Text in case number is 10}%
           {Text in case number is 11}%
           {Text in case number is 12}%
           {Text in case number is 13}%
           {Text in case number is 14}%
           {Text in case number is larger than 14}%

\hrulefill

\setAmacro{6}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{1}{14}%
           {Text in case number is smaller than 1}%
           {Text in case number is 1}%
           {Text in case number is 2}%
           {Text in case number is 3}%
           {Text in case number is 4}%
           {Text in case number is 5}%
           {Text in case number is 6}%
           {Text in case number is 7}%
           {Text in case number is 8}%
           {Text in case number is 9}%
           {Text in case number is 10}%
           {Text in case number is 11}%
           {Text in case number is 12}%
           {Text in case number is 13}%
           {Text in case number is 14}%
           {Text in case number is larger than 14}%

\hrulefill

\setAmacro{5}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{1}{14}%
           {Text in case number is smaller than 1}%
           {Text in case number is 1}%
           {Text in case number is 2}%
           {Text in case number is 3}%
           {Text in case number is 4}%
           {Text in case number is 5}%
           {Text in case number is 6}%
           {Text in case number is 7}%
           {Text in case number is 8}%
           {Text in case number is 9}%
           {Text in case number is 10}%
           {Text in case number is 11}%
           {Text in case number is 12}%
           {Text in case number is 13}%
           {Text in case number is 14}%
           {Text in case number is larger than 14}%

\hrulefill

\setAmacro{4}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{1}{14}%
           {Text in case number is smaller than 1}%
           {Text in case number is 1}%
           {Text in case number is 2}%
           {Text in case number is 3}%
           {Text in case number is 4}%
           {Text in case number is 5}%
           {Text in case number is 6}%
           {Text in case number is 7}%
           {Text in case number is 8}%
           {Text in case number is 9}%
           {Text in case number is 10}%
           {Text in case number is 11}%
           {Text in case number is 12}%
           {Text in case number is 13}%
           {Text in case number is 14}%
           {Text in case number is larger than 14}%

\hrulefill

\setAmacro{3}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{1}{14}%
           {Text in case number is smaller than 1}%
           {Text in case number is 1}%
           {Text in case number is 2}%
           {Text in case number is 3}%
           {Text in case number is 4}%
           {Text in case number is 5}%
           {Text in case number is 6}%
           {Text in case number is 7}%
           {Text in case number is 8}%
           {Text in case number is 9}%
           {Text in case number is 10}%
           {Text in case number is 11}%
           {Text in case number is 12}%
           {Text in case number is 13}%
           {Text in case number is 14}%
           {Text in case number is larger than 14}%

\hrulefill

\setAmacro{2}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{1}{14}%
           {Text in case number is smaller than 1}%
           {Text in case number is 1}%
           {Text in case number is 2}%
           {Text in case number is 3}%
           {Text in case number is 4}%
           {Text in case number is 5}%
           {Text in case number is 6}%
           {Text in case number is 7}%
           {Text in case number is 8}%
           {Text in case number is 9}%
           {Text in case number is 10}%
           {Text in case number is 11}%
           {Text in case number is 12}%
           {Text in case number is 13}%
           {Text in case number is 14}%
           {Text in case number is larger than 14}%

\hrulefill

\setAmacro{1}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{1}{14}%
           {Text in case number is smaller than 1}%
           {Text in case number is 1}%
           {Text in case number is 2}%
           {Text in case number is 3}%
           {Text in case number is 4}%
           {Text in case number is 5}%
           {Text in case number is 6}%
           {Text in case number is 7}%
           {Text in case number is 8}%
           {Text in case number is 9}%
           {Text in case number is 10}%
           {Text in case number is 11}%
           {Text in case number is 12}%
           {Text in case number is 13}%
           {Text in case number is 14}%
           {Text in case number is larger than 14}%

\hrulefill

\setAmacro{0}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{1}{14}%
           {Text in case number is smaller than 1}%
           {Text in case number is 1}%
           {Text in case number is 2}%
           {Text in case number is 3}%
           {Text in case number is 4}%
           {Text in case number is 5}%
           {Text in case number is 6}%
           {Text in case number is 7}%
           {Text in case number is 8}%
           {Text in case number is 9}%
           {Text in case number is 10}%
           {Text in case number is 11}%
           {Text in case number is 12}%
           {Text in case number is 13}%
           {Text in case number is 14}%
           {Text in case number is larger than 14}%

\hrulefill

\setAmacro{-1}%
\verb|\Amacro| expands to the number \Amacro:
\choosetext{\Amacro}{1}{14}%
           {Text in case number is smaller than 1}%
           {Text in case number is 1}%
           {Text in case number is 2}%
           {Text in case number is 3}%
           {Text in case number is 4}%
           {Text in case number is 5}%
           {Text in case number is 6}%
           {Text in case number is 7}%
           {Text in case number is 8}%
           {Text in case number is 9}%
           {Text in case number is 10}%
           {Text in case number is 11}%
           {Text in case number is 12}%
           {Text in case number is 13}%
           {Text in case number is 14}%
           {Text in case number is larger than 14}%

\end{document} 

例からの出力

関連情報