我想重现这个方案PJ Flory 的第一本书,第 319 页:
为此,我需要在键下排版标签。我尝试让键像箭头一样接受标签,首先是使用下面 MWE 中相当幼稚的尝试,然后我深入研究了chemformula
代码,试图粘贴解决方案,但 LaTeX3 对我来说看起来像是外星的。
\documentclass{article}
\usepackage{chemformula}
%% \ch{A --[a][b] B}, with --[a][b] defined as follows, puts too much space around the arrow-bond.
\NewChemArrow{--}{\draw[chemarrow] (cf_arrow_start) -- (cf_arrow_end) ; }
\begin{document}
\ch{A--[a][b]B}
\bigskip
\ch{A '$\underset{a}{\ch{--}}$' B} % This one ends in "TeX capacity exceeded, sorry [grouping levels=255]."
\end{document}
[编辑] 一种解决方案是使用\ch[bond-length=3em]{A '$\underset{x-1}{\bond{sb}}$' B}
,正如@Troy所建议的那样。
是否可以让标签容纳在文本下方?就目前情况而言,较大的标签会将原子推开:
\documentclass{article}
\usepackage{chemformula}
\begin{document}
\noindent
\ch{A-B}\\
\ch{A '$\underset{x - 1}{\bond{sb}}$' B}\\
\ch[bond-length=3em]{A '$\underset{x-1}{\bond{sb}}$' B}
\end{document}
印刷
答案1
答案2
mathtools
'\mathclap
完成以下工作:
\documentclass{article}
\usepackage{chemformula}
\usepackage{mathtools}
\begin{document}
\noindent
\ch{A-B}\\
\ch{A '$\underset{\mathclap{x - 1}}{\bond{sb}}$' B}\\
\ch[bond-length=3em]{A '$\underset{x-1}{\bond{sb}}$' B}
\end{document}
您可以使用以下命令:
\newcommand*{\blb}[2][sb]{\ensuremath{\underset{\mathclap{#2}}{\bond{#1}}}}
...
\ch{A '\blb{x-1}' B} % same as the second line above
\ch{A '\blb[db]{x-1}' B} % this is an unsaturated AB