我查看了相关的几个问题align
,split
但没有看到任何解决这个特定对齐问题的内容:
我有类似以下方程式的内容,条件右对齐。其中一个条件比列允许的空间长,这会将所有内容推离页面并将方程式编号移到所有行下方。
\begin{align}
& x = a + b + c + d + e + f + g + h + i + j, & \text{some condition} \\
& y = a + b + c + d + e + f + g + h + i + j, & \text{some much longer condition}
\end{align}
我想把它拆分成如下形式:
x = a + b + c + d + e + f + g + h + i + j 某些条件 (1) y = a + b + c + d + e + f + g + h + i + j (2) 一些更长期的情况
我尝试用split
环境来解决这个问题但没有任何运气,尽管尝试了许多不同的位置,&
例如:
\begin{align}
& x = a + b + c + d + e + f + g + h + i + j, & \text{some condition} \\
\begin{split}
& y = a + b + c + d + e + f + g + h + i + j, \\
& \text{some much longer condition}
\end{split}
\end{align}
最后,我只是将长条件分成下面这样的两行,但我不确定产品看起来是否好看。
\begin{align}
& x = a + b + c + d + e + f + g + h + i + j, & \text{some condition} \\
& y = a + b + c + d + e + f + g + h + i + j, \begin{split}
\text{some} \\
\text{much} \\
\text{longer} \\
\text{condition}
\end{split}
\end{align}
有没有什么办法可以利用该align
环境实现我最初的目标?
以下是 MWE:
\documentclass{article}
\usepackage{amsmath}
\usepackage{mathtools}
\setlength{\textwidth}{30em}
\begin{document}
\section{No split}
\begin{align}
& x = a + b + c + d + e + f + g + h + i + j, & \text{some condition} \\
& y = a + b + c + d + e + f + g + h + i + j, & \text{some much longer condition}
\end{align}
\section{Attempted whole line split}
\begin{align}
& x = a + b + c + d + e + f + g + h + i + j, & \text{some condition} \\
\begin{split}
& y = a + b + c + d + e + f + g + h + i + j, \\
& \text{some much longer condition}
\end{split}
\end{align}
\section{Word break split}
\begin{align}
& x = a + b + c + d + e + f + g + h + i + j, & \text{some condition} \\
& y = a + b + c + d + e + f + g + h + i + j, \begin{split}
\text{some} \\
\text{much} \\
\text{longer} \\
\text{condition}
\end{split}
\end{align}
\end{document}
截屏:
答案1
您可以在零宽度框内设置“更长的解释”,并让它延伸到align
对齐点:
\documentclass{article}
\usepackage{amsmath}
\setlength{\textwidth}{30em}
\begin{document}
\begin{align}
& x = a + b + c + d + e + f + g + h + i + j, & \text{some condition} \\
& y = a + b + c + d + e + f + g + h + i + j, & \\
& & \makebox[0pt][r]{some much longer condition} \nonumber
\end{align}
\end{document}
标签(2)
可以垂直对齐:
\begin{align}
& x = a + b + c + d + e + f + g + h + i + j, & \text{some condition} \\
& \begin{array}{@{} l}
y = a + b + c + d + e + f + g + h + i + j, \\
\mathstrut
\end{array} &
\begin{array}{ r @{}}
\mathstrut \\
\makebox[0pt][r]{some much longer condition}
\end{array}
\end{align}
答案2
您还可以使用这些变体,使用 和\llap
,align
或\parbox{some width}
和flalign
:
\documentclass{article}
\usepackage{mathtools}
\usepackage[showframe]{geometry}
\setlength{\textwidth}{30em}
\begin{document}
\begin{align}
& x = a + b + c + d + e + f + g + h + i + j, & \text{some condition} & \\
& y = a + b + c + d + e + f + g + h + i + j,\\
& &\llap{some much longer condition}& \nonumber
\end{align}
\begin{flalign}
& & x & = a + b + c + d + e + f + g + h + i + j, & & \text{some condition} \\
& & y & = a + b + c + d + e + f + g + h + i + j, & &\parbox[t]{2.5cm}{\raggedright some much longer condition}
\end{flalign}
\end{document}