如何在表格单元格中创建平行对角线?

如何在表格单元格中创建平行对角线?

如何在表格中创建以下平行对角线图案?

在此处输入图片描述

答案1

有一个diagbox 包可用于在单元格中绘制对角线。不幸的是,这个包不支持开箱即用的平行对角线。所以,这里来救tikz场。下面解决方案中的技巧是提前确定单元格的高度和宽度。宽度由12em代码指定@{}p{12em}@{},高度由6em附加一个零宽度的空列并添加\parbox{0cm}{\rule{0pt}{6em}}第二行指定。

tikzmark然后使用和tikz 库计算单元格的中心和对角线calc。最后使用 tikz 在表格顶部使用选项绘制对角线[overlay,remember picture]。该解决方案并不精确,需要一些手动计算,但足以应付这种情况。

\documentclass{article}
\usepackage{array,tikz} 
\usetikzlibrary{calc,tikzmark}
\setlength\extrarowheight{2pt}
\begin{document}    

$D_N = $
\begin{tabular}{|c|@{}p{12em}@{}|c|@{}c@{}}
   \hline
   $\frac{2N^2+1}{6}$ &  &  & \\
   \hline
   & \parbox{12em}{% 
   \hfill$\frac{(-1)^{i+j}}{x_i-x_j}$ \ \par
   \hfill\tikzmark{1}$\frac{-x_j}{2(1-x_j^2)}$\tikzmark{2}\hfill\null\par
   \ $\frac{(-1)^{i+j}}{x_i-x_j}$
   } &  &\parbox{0cm}{\rule{0pt}{6em}} \\
   \hline
   &  &  $-\frac{2N^2+1}{6}$ & \\
   \hline
\end{tabular}

\begin{tikzpicture}[overlay,remember picture]
    \coordinate(o) at ([yshift=.26ex] $(pic cs:1)!.5!(pic cs:2)$); 
    \draw ([shift={(-3em,3em)}]o)--([shift={(6em,-1.5em)}]o);
    \draw ([shift={(-6em,1.5em)}]o)--([shift={(3em,-3em)}]o);
\end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容