对齐环境中的自定义列对齐

对齐环境中的自定义列对齐

我需要排版两列方程式,每行都排版为方程式编号,就像普通方程式一样。第一列必须居中,第二列必须左对齐。会有很多行,因此必须在适当的分页符处自动换行。

有很多相关问题,但我找不到任何现有的解决方案可以让我做我想做的事情。(对齐环境不能接受可选的列对齐说明符,这真的很痛苦。)

答案1

align页分隔很简单:添加\allowdisplaybreaks[1]到序言中。

而且由于您的第一列是文本,因此将其置于中心也很简单align:只需将其包装在\makebox比所有图像都大的区域中(将其内容置于中心)并align正常使用即可。

\documentclass{article}
\usepackage{amsmath}

\allowdisplaybreaks[1]
\newcommand{\centerdia}[1]{\makebox[2in]{\includegraphics{#1}}}
\begin{document}
\begin{align}
  \centerdia{dia1} & c=20x^2+5x-10+\frac{x^3-4x^2+500x-f(240)}{50}  \\
  \centerdia{dia2} & \mu=10*\epsilon\\
  \centerdia{dia3} & \mu=10*\epsilon
\end{align}
\end{document}

答案2

使用修改后的版本align;更改2\tabcolsep为您喜欢的分隔方式。

\documentclass{article}
\usepackage{amsmath,environ}
\makeatletter
\NewEnviron{specialalign}
  {\def\align@preamble{%
     &\hfil
      \strut@
      \setboxz@h{\@lign$\m@th\displaystyle{####}$}%
      \ifmeasuring@\savefieldlength@\fi
      \set@field
      \hfil
      \tabskip2\tabcolsep
     &\setboxz@h{\@lign$\m@th\displaystyle{{}####}$}%
      \ifmeasuring@\savefieldlength@\fi
      \set@field
      \hfil
      \tabskip\alignsep@
  }%
  \begin{align}\BODY\end{align}}
\makeatother

\begin{document}
\begin{specialalign}
x & a=b \\
yyy & c=d+e+f \\
zzzzzz & 1\ne0
\end{specialalign}
\end{document}

在此处输入图片描述

相关内容