对齐线之间垂直箭头的水平定位

对齐线之间垂直箭头的水平定位

我正在尝试获得像这样的结构

\documentclass{article}
\usepackage{amsmath,mathtools}

\begin{document}
\begin{align*}
  a &= b \\
    &\Downarrow \\
  a &= c
\end{align*}
\end{document}

在此处输入图片描述

看起来不错。问题是 不在符号\Downarrow之间水平居中=。虽然我理解为什么会发生这种情况以及为什么 a\mathrel{\Downarrow}没有帮助,但我不知道如何修复它。我知道\ArrowBetweenLines[\Downarrow]中的功能mathtools,但那是为了让箭头位于对齐线的左侧。我理想情况下想要以与 相同的方式工作的东西\vdotswithin{=}(来自mathtools)。这存在吗?或者手动“创建一个与之对应的框{}={}并排版 a”会很困难吗\Downarrow?“居中”?

答案1

\vdotswithin以下是from的定义mathtools

\newcommand\vdotswithin[1]{%
  {\mathmakebox[\widthof{\ensuremath{{}#1{}}}][c]{{\vdots}}}}

您可以将其更新为\symbolwithin{<symbol>}{<within symbol>}(例如):

在此处输入图片描述

\documentclass{article}

\usepackage{mathtools}

\newcommand\symbolwithin[2]{%
  {\mathmakebox[\widthof{\ensuremath{{}#2{}}}][c]{{#1}}}}

\begin{document}

\begin{align*}
  a &= b \\
    &\symbolwithin{\Downarrow}{=} \\
  a &= c
\end{align*}

\end{document}

答案2

在这里,我把向下箭头放在一个等号大小​​的框里

\documentclass{article}
\usepackage{amsmath,mathtools,calc}
\begin{document}
\begin{align*}
  a &= b \\
    &\makebox[\widthof{${}={}$}]{$\Downarrow$} \\
  a &= c
\end{align*}
\end{document}

在此处输入图片描述

相关内容