我想相對於一個符號對齊幾行,比如說一個等號,上面寫有其他東西(使用\overset
),同時考慮到符號上面寫的內容,考慮到間距,如下所示:
但是,我不能將“&”放入 的參數中\overset
,因為這在語法上似乎是被禁止的。當它被放在 旁邊時\overset
,這些線當然不會與等號對齊:
我嘗試使用\mathclap
,它提供了我想要的對齊方式,但間距變得太緊:
這是我的最小工作範例:
\documentclass[a4paper,12pt,fleqn]{article}
\usepackage[fleqn]{amsmath}
\usepackage{amsmath, amssymb, graphics, setspace}
\usepackage{latexsym}
\usepackage{mathtools}
\begin{document}
Placing "\&" next to overset:
\begin{alignat*}{1}
\textrm{some expression} & \overset{(23.1)}{=}\textrm{other expression}\\
& \overset{(1.3)}{=}\textrm{other expression}\\
& \overset{(2.4,3.5)}{=}\textrm{other expression}
\end{alignat*}
Using mathclap:
\begin{alignat*}{1}
\textrm{some expression} & \overset{\mathclap{(23.1)}}{=}\textrm{other expression}\\
& \overset{\mathclap{(1.3)}}{=}\textrm{other expression}\\
& \overset{\mathclap{(2.4,3.5)}}{=}\textrm{other expression}
\end{alignat*}
How I want it to look like:
\begin{alignat*}{1}
\textrm{some expression} & \quad\overset{\mathclap{(23.1)}}{=}\quad\textrm{other expression}\\
& \quad\overset{\mathclap{(1.3)}}{=}\quad\textrm{other expression}\\
& \quad\overset{\mathclap{(2.4,3.5)}}{=}\quad\textrm{other expression}
\end{alignat*}
Of course, adding spaces manually as done here is not a satisfactory solution to the problem.
\end{document}
答案1
答案2
這使用了包\tabularCenterstack
中的一個tabstackengine
。列間寬度由 控制\setstacktabulargap{0pt}
。行間基線跳躍由 控制\setstackgap{L}{1.4\baselineskip}
。
\documentclass[a4paper,12pt,fleqn]{article}
\usepackage[fleqn]{amsmath}
\usepackage{amsmath, amssymb, graphics, setspace}
\usepackage{latexsym}
\usepackage{mathtools}
\usepackage{tabstackengine}
\stackMath
\def\poverset{\protect\overset}
\setstackgap{L}{1.4\baselineskip}
\setstacktabulargap{0pt}
\begin{document}
Using \verb|\tabularCenterstack|:
\[
\tabularCenterstack{rcl}{
\textrm{some expression} & \poverset{(23.1)}{=}&\textrm{other expression}\\
& \poverset{(1.3)}{=}&\textrm{other expression}\\
& \poverset{(2.4,3.5)}{=}&\textrm{other expression}
}
\]
\end{document}