我想排版一个包含多个等式和长项的等式。
每个等号应在新行上左对齐。但流到新行的剩余项应右对齐。
这是一个最小示例,我使用对齐符号来定位等式的各个部分:
\begin{align*}
&p_{very\;long\;function}(x) =&& \\
&&\int f_{very \; long \; integral \; terms}(x)&\\
&&\mathcal{N}(x; 0, \sigma^2) dx&\\
&= 2&&
\end{align*}
对齐将方程式推开。它确实会将其左右对齐,但各个列不能重叠。因此,它与仅将线条左右流动不同。
我想要得到的是:
在上图中,等式的宽度与最宽的线一样宽。并且各个线是左对齐或右对齐的。
我搜索了有关如何配置对齐的相关问题。有很多类似的问题,但似乎都没有回答我的问题:
- 使用 alignat 将方程式与文本对齐
- https://stackoverflow.com/questions/62330024/latex-alignat-syntax
- 使用适当的 \left( 和 \right) 将多行方程对齐
- 使用左右注释对齐方程式
更新:
澄清一下我的问题:文档是双列模式。这就是为什么我需要一种紧凑的方式来排版我的方程式。
这是一个有 4 行的示例方程式。第一行和最后一行应该是左边界。第二个决定方程的宽度,第三个应该是右边界。
我认为关键问题是 align 和 alignat 列可能不重叠。
代码如下:
\begin{align*}
&p_{long \; function}(x) =\\
& \int f_{many\; very \; long \; integral \; terms}(x)\\
&\mathcal{N}(x; 0, \sigma^2) dx\\
&= 2
\end{align*}
它看起来应该是这样的:
答案1
我假设您处于双列模式,如果我理解您的要求,它们可以通过aligned
嵌套在外部的环境align*
(具有单个对齐列)来满足。但是,我还提出了另一种解决方案,基于multlined
:
\documentclass[twocolumn]{article}
\usepackage{mathtools}
\begin{document}
\begin{align*}
& p_\text{very\;long\;function}(x) = \\
& \phantom{{}={}} \begin{aligned}[t]\int f_\text{very long integral terms}(x)\\
\mathcal{N}(x; 0, \sigma^2)\, dx
\end{aligned}\\
& = 2
\end{align*}
\begin{align*}
& p_\text{very\;long\;function}(x) \\
& = \begin{multlined}[t]\int f_\text{very long integral terms}(x)\\
\mathcal{N}(x; 0, \sigma^2)\, dx
\end{multlined}\\
& = 2
\end{align*}
\end{document}
答案2
你必须正确地调整你的等式:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
p_{\text{very long function}}(x) &= &\\
\int f_{\text{very long integral terms}}(x)&\\
\mathcal{N}(x; 0, \sigma^2) dx &\\
&= 2 &
\end{align*}
\begin{alignat*}{3}
&p_{\text{very long function}}(x) =\\
&\int f_{\text{very long integral terms}}(x)&\\
&\mathcal{N}(x; 0, \sigma^2) dx&&\\
&= 2
\end{alignat*}
\end{document}
答案3
我会按照以下方式写出你的等式:
\documentclass{article}
\usepackage{newtxtext,newtxmath}
\usepackage{mathtools}
\begin{document}
\begin{align*}
p_{A}(x) & = \int f_{B}(x) \mathcal{N}(x; 0, \sigma^2)\, dx \\
& = 2
\shortintertext{where are}
A & = \text{very long function} \\
B & = \text{very long integral terms} \\
\end{align*}
\end{document}