我想控制方程的宽度,使它们不超过预定义的宽度。首先,我使用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}