我知道 \the\somelength 会显示 \somelength 的值。但我如何知道该长度的当前延伸是多少?
例如,如果我有
\setlength{\footnotesep}{10 pt plus 5pt minus 3pt}
并且稍后我想显示加号和减号以便进行调试,我该怎么做?
第一个反应是使用\showthe
。我试过了,但它没有给出正负值。最小的例子:
\documentclass{report}
\begin{document}
\scrollmode
\typeout{The footnotesep is \the\footnotesep,}
\showthe\footnotesep
\setlength{\footnotesep}{10 pt plus 5pt minus 3pt}
\typeout{The footnotesep is now \the\footnotesep,}
\showthe\footnotesep
\end{document}
控制台上输出:
`The footnotesep is 6.65pt,
> 6.65pt.
l.6 \showthe\footnotesep
The footnotesep is now 10.0pt,
> 10.0pt.
l.9 \showthe\footnotesep
`
但我想看到正值和负值。
答案1
您无法显示plus
或minus
的组件,\footnotesep
因为它不能包含它们,而是由
\newdimen\footnotesep
这使得它刚性长度范围。
如果你
\setlength{\footnotesep}{10pt plus 5pt minus 3pt}
LaTeX 将设置为 10pt(这解释了) 和 排版 的\footnotesep
结果)。如果您在序言中执行设置,则会收到错误。\showthe\footnotesep
plus 5pt minus 3pt
No \begin{document}
答案2
您可能正在考虑以下构造(\Footnotesep
在示例中)。由于名称未保留给其他构造(\dimen
),因此结果符合预期。
\documentclass{report}
\begin{document}
\scrollmode
\typeout{The footnotesep is \the\footnotesep,}
\showthe\footnotesep
\the\footnotesep
%\setlength{\footnotesep}{10 pt plus 5pt minus 3pt}
\newlength\Footnotesep
\setlength{\Footnotesep}{10pt plus 5pt minus 3pt}
\typeout{The footnotesep is now \the\Footnotesep,}
B
\showthe\Footnotesep
\the\Footnotesep
\end{document}