我正在使用一个直接的\pgfplotstabletypeset
。
因为我想在其中一个单元格中插入手动分隔符以减小该单元格的宽度,所以我添加了一个\pbox
如https://tex.stackexchange.com/a/11555
问题是最终的高度对我来说有点太小了:
如您所见,“some”位于单元格的最顶部,“text”位于最底部。我希望在顶部和底部留出一点额外的空间。
我尝试过的方法都没能实现这一点。
有任何想法吗?
以下是显示该问题的最小工作示例:
\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}
伯纳德,谢谢你在下面提出的建议。
然而,当表中出现较长的行时,就会出现问题。
请将以下行添加到您发布的最小工作示例中:
\makecell{some even longer \\ text that spans \\ three lines} & foo \\
这将产生下表:
您说不使用 pgfplotstable 也可以获得相同的结果表。我同意 - 如果您有其他建议,我也很乐意采纳。
给 Paul Gaborit 的注释:我以匿名用户的身份发布了我最初的问题,因此当我回到此页面时,我无法对我自己的评论或任何其他评论发表评论,或者?
答案1
您可以使用makecell
包,而不是\pbox
:该包允许使用其、 和\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}
除了评论之外:您无需使用就可以获得相同的结果表pgfplotstable
。