Latex 表格的第一行呈对角线

Latex 表格的第一行呈对角线

我正在尝试创建一个第一行对角线的表格,就像如何在 Latex 中绘制对角线表格边框,就像在 Excel 中一样

我已经查看了 PGF-TiKZ 的文档,但仍然不确定如何执行上述操作。

如何将表格中的对角线列标题与多列标题结合起来我已经设法在顶行上创建了对角线条目,但我想添加一个选项,使其像在 Excel 中一样被单元格边框包围,并指定顶行中每行文本的长度。如果能添加一个选项,用边框封闭行的顶部,那就太好了。有什么办法可以做到这一点,最好是通过包tabularx

答案1

这是一种概念性的、手动的解决方案。我们首先将\tikzmarks 注入到列分隔符中,然后使用它们在 TikZ 节点中的表格上进行绘制。

\documentclass{article}
\usepackage{tikz,array}
\usetikzlibrary{calc}
\newcommand{\tikzmark}[1]{\tikz[remember picture,overlay]\coordinate (#1);}

\newcolumntype{T}[1]{@{\hspace{\tabcolsep}}c@{\hspace{\tabcolsep}\tikzmark{#1}}}

\begin{document}
\begin{tikzpicture}[remember picture]
\node[inner xsep=-\pgflinewidth,inner ysep=-\pgflinewidth] at (0,0) (mytable){%
\begin{tabular}{|T{a}|T{b}|c|}
\hline A&B&C\\
$\alpha$ & $\beta$ & $\theta$\\
foo &bar &Hello world \\\hline
\end{tabular}
};
\draw (mytable.north east) --++ (60:3cm);
\draw (mytable.north west) --++ (60:3cm);
\draw (mytable.north-|a) --++ (60:3cm);
\draw (mytable.north-|b) --++ (60:3cm);
\draw (mytable.north east) ++ (60:3cm) --([shift={(60:3cm)}]mytable.north west);

\node[rotate=60,anchor=west] at ($(mytable.north-|a)!0.5!(mytable.north west)$) {First Column};
\node[rotate=60,anchor=west] at ($(mytable.north-|a)!0.5!(mytable.north-|b)$) {Second Column};
\node[rotate=60,anchor=west] at ($(mytable.north-|b)!0.5!(mytable.north east)$) {Third Column};
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容