{align*}
由于矩阵太宽,我需要在环境中创建一个方程,使其字体非常小。因此我使用这种方法,可以在如何改变数学方程式中的字体大小
\begingroup
\everymath{\scriptsize}
\scriptsize
\begin{bmatrix}
.... very wide matrix here..
\end{bmatrix}
\endgroup
这总是有效,即使我LaTeX Font Warning: Command \scriptsize invalid in math mode on input line ....
总是看到。所以我忽略了这些,因为它有效,并且它确实使其成为脚本大小的字体。
但是现在我在普通数学(即非矩阵环境)上尝试了它,它没有效果,并且数学大小没有改变。
我想问为什么它适用于bmatrix
普通数学,而不适用于普通数学。这是一个 MWE
\documentclass[11pt]{article}%
\usepackage{amsmath}
\usepackage{mathtools}
\begin{document}
\begin{align*}
T & =
\begingroup
\everymath{\scriptsize}
\scriptsize
\begin{bmatrix}
\cos(x) %this works, i.e. the font becomes scriptsize
\end{bmatrix}
\endgroup
\\
& =
\begin{bmatrix}
\cos(x) %this is to compare size with the above
\end{bmatrix}
\\
& =
\begingroup
\everymath{\scriptsize}
\scriptsize
\cos(x) %this does not work, font size does not change!
\endgroup
\end{align*}
\end{document}
这是 pdf
我们可以看到它在第一种情况下确实有效,但对普通数学无效。请注意,我需要更改大型align
环境中的一个方程。而不是整个对齐的环境。所以这就是我使用这种方法的原因,因为我不知道其他方法可以做到这一点。
答案1
首先,\everymath={\scriptsize}
是错误的。它以某种方式工作,但有警告。因此,打开一个,\hbox
它会让您退出数学模式,选择\scriptsize
,在中打开一个公式\displaystyle
,最后关闭公式和框。
\documentclass[11pt]{article}
\usepackage{amsmath}
\usepackage{mathtools}
\newenvironment{reduce}
{\hbox\bgroup\scriptsize$\displaystyle}
{$\egroup}
\begin{document}
\begin{align*}
T & =
\begin{reduce}
\begin{bmatrix}
\cos(x) %this works, i.e. the font becomes scriptsize
\end{bmatrix}
\end{reduce}
\\
& =
\begin{bmatrix}
\cos(x) %this is to compare size with the above
\end{bmatrix}
\\
& =
\begin{reduce}
\cos(x) %this does not work, font size does not change!
\end{reduce}
\end{align*}
\end{document}