Das Folgende definiert dir ein Macro, dass deine Tabellen in der von dir gewünschten Syntax liest und ein Macro definiert, um diese auszugeben. Allerdings benötigt auch das Macro zum Tabellendefinieren catcode Änderungen und kann nicht im Argument anderer Macros verwendet werden! Ob dir das Ganze hilft, weiß ich nicht. Die Lösung zum Definieren der Macros ist ähnlich, ähnlich wie in https://texwelt.de/wissen/fragen/23269/pgfplotstable-eine-anzahl-newcommands-automatisch-erstellen https://texwelt.de/wissen/fragen/23269/pgfplotstable-eine-anzahl-newcommands-automatisch-erstellen, allerdings verwende ich hier `expl3`, um mir das Leben ein wenig zu vereinfachen:
\documentclass[border=5mm]{standalone}
\usepackage{pgfplotstable}
\usepackage{xparse}
\ExplSyntaxOn
\cs_new_protected:Npx \cis_replace_verb_newline:Nn #1 #2
{
\tl_replace_all:Nnn #1 { \char_generate:nn { 13 } { 12 } } { #2 }
}
\cs_new_protected:Npx \cis_replace_verb_newline_newline:Nn #1 #2
{
\tl_replace_all:Nnn #1
{ \char_generate:nn { 13 } { 12 } \char_generate:nn { 13 } { 12 } } { #2 }
}
\cs_new_protected:Npn \cis_process_verb_newline:nnn #1 #2 #3
{
\tl_set:Nn \ProcessedArgument { #3 }
\cis_replace_verb_newline_newline:Nn \ProcessedArgument { #2 }
\cis_replace_verb_newline:Nn \ProcessedArgument { #1 }
}
\cs_new_protected:Npn \cis_def_tabelle_inner:Nn #1 #2
{
\scantokens{\pgfplotstableread[row~sep=\\]{#2}}#1
}
\cs_generate_variant:Nn \cis_def_tabelle_inner:Nn { cn }
\int_new:N \cis_tabellen_int
\NewDocumentCommand \DefTabelle
{
m
>{ \cis_process_verb_newline:nnn { \\ } { \\\\ } } +v
}
{
\int_incr:N \cis_tabellen_int
\cis_def_tabelle_inner:cn { CisTab \int_use:N \cis_tabellen_int } { #2 }
\cs_set:Npx #1
{
\exp_not:N \pgfplotstabletypeset [ MyStyle ]
{
\exp_after:wN \exp_not:N
\cs:w CisTab \int_use:N \cis_tabellen_int \cs_end:
}
}
}
\ExplSyntaxOff
\pgfplotstableset{MyStyle/.style={string type}}
\DefTabelle \TabelleI
{
p q
4 5
6 7
}
\begin{document}
\TabelleI
\end{document}