我想使用不同的引用选项,例如 natbib,这样我就有了 \citet 和 \citep 命令。但是我不知道我目前使用的是哪种类型的包,因为我使用的是来自 github 的模板https://github.com/maknesium/latex-vorlage-diplom-bachelor-masterarbeiten。(我猜有一个类似默认参考书目选项的东西?)
我想使用具有 authorname 样式的 natbib,但是如果我导入包并使用选项 authorname,我会收到以下错误:
Package natbib Error: Bibliography not compatible with author-year citations.
...and\NAT@force@numbers{}\NAT@force@numbers
正如本论坛上的各种帖子一样(见natbib 错误:\providecommand\NAT@force@numbers{}\NAT@force@numbers)。
可以使用不带数字变量的 natbib 在模板中重现此错误。
有人能向我解释为什么编译器依赖于数字选项吗?
编辑:我按如下方式加载 natbib:
\usepackage[round]{natbib}
我使用什么书目样式似乎并不重要,因为它总是告诉我使用数字选项。
答案1
natbib
可以在两种引用模式下运行:authoryear
(默认)和numbers
。
natbib
只有在使用natbib
-兼容时,才能使用 的所有功能\bibliographystyle
。具体来说,您的样式必须在 的可选参数中导出当前作品的作者列表和年份\bibitem
。(更多详细信息可在包 natbib 错误:参考书目与作者年份引用不兼容(再次!)。
如果您的样式不natbib
兼容,您仍然可以使用该样式(如果您使用natbib
该numbers
选项加载并且不使用\citet
或等高级功能\citeauthor
)。但是,在这种情况下,完整功能集(authoryear
引文、\citet
、\citeauthor
、...)将不可用。
您的模板加载
% Festlegung Art der Zitierung - Havardmethode: Abkuerzung Autor + Jahr
\bibliographystyle{alphadin}
尽管有这样的评论,但通常不会被称为“哈佛风格”,并且与不兼容natbib
。
通过该设置,您只能natbib
在numbers
功能减少的模式下使用。
如果要authoryear
工作,则需要加载不同的样式。如果你没有特别的要求
\bibliographystyle{plainnat}
其中一种基本natbib
样式就足够了。
请注意,更改参考书目样式后,您可能必须删除.aux
和.bbl
文件,以便 LaTeX 和 BibTeX 能够正确获取所有内容。否则,旧设置可能会保留在这些临时文件中,并可能导致不再相关的错误消息。
除非你不得不使用这个特定的模板,否则你可能想在其他地方寻找一个稍微简单一点的模板(或者根本不用模板!只需从一个非常基本的文档开始,然后自己加载所需的内容)。代码散布在不同文件夹级别的许多不同文件中,很难找出发生了什么。该模板还做了一些不应该做的事情(它将 KOMA 类与 结合起来fancyhdr
,加载时间相对较早,当/类的类会自动在新页面上开始章节时hyperref
强制使用很多\newpage
s ,当存在其他更优雅的解决方案时使用很多 s,...)。report
scrrprt
\addcontentsline