Posicionamento horizontal de setas verticais entre linhas em um alinhamento

Posicionamento horizontal de setas verticais entre linhas em um alinhamento

Estou tentando conseguir uma construção como

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

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

insira a descrição da imagem aqui

para parecer bem. O problema é que \Downarrownão está centralizado horizontalmente entre os =sinais. Embora eu entenda por que isso acontece e por que \mathrel{\Downarrow}não ajuda, não sei como consertar. Estou ciente da \ArrowBetweenLines[\Downarrow]função em mathtools, mas isso é para ter a seta à esquerda das linhas alinhadas. Idealmente, eu gostaria de algo que funcionasse da mesma maneira \vdotswithin{=}(de mathtools). Isso existe em algum lugar? Ou seria difícil "criar manualmente uma caixa correspondente {}={}e compor uma" \Downarrow"centralizada dentro dela"?

Responder1

Aqui está a definição de \vdotswithinfrommathtools:

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

Você pode atualizar isso para algo chamado \symbolwithin{<symbol>}{<within symbol>}(digamos):

insira a descrição da imagem aqui

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

Responder2

Aqui, coloquei a seta para baixo em uma caixa do tamanho de um sinal de igual

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

insira a descrição da imagem aqui

informação relacionada