TeX 函数中的计算。怎么做?

TeX 函数中的计算。怎么做?

我对此一无所知,TeX但想改进一个功能。

这是初始函数:

\newcommand{\setnewvsize}[1]{%
\global\paperheight\dimexpr#1+\initialVerticalInset\relax%
\global\pdfpageheight\paperheight%
\global\textheight\paperheight%
\global\@colht\textheight \global\@colroom\textheight \global\vsize\textheight%
\global\initialVerticalInset=0pt
}

以下是我想要做的事情:

\newlength{\bottomMargin}
\setlength{\bottomMargin}{3mm}

\newcommand{\setnewvsize}[1]{%
\global\paperheight\dimexpr#1+\initialVerticalInset\relax%
\global\pdfpageheight\paperheight%
\global\textheight\paperheight - \bottomMargin%
\global\@colht\textheight \global\@colroom\textheight \global\vsize\textheight%
\global\initialVerticalInset=0pt
}

我想设置\textheight\paperheight - \bottomMargin

我不知道这是否有意义,因为我不知道TeX

我如何在函数中执行这个计算?

答案1

您只需要\dimexpr .. \relax在需要的地方使用具有维度的内联操作。

更像 LaTeX 的方式是使用

 \global\setlength\textheight{\dimexpr\paperheight-\bottomMargin}

更简单的版本是

\global\textheight\dimexpr\paperheight-bottomMargin\relax

(如果您更好地理解了任务,您可以在设置的尺寸后使用等号\global\textheight=\dimexpr⟨whatever⟩\relax)。

相关内容