如何将 tikz 图像与表格中单元格的底部对齐

如何将 tikz 图像与表格中单元格的底部对齐

下面两幅图的代码除了颜色和底部图像中的边界框中的 4pt 之外完全相同。在底部图像中,对角线触及蓝色区域的角落;在顶部图像中,它没有触及紫色区域的角落。我想知道 4pt 来自哪里,即它包含什么 LaTeX 长度。

基本上,我希望能够知道对角线底部和顶部图表中紫色区域之间的距离,而不管环境如何(字体大小、人们选择的长度等等),这样我就可以自动地将表格左上角的 tikz 图像中的任何内容移动相同的量;我不是寻找临时解决方案。

我到处寻找答案,但都无果。

PDF 输出

\documentclass[12pt]{article}

\usepackage[svgnames]{xcolor}
\usepackage{tikz}
\usepackage{colortbl}


\begin{document}


\begin{tabular}{rccc}% 
\cellcolor{Yellow}%
\begin{tikzpicture}[]
\path[use as bounding box]  (0,0) -- (4,0) -- (4,4) -- (0,4) -- cycle;
\draw (4cm+\tabcolsep,0)--(2cm+\tabcolsep,2);
 \end{tikzpicture}
& L & R\\
U& \cellcolor{Purple} abra & & \\
\end{tabular}

\vspace*{3cm}

\begin{tabular}{rccc}% 
\cellcolor{Orange}%
\begin{tikzpicture}[]
% NOTE 4pt ON NEXT LINE

\path[use as bounding box]  (0,4pt) -- (4,4pt) -- (4,4) -- (0,4) -- cycle;
\draw (4cm+\tabcolsep,0)--(2cm+\tabcolsep,2);
\end{tikzpicture}
& L & R\\
U& \cellcolor{Blue} abra & & \\
\end{tabular}

\end{document}

答案1

arraystretch此空间由(不是长度,而是默认为 1 的乘数)乘以 的深度控制\strutbox。观察设置arraystretch为零时,\renewcommand*{\arraystretch}{0}将消除间距。

\number\dp\strutbox给出 285084 个缩放点,并且 285084/65536 大约为 4.35 pt。

还要注意,添加array的包所使用的通常会改变间距。colortbl\extrarowheight

相关内容