格式化化学反应

格式化化学反应

这是我想提出的反应草案

\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[full]{textcomp}
\usepackage[greek,italian]{babel}
\usepackage[margin=2cm,top=1cm,headheight=16pt,headsep=0.1in,heightrounded]{geometry}

\usepackage{tikz}
\usepackage[version=3]{mhchem}
    \mhchemoptions{layout=stacked}
\usepackage{chemfig}
\usepackage{chemformula}

\begin{document}

\noindent\fcolorbox{red}{white}{%
\begin{minipage}{5cm}
    \schemestart
    (A) \chemfig{*6(-(-OH)=-=(-Cl)-=)} \+ 2\chemfig{NH_3}
    \schemestop\\
    \schemestart
    (B) \chemfig{*6(-(-OH)=-=(-NO_2)-=)} \+ 2\chemfig{H_2}
    \schemestop
\end{minipage}
}
\noindent\fcolorbox{blue}{white}{%
\begin{minipage}{3cm}
\begin{tikzpicture}
\draw[-{Triangle[]}] (0,0.75) -- (3,-1);
\end{tikzpicture}\\

\begin{tikzpicture}
\draw[-{Triangle[]}] (0,-0.75) -- (3,1);
\end{tikzpicture}
\end{minipage}
}
\noindent\fcolorbox{green}{white}{%
\begin{minipage}{4cm}
    \schemestart
    \chemfig{*6(-(-OH)=-=(-NH_2)-=)}
    \schemestop
\end{minipage}
}

\end{document}

在此处输入图片描述

具体来说,我发现在反应 (A) 和反应 (B) 之间创建空间而不失去其左对齐的问题,以及将反应 (A) 和 (B) 的箭头对齐到最终产品的问题。我给迷你页面的边缘上色只是为了意识到它们的大小。tikz 文档相当分散,我找不到任何相关信息。

答案1

如果我理解正确的话......

\documentclass[12pt]{article}
\usepackage{chemfig}

\begin{document}
\schemestart
\makebox[2em][l]{(A)}\chemfig{*6(-(-OH)=-=(-Cl)-=)} \+ 2 \chemfig{@{a}NH_3}
\schemestop

\vspace{4ex}
\schemestart
\makebox[2em][l]{(B)}\chemfig{*6(-(-OH)=-=(-NO_2)-=)} \+ 2 \chemfig{@{b}H_2}
\schemestop

\begin{tikzpicture}[remember picture, overlay]
\coordinate (A) at ([xshift=2em]a.center);
\coordinate (B) at (A |- b.center);
\path (A) -- (B) node[midway, xshift=12em] (c) {\chemfig{*6(-(-OH)=-=(-NH_2)-=)}};
\draw[-{Triangle[]}, shorten >=1ex] (A) -- (c.west);
\draw[-{Triangle[]}, shorten >=1ex] (B) -- (c.west);
\end{tikzpicture}
\end{document}

在此处输入图片描述

编辑

您指的是这种对齐吗?

\documentclass[12pt]{article}
\usepackage{chemfig}

\begin{document}
\schemestart
\makebox[2em][l]{(A)}\chemfig{*6(-(@{a1}-OH)=-=(-Cl)-=)} \+ 2 \chemfig{@{a}NH_3}
\schemestop

\vspace{4ex}
\schemestart
\makebox[2em][l]{(B)}\chemfig{*6(-(-OH)=-=(@{b1}-NO_2)-=)} \+ 2 \chemfig{@{b}H_2}
\schemestop

\begin{tikzpicture}[remember picture, overlay]
\coordinate (A) at ([xshift=2em]a.center);
\coordinate (B) at (A |- b.center);
\path (a1) -- (b1) node[midway, xshift=20em] (c) {\chemfig{*6(-(-OH)=-=(-NH_2)-=)}};
\draw[-{Triangle[]}, shorten >=1ex] (A) -- (c.west);
\draw[-{Triangle[]}, shorten >=1ex] (B) -- (c.west);
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

是否可以使用 chemfig 的“合并”命令执行类似操作

\documentclass[margin={2mm 2mm}]{standalone}
\usepackage{tikz}
\usepackage{chemfig}

\begin{document}
\schemestart[-90]
%
\makebox[20pt]{(A)}\chemfig{*6(-(-@{z}OH)=-=(-C\ell)-=)} \+ \chemfig{2N@{a}H_3}
%
\arrow{0}
%
\makebox[20pt]{(B)}\chemfig{*6(-(-OH)=-=(-NO_2)-=)} \+ \chemfig{2N@{b}H_3}
%
\merge(c1)(c2)--()
%
\chemfig{*6(-(-OH)=-=(-NH_2)-=[@{c}])}
%
\schemestop
\end{document}

在此处输入图片描述

或者可以使用更多的代码来调整反应:

\documentclass[margin={2mm 2mm}]{standalone}
\usepackage{chemfig}


\begin{document}
\schemestart[-90]
%
\subscheme{
%
\chemfig{*6(-(-@{z}OH)=-[@{y}]=(-C\ell)-=[@{m}])} \arrow(@{y}--){0}[0,.1]\+ \chemfig{2N@{a}H_3}
%
\arrow(@{m}--){0}[180,.5]\makebox{(A)}
}
%
\arrow{0}
%
\subscheme{
\chemfig{*6(-(-OH)=-[@{w}]=(-NO_2)-=[@{n}])} \arrow(@{w}--){0}[0,.1]\+ \chemfig{2N@{b}H_3}
%
\arrow(@{n}--){0}[180,.5]\makebox{(B)}
}
%
\merge(c3)(c7)--()
%
\chemfig{*6(-(-OH)=-=(-NH_2)-=[@{c}])}
%
\schemestop
\end{document}

在此处输入图片描述

相关内容