pgfplotstable: 'tablename' auslesen und verwenden
Im Hanbuch heißt es:
<blockquote>`\pgfplotstablename`
During \pgfplotstabletypeset, this macro contains the table's macro name as top-level expansion. If
you are unfamiliar with \top-level-expansions" and `\expandafter', you will probably never need this
macro.
Advances users may benefit from expressions like
`\expandafter\pgfplotstabletypeset\pgfplotstablename`.
For tables which have been loaded from disk (and have no explicitly assigned macro name), this expands
to a temporary macro.
</blockquote>
Ich bekomme innerhalb `\pgfplotstabletypeset` mit `\pgfplotstablename\pgfplotsretval` ein komisches `"test`, für eine mit `\test` benannte Tabelle.
Doch wie kann ich den `\pgfplotstablename` an der Stelle `\of\pgfplotstablename` einsetzen, etwa `\pgfplotstablegetelem{0}{[index]1}\of\pgfplotstablename`?
[![alt text][1]][1]
\documentclass[border=5pt]{standalone}
\usepackage{pgfplotstable}
\pgfplotstableread[header=false]{
A B
1 2
0 2
1 0
0 2
0 2
1 0
}\test
}\TestTable
\begin{document}
% Nullen ersetzen
\pgfplotsinvokeforeach{0,1} {%
\pgfplotstableset{
columns/#1/.style = {
string replace={0}{\pgfplotstablegetelem{0}{[index]#1}\of\test \pgfplotsretval},
}}}%
\pgfplotstabletypeset[string type,
skip rows between index={0}{1},% Benennungszeile ausblenden
every head row/.style={output empty row},% keinen header anzeigen
% geht komisch
columns/0/.style = {
string replace={0}{\pgfplotstablename\pgfplotsretval},
},
% geht nicht
columns/1/.style = {
%string replace={0}{\pgfplotstablegetelem{0}{[index]1}\of\pgfplotstablename}
string replace={0}{\pgfplotstablename \pgfplotsretval
\pgfplotstablegetelem{0}{[index]1}\of\TestTable %<-- use tablename here
\pgfplotsretval
}
},
]{\test}
]{\TestTable}
%Test: \pgfplotstablegetelem{0}{[index]0}\of\test \pgfplotstablegetelem{0}{[index]0}\of\TestTable \pgfplotsretval
%\pgfplotstablegetelem{0}{[index]1}\of\test %\pgfplotstablegetelem{0}{[index]1}\of\TestTable \pgfplotsretval
\end{document}
[1]: https://texwelt.de/wissen/upfiles/55555555_254.png