确定当前行的高度,尤其是在显示的数学运算中

确定当前行的高度,尤其是在显示的数学运算中

有没有办法确定当前行的高度?更具体地说,在组成当前行的 hbox 最终确定后,我想确定它的高度(也许还有深度)并将此信息写入辅助文件。我想到的应用程序是在边缘放置一些东西,它与当前行的中心垂直对齐,而不是与当前行的基线对齐。我主要对当前行是显示方程的情况感兴趣。

(这是更集中的版本这个老问题

答案1

TeXbook 附录 D(肮脏的技巧)中有一些类似的讨论。例如,设置得\vsize非常小,以便每次将一行发送到输出例程,输出例程可以处理它们,然后将它们发送回页面生成器进行常规处理(使用\vsize这个时间的正常值)。或者,更接近您的问题,让输出例程在第一遍将注释写入文件,然后在第二遍处理这些注释。

答案2

不幸的是,我不知道如何回答你的更一般的问题,但听起来好像marginnote包裹将有助于解决引发该问题的问题。通过\marginnote结合使用该命令及其<voffset>选项,您可以手动任意更改边注的垂直对齐方式。例如,以下示例中的边注与公式垂直对齐:

\documentclass{article}
\usepackage{marginnote}
\begin{document}
Here is some text.
\[
  F(b)-F(a)
  =
  \int_a^b f(x)dx
  \marginnote{A form of the fundamental theorem of calculus}[-2em]
\]
Here's a little more text.
\end{document}

相关内容