![amsmath 书目冲突](https://linux22.com/image/279641/amsmath%20%E4%B9%A6%E7%9B%AE%E5%86%B2%E7%AA%81.png)
编辑:我找到了一个解决方案。我使用了该tocbibind
包并将模板中的行替换为
\settocbibname{Bibliography}
我正在写论文,我的大学有一个 LaTeX 模板包,它可以将参考书目章节从参考到参考书目并将其添加到目录中,如下所示
\renewcommand{\bibname}{Bibliography \addcontentsline{toc}{chapter}{Bibliography}}
但这会导致 bibtex 和 amsmath 之间发生冲突,如果我的文件中同时包含以下两行,则会出现错误
\usepackage{amsmath}
\bibliography{bib}
在哪里围兜是我的参考书目文件的名称。
如果我注释掉其中任何一个,它都可以正常工作,但如果我保留它们两个,我就会收到错误。
这些是我得到的错误
! Use of \reserved@a doesn't match its definition.\protected@write ...le@protect \edef \reserved@a {\write #1{#3}}\reserved@a ... \begin{thebibliography}{1}
! Use of \reserved@a doesn't match its definition.\protected@write ... #1{#3}}\reserved@a \endgroup\if@nobreak \ifvmode \nobr... \begin{thebibliography}{1}
! Extra }, or forgotten \endgroup.\markboth ...d@protected@xdef \@themark {{#1}{#2}}\@temptokena \expandafter ... \begin{thebibliography}{1}
我将非常感谢有关解决方法或重命名行的替代方案的建议。
谢谢。
编辑:看来这个错误比我想象的要复杂得多,因为如果不使用我大学的模板,我就无法重现它。
这是完整的.sty 文件:http://pastie.org/8505568
以下是获取错误的最少代码:
\documentclass{report}
\usepackage{amsmath}
\usepackage{packages/RUMSC}
\begin{document}
\SSE{}
\MScwhen{Date in English}
\MScdags{Date in Icelandic}
\MSctitle{Thesis title in English}
\MScheiti{Thesis title in Icelandic}
\MScauthor{Author}
\makeMSc
\MSctableofcontents
\startMSc
text\cite{holman_heat_2010}.
\bibliographystyle{plain}
\bibliography{bibliography/bib}
\end{document}
引用的参考文献并不重要,但我使用的是
@book{holman_heat_2010,
address = {Boston, [Mass.]},
title = {Heat transfer},
isbn = {9780073529363 0073529362 9780071267694 0071267697},
abstract = {One of the most popular heat transfer texts of its time, Holman's book is noted for its clarity, accessible approach, and inclusion of many examples and problem sets. This new edition features design-oriented problems, and improved pedagogy.},
language = {English},
publisher = {{McGraw} Hill Higher Education},
author = {Holman, J. P},
year = {2010}
}
答案1
正如您所发现的,错误是由以下行引起的:
\renewcommand{\bibname}{Bibliography \addcontentsline{toc}{chapter}{Bibliography}}
这个命令放在这里太糟糕了\addcontentsline
,这就是问题的根源。最简单的解决方案(无需修改包本身)就是撤消此命令并将两个部分分别放入文档中:
\bibliographystyle{plain}
\renewcommand{\bibname}{Bibliography}
\addcontentsline{toc}{chapter}{Bibliography}
另外,我应该指出,命令\usepackage
和\bibliography
命令实际上都不接受路径名作为参数,因此使用 \usepackage{packages/RUMSC}
和\bibliography{bibliography/bib}
并不正确,并且不能保证有效。如果您希望正确找到内容,请将它们放在与文档相同的目录中,或将它们放在本地目录中的相应目录中texmf
。有关更多信息,请参阅以下问题。