字体大小和 fbox 大小

字体大小和 fbox 大小

当我们将字体大小设置为 20 点时,我想知道包围字母的 fbox 粘合框的大小是 20 点。为了理解,我编写了如下代码,我有两个主要问题:

  1. 虽然我将字体大小设置为 20,但字母绑定框的宽度和高度都不是 20 点(它们较小),无论是小写还是大写。那么 fbox 中的哪个大小是 20 点?
  2. 我还将行距改为 20,但我们看到基线之间的间距约为 40 点,为什么? 在此处输入图片描述
 \documentclass{book}

\fboxrule=0.1pt
 \fboxsep=-\fboxrule
\usepackage{xcolor}
\renewcommand\fbox{\fcolorbox{red}{white}}

\usepackage[grid,
gridcolor=blue!60!white,
subgridcolor=green!40!white,
gridunit=pt]{eso-pic}

%\usefont{<encoding>}{<family>}{<series>}{<shape>}
%\fontsize{size}{skip}

\newcommand{\myfont}{\usefont{T1}{cmr}{m}{n}\fontsize{20}{20} \selectfont}

\begin{document}
\myfont 




  \fbox{a}\fbox{b}\fbox{c}\fbox{d}\fbox{e}\fbox{f}\fbox{g}\fbox{h}
  \fbox{i}\fbox{j}\fbox{k}\fbox{l}\fbox{m}\ 
  fbox{n}\fbox{o}
  \fbox{p}\fbox{q}\fbox{r}\fbox{s}\fbox{t}\fbox{u}\fbox{v}\fbox{w}\fbox{x}\fbox{y}\fbox{z}\\

 \fbox{A}\fbox{B}\fbox{C}\fbox{D}\fbox{E}\fbox{F}\fbox{G}
\fbox{H}\fbox{I}\fbox{J}\fbox{K}\fbox{L}\fbox{M}
\fbox{N}\fbox{O} 
 \fbox{P}\fbox{Q}\fbox{R}\fbox{S}\fbox{T}
 \fbox{U}\fbox{V}\fbox{W}\fbox{X}\fbox{Y}\fbox{Z}\\
   \end{document}

答案1

这个答案扩展了@DavidCarlisle 的答案,但直接解决了 OP 的两个问题。

  1. 对于 Computer Modern Roman 字体,括号(以及方括号、大括号、斜线)的总高度,没有超调,等于字体大小。所以在 OP 示例中,\fbox{(}或者\fbox{)}的总高度(高度加深度)为 20 点。我应该提到“字体大小”是一个“名义值”(参见 David 的回答)。有趣的事实:对于大多数拉丁/希腊/西里尔字体,任何字符的总高度等于字体大小的情况非常少见(Computer Modern 是个例外。Knuth 以这种方式设计了 CM)。但是,对于大多数中文/日文字体,由于汉字/汉字字符是以“方块”形式书写的,因此字体大小几乎总是完全等于字符宽度(更准确地说,是汉字/汉字字符的水平前进)。
  2. 当您输入 时\\,您将强制手动换行,从而产生一个空行。因此,\baselineskip文本的两个基线之间有两个 s;也就是说,两个基线之间最终有 40 点。

答案2

“字体大小”纯粹是字符大小的名义指示,它是由字体设计者设置的值,但不一定对应于字体中字符的任何可测量长度。

行距是预期值的两倍,因为您有四行文本,其中两行是空的,并给出警告

 Underfull \hbox (badness 10000) in paragraph at lines 24--28
  
 Underfull \hbox (badness 10000) in paragraph at lines 29--34

你有\\在段落末尾强制换行,所以第一个段落的小写字母有文本行,但第二行是空的。切勿\\在段落末尾使用。

相关内容