
Я использую длинное уравнение с 6 строками. Я постоянно получаю номер уравнения в нижней части уравнения, а не в середине, как в других уравнениях.
Я использую:
\begin{equation}
\begin{aligned}
........
\end{aligned}
\end{equation}
Я пробовал \split
, \align*
, \aligned
, но ничего не вышло. Я думал, причина в том, что границы не свободны, но у меня такое же поведение, когда я обрезаю линии. Есть подсказка?
решение1
Когда уравнение должно быть помечено номером уравнения, LaTeX пытается поместить его рядом с уравнением. Если уравнение слишком широкое, номер уравнения будет помещен на одну строку ниже уравнения.
Для многострочных уравнений это работает так же. Если несколько строк уравнений должны получить один общий номер, LaTeX проверяет ширину полного уравнения (!) и, если она слишком широкая, помещает номер уравнения на одну строку ниже. Это то, что происходит в комбинации equation
-, aligned
которую вы используете. Это также показано в первом уравнении примера ниже: Хотя длина второй строки позволяет разместить номер уравнения рядом с ней, номер уравнения помещается на одну строку ниже, поскольку полное уравнение слишком широкое.
Один из возможных выходов — не задавать многострочное уравнение как одно уравнение с одним общим номером, а вместо этого как несколько уравнений, где только одно уравнение получает номер уравнения. Затем вы можете вручную выбрать строку полного уравнения, которая не слишком длинная и находится в желаемом вертикальном положении, и отключить номер уравнения во всех других строках. Во втором уравнении примера ниже я использую среду align
(которая добавляет номер уравнения к каждой строке отдельно) и отключаю номер строки первой строки. Аналогично вы можете использовать это и добавить \nonumber
ко всем строкам, кроме короткой в середине, чтобы получить вертикально центрированный номер уравнения (хотя может быть очень утомительно добавлять \nonumber
ко многим строкам).
Другая возможность — использовать \raisetag
макрос из amsmath
пакета, который позволяет вручную настроить позиционирование автоматически позиционируемого номера уравнения. Похоже, это не работает с equation
, поэтому я использую комбинацию gather
и aligned
для третьего уравнения в примере ниже и поднимаю номер уравнения с помощью \raisetag{\baselineskip}
до уровня последней строки. (На самом деле, \baselineskip
кажется, это немного слишком много, поэтому вам, возможно, придется попробовать разные длины, чтобы получить оптимальный результат.)
\documentclass{article}
\usepackage{showframe}
\usepackage{amsmath}
\usepackage{lipsum}
\begin{document}
\huge
\begin{equation}\begin{aligned}
\nabla a&=b\times c+d\vee e+f\odot g+h\sqcup i \\
&=j\in k+l\div m+n\bullet o
\end{aligned}\end{equation}
\begin{align}
\nabla a&=b\times c+d\vee e+f\odot g+h\sqcup i \nonumber\\
&=j\in k+l\div m+n\bullet o
\end{align}
\begin{gather}\raisetag{\baselineskip}\begin{aligned}
\nabla a&=b\times c+d\vee e+f\odot g+h\sqcup i \\
&=j\in k+l\div m+n\bullet o
\end{aligned}\end{gather}
\end{document}