下面两幅图的代码除了颜色和底部图像中的边界框中的 4pt 之外完全相同。在底部图像中,对角线触及蓝色区域的角落;在顶部图像中,它没有触及紫色区域的角落。我想知道 4pt 来自哪里,即它包含什么 LaTeX 长度。
基本上,我希望能够知道对角线底部和顶部图表中紫色区域之间的距离,而不管环境如何(字体大小、人们选择的长度等等),这样我就可以自动地将表格左上角的 tikz 图像中的任何内容移动相同的量;我不是寻找临时解决方案。
我到处寻找答案,但都无果。
\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