为什么 \prevgraf 在段落末尾(甚至是在段落中间)是零?

为什么 \prevgraf 在段落末尾(甚至是在段落中间)是零?

两者都\the\prevgraf显示为零。我期望它显示当前行计数器。

\documentclass[varwidth]{standalone}
\usepackage{expl3}
\begin{document}
  \parbox{40mm}
  { \parshape 3 0mm 40mm 5mm 35mm 10mm 30mm
    This is sentence 1. This is sentence 2.
    \the\prevgraf
    This is sentence 3. This is sentence 4.
    \par
  }
  \the\prevgraf
\end{document}

答案1

当处于段落中间时,TeX 无法知道已经排版的行数,原因很简单,它还没有排版。

当一个段落开始时, 的值\prevgraf被重置为 0;只有当一个段落或“迄今为止的段落”被分成几行时(后一种情况发生在一个段落被显示的方程式打断时),它才会更新。

显示的公式排版后,的值\prevgraf将更新,在排版“迄今为止的段落”时指定的值上添加 3。

为什么你的最后一个命令也显示 0?因为该段落是按组 ( ) 排版的,因此组结束后\parbox的值就会被遗忘。\prevgraf

\documentclass{article}

\begin{document}

  \parbox{40mm}
  { \parshape 3 0mm 40mm 5mm 35mm 10mm 30mm
    This is sentence 1. This is sentence 2.
    \[a=b\]
    \the\prevgraf
    This is sentence 3. This is sentence 4.
    \par
  \the\prevgraf
  }
\end{document}

在此处输入图片描述

相关内容