答案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}