我想将 设置\extrarowheight
为0.5ex
。我发现以下三种方法都可以适用。
\extrarowheight = 0.5ex
\setlength{\extrarowheight}{0.5ex}
\renewcommand{\extrarowheight}{0.5ex}
只是出于好奇,哪种方式是规范的?
答案1
正如评论中提到的,第一个版本是 TeX 版本的赋值,第二个版本是 LaTeX 版本的变量赋值。两者通常产生相同的结果,因为第二个版本基于第一个版本。
但是,第二个版本不太容易出错,因为它相当于\extrarowheight=0.5ex\relax
可以防止解析器意外地将赋值后的多余字符误认为是新值的一部分。
但请注意,第三个版本是不是与其他两个等价,从这个意义上说是错误的。它不执行变量赋值,而是重新定义\extrarowheight
为扩展为标记序列的宏0.5ex
。当您尝试以下内容时,您可以看到差异:
\setlength{\extrarowheight}{0.5ex}
\show\extrarowheight
输出
\extrarowheight=\dimen104.
尽管
\renewcommand{\extrarowheight}{0.5ex}
\show\extrarowheight
输出
\extrarowheight=\long macro:
->0.5ex.
在某些情况下,使用该宏仍会产生与使用变量相同的结果,但只要您尝试以正确的方式设置变量,问题就会变得明显:
\renewcommand{\extrarowheight}{0.5ex}
\setlength{\extrarowheight}{1.0ex}
打印0.5ex1.0ex
而不是做作业。