我在 chemfig 中创建了两个分子,并想在两个分子中间垂直对齐放置一个 + 标记。手册中有一个示例(参见代码),但我无法使用自己的对齐方式重现它。
我怎样才能达到我想要的结果(也欢迎使用 tikz hacks,尽管我更喜欢留在 chemfig 中)
\documentclass{article}
\usepackage{chemfig}
\begin{document}
%my molecules, the + sign should be alligned in middle just as the manual example
\schemedebug{true}
\schemestart[][west]
\chemname{\chemfig{C(=O)(-[4]H)-[6]C(-H)(-[4]OH)-[6]CHOH}}{\footnotesize{L-glyceraldehyde}}
\arrow{0}[,0]\+
\chemname{\chemfig{COO\textsuperscript{-}-[6]C(=O)-[6]CH}}{\footnotesize{pyruvate}}
\schemestop
\bigskip
%example taken from the chemfig manual (page 67)
% + sign is correctly aligned to the middle.
\schemedebug{true}
\schemestart[][west]
\chemfig{C(<[:40])(<[:160])=[6]C(<[:-130])<[:-20]}
\arrow{0}[,0]\+
\chemfig{\lewis{246,Br}-\lewis{026,Br}}
\schemestop
\end{document}
答案1
您可以简单地插入第二个不可见的箭头,并可以使用可选参数\+{<dim1>,<dim2>,<dim3>}
(其中<dim1>
加号前的水平空格、<dim2>
加号后的水平空格和<dim3>
垂直移位)来垂直调整加号
\documentclass{article}
\usepackage{chemfig}
\begin{document}
\schemestart
\chemname{\chemfig{C(=O)(-[4]H)-[6]C(-H)(-[4]HO)-[6]CH_2OH}}{\footnotesize{L-glyceraldehyde}}
\arrow{0}[,0]\+{,,1.5em}\arrow{0}[2,0]
\chemname{\chemfig{COO^{-}-[6]C(=O)-[6]CH_3}}{\footnotesize{pyruvate}}
\schemestop
\end{document}
答案2
chemfig
一个更好的解决方案是将的代码以中间的“H”开头L-glyceraldehyde
,将 的代码以中间的“C”开头pyruvate
。这样,您就不需要技巧\arrow{0}
,也不需要调整 的垂直位置\+
。
\documentclass{article}
\usepackage{chemfig}
\begin{document}
\schemestart
\chemname{\chemfig{H-[4]C(-[6]CH_2OH)(-[4]HO)-[2]C(-[4]H)=O}}{\footnotesize{L-glyceraldehyde}}
\+
\chemname{\chemfig{C(=O)(-[6]CH_3)-[2]COO^{-}}}{\footnotesize pyruvate}
\schemestop
\end{document}