如何限制方程的宽度?

如何限制方程的宽度?

我想控制方程的宽度,使它们不超过预定义的宽度。首先,我使用minipage环境并将 放在eqnarray其中。这不会在方程前后产生换行符。我手动使用换行符,然后文本和方程之间会有额外的空间。有没有其他方法可以在不影响换行符的情况下为方程设置特定宽度?我特别想使用eqnarray而不是任何其他环境,例如align用于排版方程的环境。

\documentclass[]{article}
    \newenvironment{myenv}{ \begin{minipage}{5cm}\begin{eqnarray}
      }{\end{eqnarray}\end{minipage} }

\begin{document}


dummy text here
\begin{myenv}
  a &= s^3-s
  \\
  b &=s^2+s
\end{myenv}
dummy text here

\end{document}

在此处输入图片描述

添加换行符:

\newenvironment{myenv}{\\ \begin{minipage}{5cm}\begin{eqnarray}
  }{\end{eqnarray}\end{minipage} \\}

在此处输入图片描述

答案1

在此处输入图片描述

\documentclass[]{article}
    \newenvironment{myenv}[1]
{\everydisplay{\setlength\displaywidth{#1}}\begin{eqnarray}}
{\end{eqnarray}\ignorespacesafterend}


\begin{document}

\noindent X\dotfill X

dummy text here X\dotfill X
\begin{myenv}{5cm}
  a &= s^3-s
  \\
  b &=s^2+s
\end{myenv}
dummy text here

dummy text here  X\dotfill X
\begin{myenv}{3cm}
  a &= s^3-s
  \\
  b &=s^2+s
\end{myenv}
dummy text here

dummy text here  X\dotfill X
\begin{myenv}{10cm}
  a &= s^3-s
  \\
  b &=s^2+s
\end{myenv}
dummy text here

\end{document}

相关内容