Поиск строк по индексу

Поиск строк по индексу

Я использую \pgfplotsinvokeforeach{0,1,2} {...}и хотел бы каким-то образом отправить запрос на #1получение одной из трех строк:

  • $s_A$если#1 == 0
  • $s_B$если#1 == 1
  • $s_C$если#1 == 2

Есть ли простой способ сделать это? Я пробовал использовать xstring, \StrMidно он вылетает и жалуется на то, что letделает что-то неправильно.

решение1

Вы можете попробовать это решение на основе LaTeX3. Не уверен, что оно работает \pgfplotsinvokeforeachв вашем коде.

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

решение2

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

введите описание изображения здесь

Связанный контент