
Я хочу использовать xelatex, чтобы нарисовать уравнение химии, которое содержит горизонтальный бензол. Но его не удалось разместить как следует, как здесь:
И я хочу вот это, за исключением неприятного пробела:
Вот мой код:
Плохой:
\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}
Хороший:
\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}
Что я должен делать?
решение1
Прежде всего, пожалуйста, избегайте использования $$ ... $$
в документах LaTeX. СмотритеПочему \[ ... \] предпочтительнее, чем $$ ... $$?по некоторым причинам.
Вам необходимо понимать, чтопервыйатом в формуле chemfig определяет базовую линию формулы. Если вы это знаете, вы увидите, что первый атом первого бензола (который является просто точкой: крайним левым краем) выравнивается с Br2. То же самое справедливо для второго бензола и HBr.
В случае второго бензола это можно легко изменить, поместив Br на первое место в формуле:
\chemfig{Br-[4]*6(=-=-=-)}
Один из способов для первой формулы — нарисовать всю реакцию с помощью chemfig
собственного \schemestart ... \schemestop
механизма (см. часть IV руководства) и вставить невидимую стрелку длиной 0 после первого бензола:
\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}