Chemfig - 用一个标签命名一些化合物

Chemfig - 用一个标签命名一些化合物

我知道在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...\schemestopinside \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}

相关内容