这更像是一个哲学问题。我一直在寻找在本地增加数学模式字体大小的方法(例如,仅在一个方程/对齐环境中),但我遇到的解决方案通常只是恢复到文本模式。我想知道 TeX 系统中是否存在一些结构性原因,导致我们无法直接访问数学符号的字体大小(仅在单个方程/对齐环境中本地访问)?有诸如“dfrac”之类的命令,所以我希望也能拥有更多的全局控制。
例如,正如您在这些答案中看到的,作者恢复到了文本模式。
谢谢
答案1
为了扩展 David 的回答,\DeclareMathSizes
定义一个宏,S@XX
其中XX
当前类型大小以点为单位,例如,
\S@10 = macro: -> {
\gdef\tf@size{10}
\gdef\sf@size{7}
\gdef\ssf@size{5}
}
\meaning
(为了清楚起见,我修改了输出中的空格和换行符)。
这意味着如果您想了解大小,您只需查看这些宏的值,事实上,这正是 LaTeX 宏定义中发生的情况:
\DeclareRobustCommand{\LaTeX}{L\kern-.36em%
{\sbox\z@ T%
\vbox to\ht\z@{\hbox{\check@mathfonts
\fontsize\sf@size\z@ %
答案2
对于数学字体大小的全局选择,该命令\DeclareMathSizes
指定相对于文本大小的数学字体大小,尽管很少更改默认值。在 10pt 时,默认值设置为
\DeclareMathSizes{10pt}{10pt}{7}{5}
也就是说,如果当前文本为,则在和10pt
中使用 10pt ,在 中使用 7pt ,在 中使用 5pt 。\displaystyle
\textstyle
\scriptstyle
\scriptscriptstyle
对于公式中的局部选择,情况则大不相同。您提到,\dfrac
但那不是选择字体大小,而是选择数学字体样式。给定的数学公式可以访问 16 种字体(fam0 ... fam15)中的三种样式(大小)(textstyle、scriptstyle、scriptscriptstyle)的字体
您可以通过以下方式查看为 fam2 中的文本样式设置的字体。请注意,这些设置适用于整个公式:如果您在最后一个(或或其他)\showthe\textfont2
之前更改它们,则该更改将应用于整个表达式。$
\end{equation}
如果你有
$ x + \mbox{\large $x+y$} + y$
然后,\large
除了更改当前文本字体之外,还安排如果在该范围内使用数学,所有 3 * 16 数学字体设置都将被更改,因此嵌套的数学列表 x + y 将使用更大的字体。
如果您尝试\large
直接在外部数学列表中使用,则 LaTeX 会警告使用错误(它可能应该是错误而不是警告)。实际发生的情况取决于大小更改的具体使用位置。它可能适用于整个表达式,包括大小更改之前的项,它可能根本没有可见的效果,或者它可能似乎有效并且仅适用于子公式(如果由于技术原因,子公式已经是一个新的嵌套数学列表,例如数组单元格)。
答案3
这是一个不同帽子或平行线的情况。
如果将系列视为字体内的(已格式化的)字形集合,则可能更容易理解该概念。
在文本中,x
(字形 U+0078 拉丁小写字母 X)可以根据字体文件排版为直立、斜体或粗体等。
在数学中,