我正在将 achemso 包中的演示文件改编为我的手稿。删除引文时(在本例中通过注释参考文献部分)我收到许多错误,如下所示:
! Package mciteplus Error: Entry Status for cite key `Mena2000' under
tracking ID `main' is undefined, treating it as a head entry. See the
mciteplus package documentation for explanation. Type H <return> for
immediate help.
我在 Windows 7 64 位上使用 Texmaker 5.0.2、MiKTeX 2.9.6703、achemso 3.11a 和 mciteplus 1.2。
到目前为止,我发现以下建议似乎都不起作用:
将参考书目移至末尾。如果我没记错的话已经是这种情况了(即 tex 文件的末尾如下所示:
\bibliography{achemso-demo} \end{document}
修改 achemso.sty 和 achemso.cls。
\RequirePackage{natmove}
我分别在第 320 行和第 1407 行之前添加了\RequirePackage{mciteplus}
。在 achemso 之前加载 natbib,方法是在 achemso 之前添加以下内容
\usepackage{chemformula}
:\usepackage[sort&compress,numbers,super]{natbib} \usepackage{achemso}
然而,我不认为该演示是以那种方式使用 achemso 包的。
仅当我在构建后更改引用时才会发生此错误。初始构建成功完成。
任何帮助是极大的赞赏。
编辑:根据 Troy 的建议,这里是从 achemso 演示改编的 (半)MWE。示例相对较长,原因是如果我删除任何引用,它就无法构建。因此,我只评论了最后一段,以产生以下错误:
! Package mciteplus Error: Entry Status for cite key `Note-1' under tracking ID
`main' is undefined, treating it as a head entry.
See the mciteplus package documentation for explanation.
Type H <return> for immediate help.
...
l.128 \bibitem[Not()]{Note-1}
I don't have a record of the head/tail status of this citation. Possible reason
s include the use of a cite command that is not mciteplus aware, the use of `\n
ocite{*}', or a problem with the tracking ID and/or aux file handles. `\mciteEr
rorOnUnknownfalse' can be used to disable this error message.
! Package mciteplus Error: Entry Status for cite key `Note-2' under tracking ID
`main' is undefined, treating it as a head entry.
See the mciteplus package documentation for explanation.
Type H <return> for immediate help.
...
l.135 \bibitem[Not()]{Note-2}
I don't have a record of the head/tail status of this citation. Possible reason
s include the use of a cite command that is not mciteplus aware, the use of `\n
ocite{*}', or a problem with the tracking ID and/or aux file handles. `\mciteEr
rorOnUnknownfalse' can be used to disable this error message.
这是MWE:
\documentclass[journal=jacsat,manuscript=article]{achemso}
\usepackage{chemformula} % Formula subscripts using \ch{}
\usepackage[T1]{fontenc} % Use modern font encodings
\newcommand*\mycommand[1]{\texttt{\emph{#1}}}
\title[An \textsf{achemso} demo]
{A demonstration of the \textsf{achemso} \LaTeX\
class\footnote{A footnote for the title}}
\begin{document}
The class makes various changes to the way that references are
handled. The class loads \textsf{natbib}, and also the
appropriate bibliography style. References can be made using
the normal method; the citation should be placed before any
punctuation, as the class will move it if using a superscript
citation style
\cite{Mena2000,Abernethy2003,Friedman-Hill2003,EuropeanCommission2008}.
The use of \textsf{natbib} allows the use of the various citation
commands of that package: \citeauthor{Abernethy2003} have shown
something, in \citeyear{Cotton1999}, or as given by
Ref.~\citenum{Mena2000}. Long lists of authors will be
automatically truncated in most article formats, but not in
supplementary information or reviews \cite{Pople2003}. If you
encounter problems with the citation macros, please check that
your copy of \textsf{natbib} is up to date. The demonstration
database file \texttt{achemso-demo.bib} shows how to complete
entries correctly. Notice that ``\latin{et al.}'' is auto-formatted
using the \texttt{\textbackslash latin} command.
Multiple citations to be combined into a list can be given as
a single citation. This uses the \textsf{mciteplus} package
\cite{Johnson1972,*Arduengo1992,*Eisenstein2005,*Arduengo1994}.
Citations other than the first of the list should be indicated
with a star. If the \textsf{mciteplus} package is not installed,
the standard bibliography tools will still work but starred
references will be ignored. Individual references can be referred
to using \texttt{\textbackslash mciteSubRef}:
``ref.~\mciteSubRef{Eisenstein2005}''.
%The class also handles notes to be added to the bibliography. These
%should be given in place in the document \bibnote{This is a note.
%The text will be moved the the references section. The title of the
%section will change to ``Notes and References''.}. As with
%citations, the text should be placed before punctuation. A note is
%also generated if a citation has an optional note. This assumes that
%the whole work has already been cited: odd numbering will result if
%this is not the case \cite[p.~1]{Cotton1999}.
\bibliography{achemso-demo}
\end{document}
答案1
mciteplus
这是我找到的解决上述问题的方法。只需在序言中加载包后使用以下命令:
\mciteErrorOnUnknownfalse
这帮助我在将其加载到序言中后轻松摆脱了错误。希望它也能帮助您修复错误。
答案2
我不知道这是否可以在任何操作系统上运行,但在 ubuntu 中我打开终端并输入:
sudo apt-cache search mciteplus
(查看需要安装的包)结果是:
texlive-latex-extra
所以我输入:
sudo apt install texlive-latex-extra
这解决了我的问题,希望对您有所帮助。
答案3
同样的问题。
我不喜欢在这种事情上破坏安全性。
我补充道:
\mciteErrorOnUnknownfalse
编译一次,删除它并再次编译,完美运行。
可能是辅助文件出了问题。
继续,通过编辑和审阅的路还很长
。euG