答案1
正如我在评论中提到的:chemfig
手册中有一节关于这类方案的内容。手册中的一个例子是可以在这里使用的宏\makebraces
和定义。第一个公式的注释:括号在公式(分支)中具有特殊含义。为了打印它们,必须将它们括在括号中。\setpolymerdelims
chemfig
\documentclass{article}
\usepackage{chemfig}
\newcommand*\delimleft{}
\newcommand*\delimright{}
\newcommand*\makebraces{}
\newcommand*\delimhalfdim{}
\newcommand*\delimvshift{}
\newcommand*\setpolymerdelim[2]{\def\delimleft{#1}\def\delimright{#2}}
\def\makebraces[#1,#2]#3#4#5{%
\edef\delimhalfdim{\the\dimexpr(#1+#2)/2}%
\edef\delimvshift{\the\dimexpr(#1-#2)/2}%
\chemmove{
\node[at=(#4),yshift=(\delimvshift)]
{$\left\delimleft\vrule height\delimhalfdim depth\delimhalfdim width0pt
\right.$};
\node[at=(#5),yshift=(\delimvshift)]
{$\left.\vrule height\delimhalfdim depth\delimhalfdim width0pt
\right\delimright_{\rlap{$\scriptstyle#3$}}$};}
}
\setpolymerdelim()
\begin{document}
\schemestart
$n$ \chemfig{{(}CH_2=CHCOOH{)}}
\arrow(--.-165)
\chemfig{-[@{b1}]CH_2-CH(-[2]COOH)-[@{b2}]}
\schemestop
\makebraces[5pt,5pt]{n}{b1}{b2}
\end{document}
更多参考/示例:
评论:
该包有一个定义 的chemmacros
模块。使用它不需要在前言中添加定义。但是,只有在使用 时,使用它才有意义。然后代码变为:polymers
\makepolymerdelims
chemmacros
\documentclass{article}
\usepackage{chemfig,chemmacros}
\chemsetup{
modules = {polymers} ,
polymers/delimiters = ()
}
\begin{document}
\schemestart
$n$ \chemfig{{(}CH_2=CHCOOH{)}}
\arrow(--.-165)
\chemfig{-[@{b1}]CH_2-CH(-[2]COOH)-[@{b2}]}
\schemestop
\makepolymerdelims{5pt}{b1}{b2}
\end{document}