通过 csname 引用已加载的 pgfplotstable

通过 csname 引用已加载的 pgfplotstable

我希望能够使用\csname来操作之前通过 分配给宏的表\pgfplotstableread。但是,尝试间接使用宏会编译失败。以下是 MWE:

\documentclass{standalone}

\usepackage{pgfplotstable}

\begin{document}

\pgfplotstableread{
  a  b
  1  4
  2  5
  3  6
}{\testTable}

% OK
%\pgfplotstabletypeset{\testTable}

% Fails to compile
\pgfplotstabletypeset{\csname testTable\endcsname}

\end{document}

\pgfplotstabletypeset当尝试编译使用的命令版本时\csname,我收到以下错误:

! Undefined control sequence.
\testTable ->\pgfpl@@ 
                      {a}\pgfpl@@ {b}
l.18 ...stabletypeset{\csname testTable\endcsname}

是否可以以这种方式引用已加载的 pgfplotstable?我还尝试将涉及的命令替换\csname

\newcommand{\myTable}{\testTable}
\pgfplotstabletypeset{\myTable}

只会得到相同类型的错误消息。

答案1

您可以在调用之前构造 csname \pgfplotstabletypeset

\documentclass{standalone}

\usepackage{pgfplotstable}

\begin{document}

\pgfplotstableread{
  a  b
  1  4
  2  5
  3  6
}{\testTable}

% OK
%\pgfplotstabletypeset{\testTable}

% Fails to compile
\expandafter\pgfplotstabletypeset\expandafter{\csname testTable\endcsname}

\end{document}

相关内容