Como fazer um anel ter alinhamento vertical corretamente?

Como fazer um anel ter alinhamento vertical corretamente?

Quero usar xelatex para desenhar uma equação química que contenha um benzeno horizontal. Mas não poderia ser bem colocado, assim: má posição

E eu quero isso, exceto o espaço em branco desagradável: boa posição, mas com espaço em branco

Aqui está o meu código:

Ruim:

\documentclass{article}
\usepackage{chemfig}
\usepackage[version=4,arrows=pgf]{mhchem}

\begin{document}

$$
\ce{\chemfig{[:-30]*6(-=-=-=)} + Br2 ->[Fe / FeBr3] \chemfig{[:-30]*6(-=-(-Br)=-=)} + HBr}
$$

\end{document}

Bom:

\documentclass{article}
\usepackage{chemfig}
\usepackage[version=4,arrows=pgf]{mhchem}

\begin{document}

$$
\ce{\chemfig{\vphantom{C}([:-30]*6(-=-=-=))} + Br2 ->[Fe / FeBr3] \chemfig{\vphantom{C}([:-30]*6(-=-(-Br)=-=))} + HBr}
$$

\end{document}

O que devo fazer?

Responder1

Em primeiro lugar, evite usar $$ ... $$um documento LaTeX. VerPor que \[... \] é preferível a $$... $$?por motivos.

Você precisa entender queprimeiroátomo em uma fórmula chemfig determina a linha de base da fórmula. Se você souber disso, verá que o primeiro átomo do primeiro benzeno (que é apenas um ponto: a borda mais à esquerda) se alinha com o Br2. O mesmo vale para o segundo benzeno e o HBr.

No caso do segundo benzeno, isso pode ser facilmente alterado colocando Br primeiro na fórmula:

\chemfig{Br-[4]*6(=-=-=-)}

Uma forma de usar a primeira fórmula é desenhar toda a reação com chemfigo próprio \schemestart ... \schemestopmecanismo de (ver parte IV do manual) e inserir uma seta invisível de comprimento 0 após o primeiro benzeno:

\documentclass{article}
\usepackage{chemfig}
\usepackage[version=4,arrows=pgf]{mhchem}

\begin{document}

\begin{center}
\schemestart
  \chemfig{[:-30]*6(-=-=-=)}
  \arrow{0}[,0]
  \+
  \ce{Br2}
  \arrow{->[Fe / \ce{FeBr3}]}[,1.5]
  \chemfig{Br-[4]*6(=-=-=-)}
  \+
  HBr
\schemestop
\end{center}

\end{document}

insira a descrição da imagem aqui

informação relacionada