我需要一个longtable
像 HTML 中显示的这样的表格:
但当我使用 时\multirow
, 内的数据\multirow
会在下一个单元格内继续。我尝试过以下方法
\begin{longtable}{|>{\bfseries}p{0.18\textwidth}|>{\bfseries}p{0.1\textwidth}|p{0.18\textwidth}|p{0.18\textwidth}|p{0.18\textwidth}|p{0.18\textwidth}|}
\hline
\multicolumn{2}{|l|}{} & \textbf{QR Codes} & \textbf{PDF417} & \textbf{DataMatrix} & \textbf{Maxi Code} \\
\hline
\multirow{3}{*}{Datacapacity} & Numeric & 7.089 & 2.710 & 3.116 & 138 \\ \cline{2-6}
& Alphanumeric & 4.269 & 1.850 & 2.355 & 93 \\ \cline{2-6}
& Bytes & 2.953 & 1.018 & 1.556 & \\
\hline
\multicolumn{2}{|l|}{Pros} & \parbox{\columnwidth}{Great capacity \\ High read} & Great capacity & Little size & High read \\
\hline
\end{longtable}
我希望这里有人可以帮助我,如果你\parbox
也能帮助解决这个问题,那就太好了。
更新
现在我只遇到之前称之为“-problem”的问题\parbox
,正如你在这张图的最后一行看到的那样:
现在我的 LaTeX 看起来像这样
\begin{longtable}{|>{\bfseries}l|>{\bfseries}l|*{4}{p{0.14\textwidth}|}}
\hline
\multicolumn{2}{|l|}{} & \textbf{QR Koder} & \textbf{PDF417} & \textbf{Data\-Matrix} & \textbf{Maxi Code} \\
\hline
...
Data- & Numerisk & 7.089 & 2.710 & 3.116 & 138 \\ \cline{2-6}
\multirow{2}{*}{kapacitet} & Alfa- & 4.269 & 1.850 & 2.355 & 93 \\
& numerisk & & & & \\ \cline{2-6}
& Bytes & 2.953 & 1.018 & 1.556 & \\
\hline
\multicolumn{2}{|l|}{Hovedtræk} & \begin{tabular}[t]{@{}l@{}}Stor kapacitet \\ Lille udskriftsstørrelse \\ Høj læsehastighed \end{tabular} & Stor kapacitet & Lille udskriftsstørrelse & Høj læsehastighed \\
\hline
\end{longtable}
这里有人知道如何解决这个问题吗?
答案1
下面的方法可以实现你想要的效果(甚至有可能没有 multirow
):
\documentclass{article}
\usepackage{array,longtable,multirow}% http://ctan.org/pkg/{array,longtable,multirow}
\begin{document}
\begin{longtable}{|>{\bfseries}l|>{\bfseries}l|*{4}{l|}}
\hline
\multicolumn{2}{|l|}{} & \textbf{QR Codes} & \textbf{PDF417} & \textbf{DataMatrix} & \textbf{Maxi Code} \\
\hline
\multirow{3}{*}{Datacapacity} & Numeric & 7.089 & 2.710 & 3.116 & 138 \\ \cline{2-6}
& Alphanumeric & 4.269 & 1.850 & 2.355 & 93 \\ \cline{2-6}
& Bytes & 2.953 & 1.018 & 1.556 & \\
\hline
\multicolumn{2}{|l|}{Pros} & Great capacity & Great capacity & Little size & High read \\
\multicolumn{2}{|l|}{} & High read & & & \\
\hline
\end{longtable}
\end{document}
我避免使用并插入了额外的行。如果希望单元格内的线条断开,
\parbox
可以使用嵌套。例如,tabular
\begin{tabular}[t]{@{}l@{}} Great capacity \\ High read \end{tabular}
使用在操作符处
[t]
对齐,同时删除两侧的所有列填充。tabular
t
@{}
- 为了方便使用,列的规范
*{4}{l|}
重复l|
4次。 - 您可以使用
p
-columns,但您需要指定宽度,以使表格适合文本块(水平方向)。您的代码片段已经有 5 列宽度为.18\textwidth
,然后是 的单个列宽度.1\textwidth
,总计\textwidth
。但是,每列周围仍有填充(大约2\tabcolsep+\arrayrulewidth
)。
如果没有关于文本块大小(或页面方向)的更多详细信息,则很难讨论表格的替代方案。
最后,如果你考虑一下booktabs
包裹longtable
。此外,当你的桌子不那么长时,用处不大……