Nachschlagen von Zeichenfolgen anhand eines Index

Nachschlagen von Zeichenfolgen anhand eines Index

Ich verwende \pgfplotsinvokeforeach{0,1,2} {...}und würde gerne irgendwie weiterleiten, #1um eine von drei Zeichenfolgen zu erhalten:

  • $s_A$Wenn#1 == 0
  • $s_B$Wenn#1 == 1
  • $s_C$Wenn#1 == 2

Gibt es eine einfache Möglichkeit, dies zu tun? Ich habe versucht, xstrings zu verwenden, \StrMidaber es schlägt fehl und beschwert sich, dass letetwas falsch gemacht wurde.

Antwort1

\pgfplotsinvokeforeachSie können diese auf LaTeX3 basierende Lösung ausprobieren. Ich bin mir jedoch nicht sicher, ob sie in Ihrem Code funktioniert .

\documentclass{article}
\usepackage{expl3}

\ExplSyntaxOn
\newcommand{\intcase}[1]{
  \int_case:nn {#1} {
    {1} {$s\c_math_subscript_token A$}
    {2} {$s\c_math_subscript_token B$}
    {3} {$s\c_math_subscript_token C$}
  }
}
\ExplSyntaxOff

\begin{document}
\intcase{1}\intcase{2}\intcase{3}
\end{document}

Antwort2

\documentclass{article}
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.16}
\newcounter{tmpcnt}
\begin{document}
\pgfplotsinvokeforeach{0,1,2}{%
  \setcounter{tmpcnt}{\numexpr1+#1}$s_{\Alph{tmpcnt}}$}
\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen