如何创建一个新的尺寸命令, ,将其定义为介于和\semiHuge
之间的尺寸?\huge
\Huge
答案1
标准 LaTeX 文档类别 -- article
、report
和book
-- 提供指令\huge
和的以下定义\Huge
:
如果主字体大小为
10pt
或11pt
,\newcommand\huge{\@setfontsize\huge\@xxpt{25}} \newcommand\Huge{\@setfontsize\Huge\@xxvpt{30}}
如果主字体大小
12pt
为\newcommand\huge{\@setfontsize\huge\@xxvpt{30}} \let\Huge=\huge
\huge
也就是说,在这种情况下和之间没有区别\Huge
。
接下来,在文件latex.ltx
(包含“LaTeX 内核”)中,可以找到\@xxpt
和的以下定义\@xxvpt
:
\def\@xxpt{20.74}
\def\@xxvpt{24.88}
这几何平均数\huge
20.74 和 24.88 之比为 22.72,而 25 和 30 的几何平均值(和的有效基线距离)\Huge
为 27.38。(请参阅下文以了解我为何选择几何平均值。)
因此,如果您使用10pt
或11pt
作为主文本字体的大小,并且使用可自由缩放的字体,则可以在文档的序言中包含以下说明来设置指令\semiHuge
:
\makeatletter
\newcommand\semiHuge{\@setfontsize\semiHuge{22.72}{27.38}}}
\makeatother
这种定义方法\@setfontsize
比更直接的定义(即)更安全,\newcommand\semiHuge{\fontsize{22.72}{27.38}\selectfont}
因为\@setfontsize
注意不要弄乱数学字体大小。
将所有这些放入 MWE,例如,
\RequirePackage{fix-cm} %% make CM font freely scalable
\documentclass{article}
\makeatletter
\newcommand\semiHuge{\@setfontsize\semiHuge{22.72}{27.38}}
\makeatother
\begin{document}
\huge The quick huge fox jumps \ldots
\semiHuge The quick semiHuge fox jumps \ldots
\Huge The quick Huge fox jumps \ldots
\end{document}
得到:
最后,你可能会问,为什么我选择几何的\huge
和字体大小的平均值\Huge
,得出 的字体大小\semiHuge
。对于 的主文本字体大小(“ \normalsize
”) ,LaTeX 将相邻字体大小( 、、、、和)10pt
的比例设置为 1.2。此外,在 LaTeX 中 的确切字体大小为\normalsize
\large
\Large
\LARGE
\huge
\Huge
11pt
不是 11.00
但10.95
,即几何的10
和的平均值12
。LaTeX 明显倾向于以整齐的几何级数保持相对字体大小,这促使我采用和 大小的几何平均值\huge
来\Huge
获得 的大小\semiHuge
。
留给读者练习:设计名为\semiLarge
、\semiLARGE
和 的宏\semihuge
。:-)
答案2
感谢您提供此路径来制作半字型尺寸。我建议使用以下尺寸:
\makeatletter
\newcommand\semiHuge{\@setfontsize\semiHuge{22.72}{27.38}}
\newcommand\semihuge{\@setfontsize\semihuge{18.93}{23.45}}
\newcommand\semiLARGE{\@setfontsize\semiLARGE{15.77}{19.90}}
\newcommand\semiLarge{\@setfontsize\semiLarge{13.15}{15.87}}% 15.18?
\newcommand\semilarge{\@setfontsize\semilarge{11.46}{13.80}}
\newcommand\seminormal{\@setfontsize\seminormal{10.46}{12.77}}
\makeatother
请随意证明几何平均数的数字。