如何在subequations
环境中更改字体大小?见下文:
\begin{equation}
\textstyle
\xi_{1} = A + B + C;
\end{equation}
该命令\textstyle
在方程环境中运行良好,但在subequations
环境内部(再次参见下文)却不起作用。
\begin{subequations}
\textstyle
\begin{eqnarray}
\xi_{1} = A + B + C \\
\xi_{2} = E + F + G \\
\xi_{3} = H + I + J
\end{eqnarray}
\end{subequations}
我给出错误:
“缺少插入的 $。”,“缺少插入的 \endgroup。”,“您不能在数学模式下使用 \halign”等等。
如果我把它放进\textstyle
去eqnarray
,它就会起作用,但是我需要把所有的方程式都放进去。
请问,如何更改subequations
环境中的数学字体大小?
答案1
定义一个alignts
与 相同align
但\textstyle
始终使用 的环境。
长比对的问题通过发出 来解决。我用 216 个方程测试过,没有任何问题。在任何情况下\allowdisplaybreaks
都不要使用。eqnarray
\documentclass{article}
\usepackage{amsmath}
\usepackage{etoolbox}
\makeatletter
\let\alignts@preamble\align@preamble
\patchcmd{\alignts@preamble}{\displaystyle}{\textstyle}{}{}
\patchcmd{\alignts@preamble}{\displaystyle}{\textstyle}{}{}
\def\alignts{\let\align@preamble\alignts@preamble\start@align\@ne\st@rredfalse\m@ne}
\let\endalignts\endalign
\makeatother
\allowdisplaybreaks
\begin{document}
\begin{alignts}
\xi_{1} &= \sum_{i=1}^n a_i \\
\xi_{2} &= \int_a^b f(x)\,dx \\
\xi_{3} &= \bigvee_i v_i
\end{alignts}
\end{document}
将其嵌入到环境中,结果将与仅改变计数器subequations
相同,并且对方程式的排版没有影响。subequations
equation
如果你坚持使用eqnarray
,结果是一样的:
\documentclass{article}
\usepackage{amsmath}
\usepackage{etoolbox}
\makeatletter
\let\eqnarrayts\eqnarray
\patchcmd{\eqnarrayts}{\displaystyle}{\textstyle}{}{}
\patchcmd{\eqnarrayts}{\displaystyle}{\textstyle}{}{}
\let\endeqnarrayts\endeqnarray
\makeatother
\allowdisplaybreaks
\begin{document}
\begin{eqnarrayts}
\xi_{1} = \sum_{i=1}^n a_i \\
\xi_{2} = \int_a^b f(x)\,dx \\
\xi_{3} = \bigvee_i v_i
\end{eqnarrayts}
\end{document}