我正在用 LaTeX 写化学论文,并使用该chemstyle
软件包自动对化合物进行编号。我希望编号从论文主体开始,并按照它们在主体中出现的顺序进行编号。但是,在此之前,我有目录和方案、图表和表格的列表。由于这些文件包含一些带编号的化合物名称,并且编号从整个文档的开头开始,因此编号最终与文档主体的顺序不一致。如何让编号从文档主体开始?
如果我的原始问题不清楚,这里有一份简单的文档来展示我所谈论的内容:
\documentclass{article}
\usepackage{chemstyle}
\begin{document}
\tableofcontents
\section{Section}
Compounds \compound{A} and \compound{B}.
\section{Compound \compound{B}}
text
\end{document}
结果是我想要的第一个编号的化合物,化合物{A},最终成为化合物 2。
感谢@cgnieder 的帮助!你给出的两个选项都很好用。我选择了第二个选项,因为它可以帮助我跟踪所有化合物,而且我不必记住在标题和章节标题中添加加号。我注意到我需要有
\usepackage[noimplicit]{chemcompounds}
前
\usepackage{chemstyle}
或者我收到错误消息“包化学化合物的选项冲突。”
我对您建议查看该chemnum
软件包有一个问题。我还使用该chemstyle
软件包创建浮点“方案”类型,创建方案列表,并自动更新结构图像中的编号(嗯,我仍在弄清楚图像更新部分,无法读取 eps 图像)。可以chemnum
让我做这些事情吗?我查了一下,似乎不行,但也许我遗漏了什么。
答案1
这chemstyle
包不做编号,但是chemcompounds
前者加载的包。如果您不想让复合数字以目录中的数字开头,则有两种可能:
在章节标题和说明中使用
\compound+{<label>}
- 此命令变体不会声明标签,而是从辅助文件中查找标签。因此需要两次编译。\documentclass{article} \usepackage{chemcompounds} \begin{document} \tableofcontents \section{Test A} A compound with number one \compound{A} and two \compound{B}. \section{Test \compound+{B}} \end{document}
不要
chemcompounds
在隐式模式下使用。这不太舒服,因为你必须\declarecompound
对每个化合物都使用,但它能让你完全控制:\documentclass{article} \usepackage[noimplicit]{chemcompounds} \declarecompound{A} \declarecompound{B} \begin{document} \tableofcontents \section{Test A} A compound with number one \compound{A} and two \compound{B}. \section{Test \compound{B}} \end{document}
顺便说一句:你也可能对chemnum
包裹。
编辑:关于其他问题:
该chemnum
包可以与包一起使用,chemstyle
因此您仍然可以将其用于scheme
环境和方案列表。类似于为chemstyle
图\schemeref
chemnum
添加\cmpdref
复合数字eps
。记录了此示例在手册中请参阅第 8.3 节。这两个命令都使用psfrag
任务内部的\psfrag
命令。为了与 pdflatex 一起使用,您可能需要使用auto-pst-pdf
包裹。
chemnum
还允许明确声明标签,类似于chemcompounds
' \declarecompound
,请参阅手册第 6 节。