multirow
使用和时,我对表格单元格边框的渲染感到很困惑multicol
。在下面的示例中,表格“标题”中的双线未延伸到桌面,更令人恼火的是,表格的右上角有一个间隙。有什么线索吗?
\documentclass{article}
\usepackage[utf8x]{inputenc}
\usepackage{multirow}
\usepackage{graphicx}
\begin{document}
\begin{figure}
\centering
\begin{tabular}{|l|c||c|c|c|c||c|c|c|c|} \hline \\
\multirow{2}{*}{} & \multirow{2}{*}{\rotatebox{90}{Target}} & \multicolumn{4}{|c||}{Banana} & \multicolumn{4}{|c|}{Pear} \\
& & \rotatebox{90}{Apple 1} & \rotatebox{90}{Apple 2} & \rotatebox{90}{Apple 3} & \rotatebox{90}{Apple 4} & \rotatebox{90}{Apple 1} & \rotatebox{90}{Apple 2} & \rotatebox{90}{Apple 3} & \rotatebox{90}{Apple 4} \\
\hline
Apple 1 & $+$ & & $*$ & $*$ & $*$ & $+$ & & & \\ \hline
Apple 2 & $+$ & $*$ & & $*$ & $*$ & & $+$ & & \\ \hline
Apple 3 & $+$ & $*$ & $*$ & & $*$ & & & $+$ & \\ \hline
Apple 4 & $+$ & $*$ & $*$ & $*$ & & & & & $+$ \\ \hline
\end{tabular}
\end{figure}
\end{document}
答案1
这是一个改进的替代方案:
\documentclass{article}
\usepackage{multirow}% http://ctan.org/pkg/multirow
\usepackage{graphicx}% http://ctan.org/pkg/graphicx
\begin{document}
\begin{tabular}{|l|c||*{4}{c|}|*{4}{c|}} \hline
\multirow{2}{*}{} & \multirow{2}{*}[-1em]{\rotatebox{90}{Target}} & \multicolumn{4}{|c||}{Banana} & \multicolumn{4}{|c|}{Pear} \\
& & \rotatebox{90}{Apple 1} & \rotatebox{90}{Apple 2} & \rotatebox{90}{Apple 3} & \rotatebox{90}{Apple 4} & \rotatebox{90}{Apple 1} & \rotatebox{90}{Apple 2} & \rotatebox{90}{Apple 3} & \rotatebox{90}{Apple 4} \\
\hline
Apple 1 & $+$ & & $*$ & $*$ & $*$ & $+$ & & & \\ \hline
Apple 2 & $+$ & $*$ & & $*$ & $*$ & & $+$ & & \\ \hline
Apple 3 & $+$ & $*$ & $*$ & & $*$ & & & $+$ & \\ \hline
Apple 4 & $+$ & $*$ & $*$ & $*$ & & & & & $+$ \\ \hline
\end{tabular}
\end{document}
您在第一行使用 插入了额外的一行\hline \\
。我刚刚删除了\\
并对 进行了一些微调\multirow{<rows>}{<width>}[<fine-tune>]{<stuff>}
。也就是说,将内容向下推1em
。
如果您确实需要空行(用于留出间距),则需要用空单元格填充该行,以便正确放置垂直规则。从这个意义上讲,以下内容提供了您想要的内容:
%...
\begin{tabular}{|l|c||*{4}{c|}|*{4}{c|}} \hline
& & \multicolumn{4}{c||}{} & \multicolumn{4}{c|}{} \\
%...
为了更精确地控制间距,您可以\dimexpr
按以下方式使用 e-TeX:
%...
\begin{tabular}{|l|c||*{4}{c|}|*{4}{c|}} \hline
& & \multicolumn{4}{c||}{} & \multicolumn{4}{c|}{} \\[\dimexpr-\normalbaselineskip+\jot]
%...
这将“向后跳过”\normalbaselineskip
然后“向前跳过” ,从而在规则之间\jot
留下3pt
(的维度)。\jot