我在表格中对齐文本时遇到问题。这是我的示例:
\documentclass{article}
\begin{document}
\begin{figure}
\begin{tabular}{| l | p{1.5cm} | p{1.5cm}| }
\hline
& percentage difference & key size increase \\ \hline
N = 90 trials & 2.1 \% & 76 \% \\ \hline
N = 180 trials & 1.3 \% & 40 \% \\ \hline
\end{tabular}
\caption{Caption here.}
\end{figure}
\end{document}
问题是一个带有文本“按键尺寸增加”的单元格,单词“按键”和“尺寸”之间有很大空格,我该如何修复它。
答案1
A\parbox
使其内容对齐。这就是为什么“key”和“size”之间有这么多空格的原因。
我发现在这种情况下表列说明p{<width>}
符非常不令人满意,因为结果列有一个最低限度宽度。
我宁愿使用以下解决方案之一手动插入换行符:
\lbCell
tabular
:仅存在一列的内部(我更喜欢c
输入的标题),\pCell
: a\pbox[<vertical alignment>]{<maximum width>}{<content>}
.
该\pbox
宏由pbox
包装。生成的盒子会折叠至所需的最小宽度。
两个宏的第一个可选参数表示插入符/\*Cell
的垂直对齐方式,默认情况下是op。tabular
pbox
t
与您的问题无关,我也使用booktabs
提供更具吸引力的输出(这么多行!)你的表格。
代码
\documentclass{article}
\usepackage{booktabs}
\newcommand*{\lbCell}[2][t]{%
\begin{tabular}[#1]{@{}c@{}}%
#2%
\end{tabular}%
}
\usepackage{pbox}
\newcommand*{\pCell}[2][t]{% needs manual line-breaks!
\pbox[#1]{\linewidth}{#2\strut}%
}
\begin{document}
\begin{tabular}{lcc}
\toprule
& \lbCell{percentage\\difference} & \lbCell{key size\\increase} \\ \midrule
$N = \hphantom{1}90$ trials & 2.1 \% & 76 \% \\
$N = 180$ trials & 1.3 \% & 40 \% \\ \bottomrule
\end{tabular}
\begin{tabular}{lcc}
\toprule
& \pCell{percentage\\difference} & \pCell{key size\\increase} \\ \midrule
$N = \hphantom{1}90$ trials & 2.1 \% & 76 \% \\
$N = 180$ trials & 1.3 \% & 40 \% \\ \bottomrule
\end{tabular}
\end{document}
输出
答案2
array
一个解决方法是通过输入\usepackage{array}
前言然后将>{\raggedright\arraybackslash}
其放在p{1.5cm}
最后一列中来加载包。
这是输出。
另一个选择是定义newcolumntype
像我下面所做的那样。
\documentclass{article}
\usepackage{array}
\newcolumntype{L}{>{\raggedright\arraybackslash}p{1.5cm}}
\begin{document}
\begin{figure}
\centering
\begin{tabular}{| l | p{1.5cm} | L| }
\hline
& percentage difference & key size increase \\ \hline
N = 90 trials & 2.1 \% & 76 \% \\ \hline
N = 180 trials & 1.3 \% & 40 \% \\ \hline
\end{tabular}
\caption{Caption here.}
\end{figure}
\end{document}
答案3
虽然这会导致轻微的对齐问题,但我会将您的文本放在parbox
:
\parbox{1.5cm}{\raggedright{}key size increase}
在我看来,您使用列样式的唯一原因p{1.5cm}
是为列标题创建一个框。我会采用不同的方法,方法是编写
\documentclass{article}
\begin{document}
\begin{figure}
\begin{tabular}{| l | c | c | }
\hline
\rule[-0.5ex]{0pt}{0.5ex} & \parbox[b]{1.5cm}{\raggedright{}percentage difference} & \parbox[b]{1.5cm}{\raggedright key size increase} \\ \hline
N = 90 trials & 2.1 \% & 76 \% \\ \hline
N = 180 trials & 1.3 \% & 40 \% \\ \hline
\end{tabular}
\caption{Caption here.}
\end{figure}
\end{document}
这样,我就创建了两个parboxes
在基线上对齐的框。这样\rule[-0.5ex]{0pt}{0.5ex}
就创建了一个垂直支柱,这样框就不会离hline
它们下面的框太近了。