我正在用mulitrow创建一个表,但我遇到了问题。据我了解,这是multirow的形式:
\multirow{count}{alignment}{content}
其中count是要合并的行数,对齐方式是l,c,r或*,content是行的内容。我尝试了以下方法:
\multirow{3}{*}{Framing}
但我遇到了问题。我没有看到单元格中的“框架”一词,而是看到“3 * Framing”,它表示\ multirow元素不起作用。有什么想法吗?
另外,如何垂直对齐单元格中的文本?
更新: 我认为\ usepackage {multirow}会解决它,但我仍然看到问题: 首先,我无法进行垂直对齐。 其次,我对“框架”单元格有些奇怪。我得到一个包含字母“l”的虚拟行,然后在两个虚拟行之后得到“框架”这个词,而不是让“框架”对齐到左边!它是这样的:
______________
| l |
| |
| Framing |
| |
| |
| |
| |
______________
对于那些提出这个问题的人来说,这是我的表:
\begin{table*}\tiny
\centering
\begin{tabular}{|c|c|c|c|c|p{2in}|}
\hline
Rule & Factor & Best Value & \Delta_t & \Delta_{do} & Comments \\
\hline
% Diagonal Dominance Rule
\multirow{3}{*}{Diagonal Dominance} & Line Angle & 45 & 15 & 30 & The angle between the prominent line of the object and
the diagonal lines \\ % TODO: What object? Make sure it is clear.
& Line Distance & 0 & 0.25 & 1 & The distance, in screen coordinates, from the
prominent line of the object to the diagonal lines. \\ % TODO: Need to define screen coordinates
& Corner Distances & 0 & 0.1 & 0.7 & The distance, in screen coordinates, from the
end of the prominent line of the object to the corners of the screen. \\
\hline
% Framing Rule
\multirow{4}{l}{Framing} & Left Distance & 0 & ${Frame Width}*5\%$ & ${Frame Width}*25\%$ & The distance between the
left side of the frame covering the object and the left or the right side of the intended frame, whichever closer. \\
& Right Distance & 0 & ${Frame Width}*5\%$ & ${Frame Width}*25\%$ & The distance between the
right side of the frame covering the object and the left or the right side of the intended frame, whichever closer. \\
& Top Distance & 0 & ${Frame Height}*5\%$ & ${Frame Height}*25\%$ & The distance between the
top side of the frame covering the object and the upper or the lower side of the intended frame, whichever closer. \\
& Bottom Distance & 0 & ${Frame Height}*5\%$ & ${Frame Height}*25\%$ & The distance between the
bottom side of the frame covering the object and the upper or the lower side of the intended frame, whichever closer. \\
\hline
\end{tabular}
\caption{The factors of each rule and their parameters.}
\label{table:factors}
\end{table*}
的问候,
Rafid
答案 0 :(得分:5)
1)您是否将\usepackage{multirow}
放在文档的开头?
2)可能有很好的例子可供遵循。我从来没有使用过这个软件包,但是在很短的时间内(秒)就能通过谷歌找到这个PAGE。跟随那个例子一起帮助你吗?
更新:,我不想这么说,但认为你的间距故障是由于“评论”栏中的溢出导致多行。我截断了您的评论并得到了这一点(第1列现在根据需要垂直居中):
\begin{table*}\tiny
\centering
\begin{tabular}{|c|c|c|c|c|p{3cm}|}
\hline
Rule & Factor & Best Value & \Delta_t & \Delta_{do} & Comments \\
\hline
% Diagonal Dominance Rule
\multirow{3}{*}{Diagonal Dominance} & Line Angle & 45 & 15 & 30 & The angle between... \\
& Line Distance & 0 & 0.25 & 1 & The distance, in... \\
& Corner Distances & 0 & 0.1 & 0.7 & The distance, in... \\
\hline
% Framing Rule
\multirow{4}{*}{Framing} & Left Distance & 0 & ${Frame Width}*5\%$ & ${Frame Width}*25\%$ & The distance... \\
& Right Distance & 0 & ${Frame Width}*5\%$ & ${Frame Width}*25\%$ & The distance... \\
& Top Distance & 0 & ${Frame Height}*5\%$ & ${Frame Height}*25\%$ & The distance... \\
& Bottom Distance & 0 & ${Frame Height}*5\%$ & ${Frame Height}*25\%$ & The distance... \\
\hline
\end{tabular}
\caption{The factors of each rule and their parameters.}
\label{table:factors}
\end{table*}
关于{l}参数,我认为我最初发布的链接可能是错误的。当我尝试用l替换\multirow
参数时,LaTeX为我吐出一些错误。我在测试表上得到了这个:
! Missing number, treated as zero.
<to be read again>
l
l.12 \multirow{4}{l}{Batch}
& MM & Min-Min \\
! Illegal unit of measure (pt inserted).
<to be read again>
l
l.12 \multirow{4}{l}{Batch}
& MM & Min-Min \\
在找到THIS之后,我认为\multirow
中的第二个参数不是用于对齐而是用于宽度。 LyX wiki链接说格式是这样的:
\multirow{number of rows}{cell width}{cell entry}
我们一直认为{cell width}是实际的{alignment},我认为之前的链接让人感到困惑。请参阅LyX wiki中有关间距的说明;您可以根据需要使用以下内容进行出价:
\renewcommand{\multirowsetup}{\centering}
并在需要时将\centering
替换为\raggedleft
或\raggedright
。我仍然认为你会遇到多条线路的麻烦。我至少表明放弃它们会使间距按照需要工作......如何强制它们以你的默认示例为中心超出我的范围,我很害怕。但也许现在你知道问题出在哪里了?
我想如果你真的,真的,真的想要你可以分开你的句子,弄清楚需要多少行,并相应地调整你的\multirow
参数以增加行数。虽然您可能还需要嵌套的多行结构:
| | item 1, 2 rows | comment 1 line 1 |
| multirow, 4 rows | | comment 1 line 2 (spill over) |
| | item 2, 2 rows | comment 2 line 1 |
| | | comment 2 line 2 (spill over) |
这有意义吗?第1列将跨越其部分的所有行,后续行将跨越拆分注释所需的行数,并且注释所需的每行(一些占用3或4)将在它们各自的单独行上并且仅出现要连续的。不过,不确定句子间距是否会看起来很奇怪。
努夫漫无边际。有你的思考。
最后一次更新:最后一个希望的方法可能是使用TikZ表。从本质上讲,您的节点就像“单元格”。然后把它们放在一起,使它看起来像一张桌子。也许是一个可怕的提议,但我向你保证,你将拥有所需的所有灵活性,如单元间距等。一些想法:
答案 1 :(得分:2)
狂野猜测:你得到undefined control sequence: multirow
,因为你在序言中缺少\usepackage{multirow}
?
答案 2 :(得分:2)
是的,您需要multirow
包。
\usepackage{multirow}
\begin{document}
\begin{table}
\centering
\begin{tabular}{l||c|r}
Header 1 & Header 2 & Header 3 \\
\multirow{2}{*}{Hello} & stuff & stuff \\
& Body 2 & Body 3
\end{tabular}
\end{table}
\end{document}
编辑后编辑:我有两个错误:
\multirow{4}{l}{Framing}
。我改为\multirow{4}{*}{Framing}
Delta_t
已更改为$Delta_t$
。
否则,一切似乎都很好。您也可以询问tex.stackexchange.com。