哪些设置会延续到已发货页面?

哪些设置会延续到已发货页面?

通过执行命令将新页面添加到文档时\shipout,哪些设置会被转移到\shipout执行命令的新页面?

例如,如以下示例所示,字体设置保留,但颜色设置丢失。

\documentclass{article}
\usepackage{xcolor}
\begin{document}%
\font\myfont=cmtt17\myfont%
\color{red}%
\shipout\hbox{Hello, world!}%
\end{document}

生成的pdf:

已发运文件

\newpage但是,如果我使用或开始新页面\eject

\documentclass{article}
\usepackage{xcolor}
\begin{document}
\font\myfont=cmtt17\myfont%
\color{red}%
\newpage% also works with \eject
Hello, world!
\end{document}

两种设置均延续:

颜色设置延续

我如何预测新页面开始时哪些设置会保留\shipout?规则是什么?我不仅询问字体和颜色设置,还询问所有可能的设置,或者至少询问 TeX 固有的所有可能设置(我知道颜色不是 TeX 固有的)。

答案1

\documentclass{article}
\usepackage{xcolor}
\begin{document}%
\font\myfont=cmtt17\myfont%
\color{red}%
\shipout\hbox{Hello, world!}%
\end{document}

\color命令将一个内容放到主垂直列表中,告诉后端将当前颜色设置为红色。

然后,您将\shipout水平框直接输出到输出,根本不使用主垂直列表,因此文本将在 pdf 的开头输出(黑色)。主垂直列表输出的任何文本都将是红色的,但实际上 latex 会丢弃只有 whatsit 而没有框或规则的页面\clearpage\end{document}因此实际上红色指令根本没有输出到 pdf,因为此文档中没有文本,因此唯一的页面输出是水平\shipout框。

相关内容