![两个 tcolorbox 环境之间的 \skip_vertical:n 和 \vspace](https://linux22.com/image/453110/%E4%B8%A4%E4%B8%AA%20tcolorbox%20%E7%8E%AF%E5%A2%83%E4%B9%8B%E9%97%B4%E7%9A%84%20%5Cskip_vertical%3An%20%E5%92%8C%20%5Cvspace.png)
\skip_vertical:n
和有什么区别\vspace
?在下面的例子中,\skip_vertical:n
没有效果,但如果将其更改为\vspace
则有效。这是为什么?
我正在使用最新的 TeX Live 2022(2022-07-31),希望对您有帮助。似乎两个月前不存在这个问题。
\documentclass{article}
\usepackage[many]{tcolorbox}
\begin{document}
\begin{tcolorbox}
\end{tcolorbox}
\ExplSyntaxOn
\skip_vertical:n { -\baselineskip }
\ExplSyntaxOff
\begin{tcolorbox}
\end{tcolorbox}
\end{document}
背景
在包中colorist
我采用了这个答案Phelype Oleinik 连接相邻定义的颜色框。由于包本身是用 编写的expl3
,因此我将\vspace
改为\skip_vertical:n
。
一个月前,这个功能还运行良好。今天早上,当我尝试重新编译文档时,我发现我的包中的旧代码无法正常工作,经过一番调试后,发现是\skip_vertical:n
两者之间的代码tcolobox
无法正常工作。
答案1
在垂直模式下,\vspace{...}
本质上是,\vskip ... \vskip 0pt
而\skip_vertical:n
\vskip ...
因此,除了 etex 维度表达式处理中的一些差异之外,主要区别在于\vspace
增加了一个额外的零跳过,这将在您查询时显示出来\lastskip