Espaçamento extra na célula usando \pbox em \pgfplotstabletypeset

Espaçamento extra na célula usando \pbox em \pgfplotstabletypeset

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 \pboxconforme sugerido emhttps://tex.stackexchange.com/a/11555

O problema é que a altura resultante é um pouco pequena para o meu gosto: mesa

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:

insira a descrição da imagem aqui

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 makecellpacote em vez de \pbox: este pacote permite quebras de linha nas células da tabela com seus comandos , \makecelle :\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} 

insira a descrição da imagem aqui

Comentário à parte: você pode obter a mesma tabela resultante sem usar pgfplotstable.

informação relacionada