Zusätzlicher Abstand in der Zelle durch \pbox in \pgfplotstabletypeset

Zusätzlicher Abstand in der Zelle durch \pbox in \pgfplotstabletypeset

Ich verwende ein unkompliziertes \pgfplotstabletypeset.

Da ich in einer der Zellen einen manuellen Umbruch einfügen wollte, um die Breite dieser Zelle zu verringern, fügte ich ein hinzu, \pboxwie inhttps://tex.stackexchange.com/a/11555

Das Problem ist, dass die resultierende Höhe für meinen Geschmack etwas zu klein ist: Tisch

Wie Sie sehen, steht „some“ ganz oben in der Zelle und „text“ ganz unten. Ich hätte gerne oben und unten etwas mehr Platz.

Mit den Sachen, die ich ausprobiert habe, ist mir das nicht gelungen.

Irgendwelche Ideen?

Hier ist das minimal funktionierende Beispiel, das das Problem zeigt:

\documentclass[11pt,a4paper]{article}

\usepackage{booktabs}
\usepackage{colortbl}
\usepackage{pgfplotstable}
\pgfplotstableset{
    column type=l,
    every head row/.style={
    before row=\toprule,
    after row=\midrule},
    every even row/.style={before row={\rowcolor[gray]{0.85}}},
    every odd row/.style={before row={\rowcolor[gray]{0.95}}},
    every last row/.style={
    after row=\bottomrule},
    col sep = &,
    row sep=\\,
    string type,
}

\usepackage{pbox}

\begin{document}
\begin{table}[h]
\pgfplotstabletypeset{
a & b \\
1 & 2 \\
\pbox[c]{20cm}{some \\ long \\ text} & foo \\
3 & 4 \\
}
\end{table}
\end{document}

Bernard, danke für Ihren Vorschlag, den Sie unten gepostet haben.

Es gibt jedoch ein Problem, wenn die Tabelle längere Zeilen enthält.

Bitte fügen Sie dem von Ihnen geposteten minimal funktionierenden Beispiel die folgende Zeile hinzu:

\makecell{some even longer \\ text that spans \\ three lines}  & foo \\

Als Ergebnis ergibt sich folgende Tabelle:

Bildbeschreibung hier eingeben

Sie sagten, dass die gleiche Ergebnistabelle auch ohne pgfplotstable erreicht werden kann. Das ist für mich in Ordnung – wenn Sie einen Vorschlag haben, wie man es anders machen könnte, bin ich auch offen dafür, diesen zu verwenden.

Anmerkung an Paul Gaborit: Ich habe meine ursprüngliche Frage als anonymer Benutzer gepostet, daher kann ich weder meinen eigenen noch andere Kommentare kommentieren, wenn ich auf diese Seite zurückkomme, oder?

Antwort1

Sie können das makecellPaket anstelle von verwenden: Dieses Paket ermöglicht mit seinen Befehlen , , und \pboxZeilenumbrüche in Tabellenzellen :\makecell\thead\rotcell\rothead

\documentclass[11pt,a4paper]{article}

\usepackage{booktabs}
\usepackage{colortbl}
\usepackage{pgfplotstable}
\pgfplotstableset{
    column type=l,
    every head row/.style={
    before row=\toprule,
    after row=\midrule},
    every even row/.style={before row={\rowcolor[gray]{0.85}}},
    every odd row/.style={before row={\rowcolor[gray]{0.95}}},
    every last row/.style={
    after row=\bottomrule},
    col sep = &,
    row sep=\\,
    string type,
}

\usepackage{makecell}
\renewcommand\cellalign{lc}

\begin{document}
\begin{table}[h]
\pgfplotstabletypeset{
a & b \\
1 & 2 \\
\makecell{some \\ long \\ text} & foo \\
3 & 4 \\
}
\end{table}
\end{document} 

Bildbeschreibung hier eingeben

Anmerkung: Sie können die gleiche Ergebnistabelle erhalten, ohne zu verwenden pgfplotstable.

verwandte Informationen