1em 应定义在哪里 - 何时使用“em”的长度

1em 应定义在哪里 - 何时使用“em”的长度

使用文档类时,下面文档中的表格看起来与预期一致article。使用其他文档类时,规则会消失。

原因似乎是booktabs定义规则的单位em显然没有在某些文档类中设置,例如revtex4-1(我正在使用的)。

\documentclass{article}
%\documentclass{revtex4-1} % 1em=0pt
%\documentclass{minimal}   % 1em=0pt
\usepackage{booktabs}
\newlength\mylength
\setlength\mylength{1em}%

\begin{document}

\begin{tabular}{ll}
    \toprule
    Light rule width:&\the\lightrulewidth\\ 
    \midrule
    Heavy rule width:&\the\heavyrulewidth\\ 
    \midrule
    Width of 1em:&\the\mylength \\
    \bottomrule
\end{tabular}

\end{document}

在哪里应该单位em应该定义吗?这是类、字体包还是文档作者的工作?什么时候应该避免使用单位长度em

答案1

当您说时\setlength{\mylength}{1em},存储在的实际长度\mylength将取决于分配时的当前字体。

每种字体都定义自己的单位;例如,通常的 Computer Modern Roman 为 10pt,为 10pt;而(Computer Modern Roman 为 20.7pt)em为 19pt 。\huge

如果您说\hspace{1em},则使用 的当前大小em。由于某些原因(我不明白),该类revtex4-1不发出\normalsize\normalfont命令,因此在序言中,当前字体仍然是“空”字体,其所有字体参数均为零。只有在文档开始时,才会建立主文档字体。

相反,标准类(不是)在定义命令后minimal发出命令,因此单位将有一个值。但可能不是主文档字体的值:某些字体包在开始文档时会延迟选择主字体。\normalsizeem

何时选择em设置长度的单位?我只推荐一些特殊情况,即长度应取决于主字体大小。一个重要的例子是\parindent。优秀的印刷师建议正常的段落缩进应该是 1em;如果你想确保这一点,而不依赖于 LaTeX 默认的(对于标准类)15pt,那么

\AtBeginDocument{\setlength{\parindent}{1em}}

将会做正确的事情,只要这是在加载字体包之后发出的。还可以根据主字体的 em 设置其他长度:例如,所有与列表缩进相关的长度,这些长度不应取决于相对字体大小。

对于“明确的”水平长度,em建议使用,但也可以选择列宽的分数:这主要取决于具体的应用。


笔记。我认为的行为revtex4-1是非标准的,应该予以纠正。一些软件包依靠默认 em 来设置自己的默认值(在许多情况下,这是一个很好的猜测)。如果您在进行涉及 em 的设置之前发出此命令,您将得到它。在加载之前\normalsize发出此命令应被视为错误。\normalsizebooktabs

答案2

其他文档类在加载时无法选择字体。由于单位em是根据当前字体定义的,因此可以通过\normalfont在加载之前booktabs(以及在任何可能相关的字体包之后)添加命令来修复此问题,该命令应em定义为:

示例输出

\documentclass{revtex4-1}
\normalfont
\usepackage{booktabs}
\newlength\mylength
\setlength\mylength{1em}%

\begin{document}

\begin{tabular}{ll}
    \toprule
    Light rule width:&\the\lightrulewidth\\ 
    \midrule
    Heavy rule width:&\the\heavyrulewidth\\ 
    \midrule
    Width of 1em:&\the\mylength \\
    \bottomrule
\end{tabular}

\end{document}

使用articledocumentclass 时,您可以加载article.cls并依次加载size10.clo(针对 10pt)。此.clo文件包含调用\normalsize,而调用又包含\selectfont命令,使当前字体生效。

相关内容