这是我想提出的反应草案
\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}