Estoy usando un sencillo \pgfplotstabletypeset
.
Como quería insertar un salto manual en una de las celdas para disminuir el ancho de esa celda, agregué un \pbox
como se sugiere enhttps://tex.stackexchange.com/a/11555
El problema es que la altura resultante es demasiado pequeña para mi gusto:
Como puede ver, "algunos" está en la parte superior de la celda y "texto" en la parte inferior. Me gustaría tener un pequeño espacio extra en la parte superior e inferior.
No pude lograr esto con las cosas que probé.
¿Algunas ideas?
Aquí está el ejemplo de trabajo mínimo que muestra el problema:
\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, gracias por la sugerencia que publicaste a continuación.
Sin embargo, existe un problema cuando hay líneas más largas en la tabla.
Agregue la siguiente fila al ejemplo de trabajo mínimo que publicó:
\makecell{some even longer \\ text that spans \\ three lines} & foo \\
Esto dará como resultado la siguiente tabla:
Dijiste que se puede obtener la misma tabla resultante sin pgfplotstable. Por mí está bien. Si tienes alguna sugerencia sobre cómo hacerlo de manera diferente, también estoy abierto a usarla.
Nota para Paul Gaborit: publiqué mi pregunta original como usuario anónimo, por lo que no puedo comentar ni yo ni ningún otro comentario cuando vuelva a esta página, ¿o?
Respuesta1
Puede usar el makecell
paquete, en lugar de \pbox
: este paquete permite saltos de línea en las celdas de la tabla con sus \makecell
comandos \thead
, \rotcell
y \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}
Comentario aparte: puedes obtener la misma tabla resultante sin usar pgfplotstable
.