我知道在chemfig
包中可以使用命令命名化合物\chemname
。有没有办法用一个标签来标记一些化合物?例如,在反应方案中的反应物下放置一个标签“反应物”。
在以下示例中:
\documentclass{article}
\usepackage{chemfig,chemmacros}
\begin{document}
\schemestart
\chemfig{R-[:30](=[:90]O)-[:-30]R}
\arrow{0}[,.5]
\chemfig{R'-[:30](=[:90]O)-[:-30]R'}
\arrow{0}[,1.5]
\chemfig{R'-[:30](=[:90]O)-[:-30]R}
\schemestop
\end{document}
我可以用 在第三个化合物下放置一个标签\chemname
,但是如何在前两个化合物下放置单个标签?
答案1
如果将前两种化合物放在一起,\subscheme{...}
整个子方案就会获得一个唯一的名称,您可以使用以下语法在箭头中引用该\arrow{@<name>--)
名称:
\documentclass{article}
\usepackage{chemfig}
\begin{document}
% uncomment to see the names:
% schemedebug{true}
\schemestart
\subscheme{
\chemfig{R-[:30](=[:90]O)-[:-30]R}
\arrow{0}[,.5]
\chemfig{R'-[:30](=[:90]O)-[:-30]R'}
}
\arrow{0}[,1.5]
\chemfig{R'-[:30](=[:90]O)-[:-30]R}
% use an invisible arrow pointing downwards to place the label text:
\arrow(@c1--){0}[-90,.1]
Below the first two compounds
\schemestop
\end{document}
答案2
我知道 Clemens loves\arrow{0}
但他的解决方案对我来说听起来很复杂。为什么不使用\schemestart...\schemestop
inside \chemname
,这看起来更自然?
\documentclass{article}
\usepackage{chemfig}
\begin{document}
\schemestart
\chemname{%
\schemestart
\chemfig{R-[:30](=[:90]O)-[:-30]R}
\arrow{0}[,.5]
\chemfig{R'-[:30](=[:90]O)-[:-30]R'}
\schemestop
}
{One long name here!}
\arrow(.base east--.base west){0}[,1.5]
\chemfig{R'-[:30](=[:90]O)-[:-30]R}
\schemestop
\end{document}