我想展示一个化学方程式,但所有反应物都不对齐。我怎样才能垂直居中对齐 E^+?这是我的代码:
\documentclass{report}
\usepackage[version=3]{mhchem}
\usepackage{mol2chemfig}
\usepackage{float}
\usepackage{chemfig, chemmacros}
\usepackage{tikz}
\tikzset{
elmove/.style={->,shorten >=3pt, shorten <=3pt}
}
\renewcommand*\printatom[1]{\ensuremath{\mathsf{#1}}}
\setatomsep{2em}
\setdoublesep{.6ex}
\setbondstyle{semithick}
\begin{document}
\begin{figure}[H]
\centering
\schemestart
\chemfig{
H% 7
-[:240]% 1
-[:180]% 2
(
-[:120]H% 8
)
(
-[:300,,,,draw=none]\mcfcringle{1.3}% (o)
)
-[:240]% 3
(
-[:180]H% 9
)
-[:300]% 4
(
-[:240]H% 10
)
-% 5
(
-[:300]H% 11
)
-[:60]% 6
(
-[:120]% -> 1
)
-H% 12
}
{+}
{E$^+$}
\arrow{->}
\chemfig{
H% 7
-[:240]% 1
-[:180]% 2
(
-[:120]H% 8
)
(
-[:300,,,,draw=none]\mcfcringle{1.3}% (o)
)
-[:240]% 3
(
-[:180]E% 9
)
-[:300]% 4
(
-[:240]H% 10
)
-% 5
(
-[:300]H% 11
)
-[:60]% 6
(
-[:120]% -> 1
)
-H% 12
}
\schemestop
\caption{Allmän reaktionsformel för elektrofil aromatisk substitution}
\label{elsub}
\end{figure}
\end{document}
答案1
我认为您的代码比实际需要的要复杂。首先,不需要定义环中的角度。Chemfig 会自动知道这一点。其次,如果操作正确,E^+ 会自动对齐。这是我的建议:
\documentclass{report}
\usepackage{chemfig}
\usepackage{float}
\renewcommand*\printatom[1]{\ensuremath{\mathsf{#1}}}
\setatomsep{2em}
\setdoublesep{.6ex}
\setbondstyle{semithick}
\begin{document}
\begin{figure}[H]
\centering
%\schemedebug{true}
\schemestart
\chemfig{[:-30]**6((-H)-(-H)-(-H)-(-H)-(-H)-(-H)-)}
\arrow{0}[,0]\+
\chemfig{E^+}
\arrow
\chemfig{[:-30]**6((-E)-(-H)-(-H)-(-H)-(-H)-(-H)-)}
\schemestop
\caption{Allmän reaktionsformel för elektrofil aromatisk substitution}
\label{elsub}
\end{figure}
\end{document}
您可能会调整大小、对齐方式等,但原则上它可以完成您想要的操作而不需要额外的包和太多的输入。