Estou usando um arquivo \pgfplotstabletypeset
.
Como eu queria inserir uma quebra manual em uma das células para diminuir a largura dessa célula, adicionei um \pbox
conforme sugerido emhttps://tex.stackexchange.com/a/11555
O problema é que a altura resultante é um pouco pequena para o meu gosto:
Como você pode ver, “alguns” está no topo da célula e “texto” na parte inferior. Eu gostaria de ter um pequeno espaço extra na parte superior e inferior.
Não consegui isso com as coisas que tentei.
Alguma ideia?
Aqui está o exemplo mínimo de trabalho que mostra o 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, obrigado pela sugestão que você postou abaixo.
Porém, há um problema quando linhas mais longas estão presentes na tabela.
Adicione a seguinte linha ao exemplo de trabalho mínimo que você postou:
\makecell{some even longer \\ text that spans \\ three lines} & foo \\
Isso resultará na seguinte tabela:
Você disse que a mesma tabela resultante pode ser obtida sem o pgfplotstable. Por mim, tudo bem - se você tiver uma sugestão de como fazer isso de maneira diferente, estou aberto para usá-la também.
Nota para Paul Gaborit: Postei minha pergunta original como usuário anônimo, portanto não posso comentar sozinho ou qualquer outro comentário quando voltar a esta página, ou?
Responder1
Você pode usar o makecell
pacote em vez de \pbox
: este pacote permite quebras de linha nas células da tabela com seus comandos , \makecell
e :\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}
Comentário à parte: você pode obter a mesma tabela resultante sem usar pgfplotstable
.