如何改变数学方程式中的字体大小?

如何改变数学方程式中的字体大小?

我发现,每当我在文档中输入一些方程式时,如果方程式有点复杂(比如括号中的分数、平方、平方根、分数),我放入方程式“内部”部分的变量和其他东西就会变得非常非常小。但如果我将字体大小设置为大得多,“内部”的内容就会变得可以忍受,但“外部”的内容(例如,“x = 很多垃圾”,x 会在“外部”)就会变得非常大!

我怎样才能使它更像我的教科书,其中所有变量都具有相同的大小,而不管它们下面的括号/分数/根号如何?

答案1

为了获得相等的大小,你可以\DeclareMathSizes在序言中使用。语法是

\DeclareMathSizes{display size}{text size}{script size}{scriptscript size}.

您可以简单地将所有字体大小设置为默认字体大小。在此示例中:

\documentclass[10pt]{article}
\begin{document}
\[
  x = \frac{1}{x + \frac{1}{x + \frac{1}{x}}}
\]
\end{document}

首先获得不同的尺寸:

替代文本

插入此行

\DeclareMathSizes{10}{10}{10}{10}

将输出更改为:

替代文本

答案2

您可以尝试\dfrac而不是\frac

答案3

把这个放在你的序言中,但在所有\usepackage命令之后:

\everymath=\expandafter{\the\everymath\displaystyle}

这将有效地添加\displaystyle到每个(内联)数学环境,使所有数学看起来都像显示的数学。

编辑:感谢 Charles 指出,\everymath如果现有标记列表已经不为空,则可以/应该以不破坏现有标记列表的方式完成此操作。正如 Willie 所说,这=是可选的。我喜欢使用它;它只是提醒我正在进行一些分配。

编辑2:楼主要求详细解释。我会尽力的。

首先,请记住,这\everymath是一个代币列表插入到每个数学模式材料的前面。因此,如果您键入,\everymath={\text{Here comes the math: }}您将在每个方程式前面看到它。 通过在每个数学模式前面 \everymath={\displaystyle}插入,可以做一些更有成效的事情。\displaystyle

当你或其他包已经修改时,就会出现问题\everymath。所以我们需要附加 \displaystyle\everymath标记列表。在伪 TeX 中,你想说:

\everymath={\currentcontentsof{\everymath}\displaystyle}

伪宏的 TeX 实现\currentcontentsof\the。因此更接近的近似值是:

\everymath={\the\everymath\displaystyle}

但这样会很麻烦,当 TeX 读取标记列表声明时,它只会读取标记无需扩大。也就是说,\the不会在这里展开,而是在第一次遇到数学模式时展开。这将导致 TeX 尝试展开,而这需要在其中\everymath展开。哎呀!无限循环。\everymath

因此你需要\the扩展你保存了 token 列表。因此\expandafter

\everymath=\expandafter{\the\everymath\displaystyle}

当 TeX 读取 时\everymath=,它期望得到一个标记列表。但是,它得到的是\expandafter,它表示“保留下一个标记,扩展下一个标记,然后将保留的标记放回原位并正常扩展。”因此,在扩展 {时,标记被推迟。需要另一个标记才能工作,因此读取下一个标记。这会将 中的两个标记替换为 中的当前标记。现在已放回原位,TeX 可以读取正常的标记列表声明。\the\the\everymath\the\everymath\everymath{

其他技术人员可能会纠正这个答案,但这是我的理解。

答案4

您可以在本地使用,\everymath方法是插入\begingroup\endgroup作为

\begingroup
\everymath{\scriptstyle}
\scriptsize
%your equation
\endgroup

相关内容