\hrule 参数不起作用

\hrule 参数不起作用

在以下 MWE 中,XeTeX 将“1pt2pt3pt”与规则一起打印代替 \hrule尺寸为 1pt 2pt 和 3pt。但\rule[1pt]{2pt}{3pt}效果很好。那么该\hrule命令有什么用呢?

\documentclass{article}

\begin{document}
   \hrule{1pt}{2pt}{3pt}

\end{document}

答案1

\hrule采用关键字而非括号参数:

\documentclass{article}

\begin{document}
   \hrule height 1pt width 2pt depth 3pt

\end{document}

答案2

\hrule(和\vrule)是 TeX 基元,其语法不允许使用括号。\hrule和 的语法\vrule是(来自第 24 章TeXbook):

在此处输入图片描述

这意味着您应该使用(假设的参数按此顺序\hrule{1pt}{2pt}{3pt}depthwidth和) :。height\hrule depth 1pt width 2pt height 3pt

LaTeX 的\rule[1pt]{2pt}{3pt}相当于(这需要 ε-TeX \dimexpr;手动计算或使用维度寄存器在 Knuth 的 TeX 中使用):

\leavevmode\hbox{\vrule width 2pt height \dimexpr 3pt+1pt depth -1pt}

相关内容