如何重新定义equation
和align
环境以使用字体大小9.0pt
?我发现这个很好解决方案(除了应用后开始一个新段落),允许我定义单个equation
或align
环境的字体大小:
\begingroup\makeatletter\def\f@size{9.0}\check@mathfonts
\def\maketag@@@#1{\hbox{\m@th\normalsize\normalfont#1}}
\begin{equation}
...
\end{equation}\endgroup
或者不调整方程数也可以:
\begingroup\makeatletter\def\f@size{9.0}\check@mathfonts
\begin{equation}
...
\end{equation}\endgroup
我喜欢在全球范围内应用它而不使用不同的环境名称。
编辑:一些可编译的示例(尽管我必须使用不同的文档类):
\documentclass[10pt,a4paper]{scrartcl}
\usepackage{amsmath}
\begin{document}
This is some text.
\begingroup\makeatletter\def\f@size{5.0}\check@mathfonts
\def\maketag@@@#1{\hbox{\m@th\normalsize\normalfont#1}}
\begin{equation}
P = NP
\end{equation}\endgroup
\end{document}
答案1
\documentclass{scrartcl}
\usepackage{lmodern,amsmath}
\makeatletter
\def\maketag@@@#1{\hbox{\m@th\normalsize\normalfont#1}}
\let\oldequation\equation
\def\equation{\def\f@size{5.0}\check@mathfonts\oldequation}
\makeatother
\begin{document}
This is some text.
\begin{equation}
P = NP
\end{equation}
\end{document}
答案2
您可以使用 在环境开头添加代码etoolbox
。例如,
\documentclass[10pt,a4paper]{scrartcl}
\usepackage{amsmath,etoolbox}
\AtBeginEnvironment{align}{%
\fontsize{5}{6}%
}
\AtBeginEnvironment{equation}{%
\fontsize{5}{6}%
}
\begin{document}
This is some text.
\begin{equation}
P = NP
\end{equation}
\begin{align}
P = NP
\end{align}
Here is some more text.
\end{document}
请注意,不建议使用硬编码的字体大小。在这种情况下,最好用 来替换\fontsize{5}{6}
,例如\tiny
,这对于以 为默认大小的文档而言是等效的10pt
。这有助于确保一致性并使您的代码更加灵活。