我有一些复杂的代码给出错误:
! You can't use '\vadjust' in vertical mode.
所以我推测我需要切换到水平模式。我发现了这个问题,“什么是垂直模式和水平模式?“,但没有解释如何在它们之间切换。
我已经看过了TeXbook
,但似乎没有什么可以回答这个问题。
如何在两者之间切换?
答案1
该命令\vadjust
只能在水平或内联数学模式下发出。其目的是在命令最终结束的行后插入垂直材料(例如垂直空格)。
LaTeX 中的一个例子\vadjust
是\vspace
(在正常变体中)
\ifvmode
\vskip#1\vskip\z@skip
\else
\@bsphack
\vadjust{\@restorepar\vskip#1\vskip\z@skip}%
\@esphack
\fi
\vskip
因此,如果已经处于垂直模式或者插入一个\vadjust
项目,它就会执行该操作。
有时\vadjust
用于“作弊”;例如,在不使用 的情况下在行的左侧或右侧添加一些内容\marginpar
。在这种情况下,必须确保水平模式,这是通过发出
\leavevmode
前\vadjust
。