Горизонтальное расположение вертикальных стрелок между линиями в ряду

Горизонтальное расположение вертикальных стрелок между линиями в ряду

Я пытаюсь получить конструкцию типа

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

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

введите описание изображения здесь

чтобы хорошо выглядеть. Проблема в том, что \Downarrowне отцентрирован по горизонтали между =знаками. Хотя я понимаю, почему это происходит и почему \mathrel{\Downarrow}не помогает, я не знаю, как это исправить. Я знаю о функции \ArrowBetweenLines[\Downarrow]в mathtools, но она предназначена для того, чтобы стрелка была слева от выровненных линий. В идеале я хотел бы что-то, что работает так же, \vdotswithin{=}как (из mathtools). Существует ли где-нибудь такое? Или будет сложно вручную «создать соответствующее поле {}={}и набрать a» \Downarrow«по центру внутри него»?

решение1

Вот определение слова \vdotswithinfrommathtools:

\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}

введите описание изображения здесь

Связанный контент