Wie wende ich am z.B. column type/.add={>{\scriptsize}}{} auf die 1. und 3. Spalte an, so dass ich das nicht überall einzeln dazuschreiben muss?

alt text

Open in Online-Editor
\documentclass[varwidth, border=2pt]{standalone}
%\documentclass[paper=a5]{scrartcl}
\usepackage{pgfplotstable}
\usepackage{filecontents}

\begin{document}
\begin{filecontents}{kTest.txt}
1  2  3
4  5  6
\end{filecontents}

\pgfplotstableset{%%%
%col sep = {,},
%row sep={\\},
string type, 
columns/0/.style = {column name=X,column type/.add={>{\scriptsize}}{}},
columns/1/.style = {column name=Y},
columns/2/.style = {column name=Z, column type/.add={>{\scriptsize}}{}},
}%%%
\pgfplotstabletypeset[
columns={0,1,2},
]{kTest.txt}

\end{document}

gefragt 16 Jan '16, 21:02

cis's gravatar image

cis
9.5k93459491
Akzeptiert-Rate: 29%

bearbeitet 16 Jan '16, 21:04


Einfach einen neuen .code-Key anlegen, der eine foreach-Schleife über die angegebenen Spalten ausführt (muss ungrouped sein, damit sich Änderungen in \pgfplotstableset global auswirken).

Open in Online-Editor
\documentclass[varwidth, border=2pt]{standalone}
\usepackage{pgfplotstable}
\usepackage{filecontents}

\begin{document}
\begin{filecontents}{kTest.txt}
1  2  3
4  5  6
\end{filecontents}

\pgfplotstableset{
  foreach column append style/.code 2 args = {
    \pgfplotsforeachungrouped \col in {#1} {
      \pgfplotstableset{
        /pgfplots/table/columns/\col/.append style = {#2}
      }
    }
  }
}

\pgfplotstableset{
  string type, 
  columns/0/.style = {column name=X},
  columns/1/.style = {column name=Y},
  columns/2/.style = {column name=Z},
  foreach column append style={0,2}{column type/.add={>{\scriptsize}}{}}
}
\pgfplotstabletypeset[
columns={0,1,2},
]{kTest.txt}

\end{document}

alt text

Permanenter link

beantwortet 17 Jan '16, 17:30

Henri's gravatar image

Henri
15.7k133943
Akzeptiert-Rate: 46%

Ähm, kann das sein, dass wenn /pgfplots/table/columns/\col/.append style = {#2} selbst den Laufindex enthält nicht mehr funktioniert? Ich habe jetzt foreach column append style={0,2}{column type/.add={>{\col\col\col}}{}} getestet. Ich bekomme dann nur das letzt Schleifenelement. Kann man da irgendwas machen?

(19 Okt '18, 19:56) cis
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×39

gestellte Frage: 16 Jan '16, 21:02

Frage wurde gesehen: 7,283 Mal

zuletzt geändert: 19 Okt '18, 20:14