子方程环境中的字体大小!

子方程环境中的字体大小!

如何在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”等等。

如果我把它放进\textstyleeqnarray,它就会起作用,但是我需要把所有的方程式都放进去。

请问,如何更改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相同,并且对方程式的排版没有影响。subequationsequation

如果你坚持使用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}

相关内容