正如标题所述,我想制作三列对齐的方程式。第一列与上方的文本左对齐,第二列居中,最后一列与文本右对齐。我正在使用对齐环境,但对齐看起来不太正确。我真的只是 LaTeX 的初学者,所以请原谅我提出的一些琐碎问题。
答案1
若要在方程式中设置三列,请使用 分隔的组&
。您可以控制整个方程式环境是居中 ( align
) 还是分布在页面上 ( flalign
)。
如果你想要一个非中心方程,你也可以flalign
在里面包裹minipage
计算出的强制参数宽度和水平间距。
\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage[nopar]{kantlipsum}
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.2pt}
\renewcommand\ShowFrameColor{\color{green}}
\begin{document}
\kant[1][1]
\begin{align*}
\alpha_i &= a_ib_j - \beta_i\gamma_j & \gamma_i &=r_i - r_j & a &= b + c + d + e\\
\alpha_j &= c - \beta_j & \gamma_j &=r_j - r_k & f &= g + h \\
\alpha_k &= d + \gamma_k & \gamma_k &=r_h - r_i & i &= j + k + l
\end{align*}
\kant[2][1]
\begin{flalign*}
\alpha_i &= a_ib_j - \beta_i\gamma_j & \gamma_i &=r_i - r_j & a &= b + c + d + e\\
\alpha_j &= c - \beta_j & \gamma_j &=r_j - r_k & f &= g + h \\
\alpha_k &= d + \gamma_k & \gamma_k &=r_h - r_i & i &= j + k + l
\end{flalign*}
\kant[3][1]
\par\noindent\hspace{60pt}%
\begin{minipage}{\dimexpr\textwidth-70pt} % 60pt+10pt (left+right margin)
\begin{flalign*}
\alpha_i &= a_ib_j - \beta_i\gamma_j & \gamma_i &=r_i - r_j & a &= b + c + d + e\\
\alpha_j &= c - \beta_j & \gamma_j &=r_j - r_k & f &= g + h \\
\alpha_k &= d + \gamma_k & \gamma_k &=r_h - r_i & i &= j + k + l
\end{flalign*}
\end{minipage}
\end{document}
答案2
\documentclass{article}
\usepackage{blindtext}
\usepackage{amsmath}
\begin{document}
\blindtext
% See also https://www.overleaf.com/learn/latex/Aligning_equations_with_amsmath,
% https://tex.stackexchange.com/questions/239252, and
% https://tex.stackexchange.com/questions/3782.
\begin{multline} % Remark: "multline" is written without an "i" after "mult".
p(x) = 3x^6 + 14x^5y + 590x^4y^2 + 19x^3y^3\\
- 12x^2y^4 - 12xy^5 + 2y^6 - a^3b^3\\
- 12x^2y^4 - 12xy^5 + 2y^6 - a^3b^3
\end{multline}
\blindtext
\end{document}