如何使用 chemnum 定义一个带有单独计数器的新临时标签?

如何使用 chemnum 定义一个带有单独计数器的新临时标签?

有没有一种方法,使用 chemnum,在文件中创建不同类型的 TMP 标签.eps,然后在文本中用单独的标签/编号替换它?

例如,我有许多在文本中编号的化学图(1、2、3......),但我想为具有自己计数器的配体设置单独的标签(L1、L2、L3......)。

谢谢

\documentclass{article}

\usepackage{graphicx}
\usepackage[crop=off]{auto-pst-pdf}
\usepackage{chemnum}
\setchemnum{init,log=verbose}

% regular labels
\initcmpd{1,2,3.a}

% ligands
\resetcmpd
\initcmpd[pre-label-code=\textbf{L}]{L1.a,L2,L3.a}

\begin{document}

\begin{center}
\cmpdref{compound1} %replaces TMP1
\cmpdref{compound2} %replaces TMP2
\includegraphics{scheme.eps}
\end{center}

Here are two compounds: \refcmpd{compound1} and \refcmpd{compound2}.

\begin{center}
\setchemnum{replace-tag=L}
\cmpdref[tag=L1]{ligand1} 
\includegraphics{ligand.eps}
\end{center}

Here is a ligand: \refcmpd{ligand1}

\end{document}

答案1

编辑:

再次阅读问题,我相信你的问题不是关于标签需要替换但使用不同的标签集?您可能应该发布完整的 MWE 来说明您想要什么...

但是,您可以通过在定义第二组标签之前重置计数器并设置来获得两组标签pre-label-code。(这与 EPS 文件中标签的替换完全无关!)如果您在文档中执行此操作,则必须注意将更改保持在本地或在定义新标签后再次撤消设置。在序言中定义它们更容易:

\documentclass{article}

\usepackage{chemnum}
\setchemnum{init,log=verbose}

% regular labels
\initcmpd{1,2,3.a}

% ligands
\resetcmpd
\initcmpd[pre-label-code=\textbf{L}]{L1.a,L2,L3.a}

\begin{document}
Here are two compounds: \cmpd{1} and \cmpd{2}.

Here are two ligands: \cmpd{L1.a} and \cmpd{L2}.

Here we have \cmpd{1} and \cmpd{2} again.

And now \cmpd{3.a}. Again \cmpd{2} but then \cmpd{L3.a}.
\end{document}

在此处输入图片描述

原始答案:

chemnum提供了实现此目的的方法。标准行为是替换标签等TMP1TMP2编号是本地的。这意味着如果\replacecmpd在组内使用(我猜通常是环境),它会从TMP1下一个图重新开始。(以下示例使用chemnumv1.0 语法。)

\documentclass{article}
\usepackage{graphicx,auto-pst-pdf,chemnum}
\begin{document}

\begin{center}
  \replacecmpd{compound1}% replaces TMP1
  \replacecmpd{compound2}% replaces TMP2
  \includegraphics{myscheme.eps}
\end{center}

\end{document}

改变这种情况的一种方法是根据具体情况进行:

\documentclass{article}
\usepackage{graphicx,auto-pst-pdf,chemnum}
\begin{document}

\begin{center}
  \replacecmpd[tag=L1]{compound1}% replaces L1
  \replacecmpd[tag=L2]{compound2}% replaces L2
  \includegraphics{myscheme.eps}
\end{center}

\end{document}

但您也可以使用TMP选项更改标签的一部分:

\documentclass{article}
\usepackage{graphicx,auto-pst-pdf,chemnum}
\begin{document}

\begin{center}
  \setchemnum{replace-tag=L}
  \replacecmpd{compound1}% replaces L1
  \replacecmpd{compound2}% replaces L2
  \includegraphics{myscheme.eps}
\end{center}

\end{document}

相关内容