与 tikz 冲突的多行

与 tikz 冲突的多行

为了在单元格中画出对角线,我从表格单元格中的对角线

在我决定使用多行之前,适合我的情况的代码运行良好。

这是 MWE。

\documentclass{article}

\usepackage{multirow}

\usepackage{tikz}
\newcommand\diag[4]{%
  \multicolumn{1}{p{#2}|}{\hskip-\tabcolsep
  $\vcenter{\begin{tikzpicture}[baseline=0,anchor=south west,inner sep=#1]
  \path[use as bounding box] (0,0) rectangle (#2+2\tabcolsep,\baselineskip);
  \node[minimum width={#2+2\tabcolsep},minimum height=\baselineskip+\extrarowheight] (box) {};
  \draw (box.north west) -- (box.south east);
  \node[anchor=south west] at (box.south west) {#3};
  \node[anchor=north east] at (box.north east) {#4};
 \end{tikzpicture}}$\hskip-\tabcolsep}}

\begin{document}

  \begin{tabular}[t]{|c|c|c|}
    \hline
    \multirow{2}{*}{\diag{.1em}{.5cm}{$a$}{$i$}}&\multicolumn{2}{c|}{A}\\\cline{2-2}
    &1\\
  \end{tabular}


\end{document}

这会产生一条错误消息,

 ! Misplaced \omit. \multispan ->\omit 
                    \@multispan  l.20 ...ultirow{2}{*}{\diag{.1em}{.5cm}{$a$}{$i$}}
                                                   &\multicolumn{2}{c|}{A}\\\...

如果我省略该\multirow部分,效果就会很好。

答案1

在此处输入图片描述

然而,正如评论中指出的那样,您不能\multicolumn在这里使用,因为它只跨越 1 个单元格,所以您不需要\multicolum而只需使用\parbox

图片生成了 12pt 的超满框警告,因为2\tabcolsep被考虑了两次,所以我删除了这个数量的内部添加。

位于A多列{2}中,因此我将其放入1以进行匹配,否则内容就不会对齐。

代码需要array添加您所使用的包,\extrarowheight该包由该包定义。

\documentclass{article}

\usepackage{multirow,array}

\usepackage{tikz}
\newcommand\diag[4]{%
%  \multicolumn{1}{p{#2}|}
  \parbox[t]{#2}%
  {\hskip-\tabcolsep
  $\vcenter{\begin{tikzpicture}[baseline=0,anchor=south west,inner sep=#1]
  \path[use as bounding box] (0,0) rectangle (#2,\baselineskip);
  \node[minimum width={#2+2\tabcolsep},minimum height=\baselineskip+\extrarowheight] (box) {};
  \draw (box.north west) -- (box.south east);
  \node[anchor=south west] at (box.south west) {#3};
  \node[anchor=north east] at (box.north east) {#4};
 \end{tikzpicture}}$\hskip-\tabcolsep}}

\begin{document}

  \begin{tabular}[t]{|c|c|c|}
    \hline
    \multirow{2}{*}{\diag{.1em}{.5cm}{$a$}{$i$}}&\multicolumn{2}{c|}{A}\\\cline{2-3}
    &\multicolumn{2}{c|}{1}\\
  \end{tabular}


\end{document}

相关内容