获取 \huge 和 \Huge 之间的大小

获取 \huge 和 \Huge 之间的大小

如何创建一个新的尺寸命令, ,将其定义为介于和\semiHuge之间的尺寸?\huge\Huge

答案1

标准 LaTeX 文档类别 -- articlereportbook-- 提供指令\huge和的以下定义\Huge

  • 如果主字体大小为10pt11pt

    \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}

几何平均数\huge20.74 和 24.88 之比为 22.72,而 25 和 30 的几何平均值(和的有效基线距离)\Huge为 27.38。(请参阅下文以了解我为何选择几何平均值。)

因此,如果您使用10pt11pt作为主文本字体的大小,并且使用可自由缩放的字体,则可以在文档的序言中包含以下说明来设置指令\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\Huge11pt不是 11.0010.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 

请随意证明几何平均数的数字。

相关内容