我在 Ubuntu 下安装了 texlive-full 和 texstudio,并通过导出我的 zotero 库创建了一个 MyLibrary.bib 文件。在我的 main.tex 文件中,我给出了以下说明来包含我的库:
\begin{document}
\bibliographystyle{plain}
我想将其更改为:
\usepackage[authoryear, round]{natbib}
\begin{document}
\bibliographystyle{natdin}
...但它只是一直给我旧的引用格式和参考文献格式。我不知道为什么我不能将 bibliographystyle 设置为 natdin 或 plainnat,以及为什么我不能使用 author-year-citations。完全重新安装 texlive 和 texstudio 并没有带来任何变化。
这是 MAIN.tex
\documentclass[12pt,a4paper,twoside,]{article}
\usepackage[margin=2.5cm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{graphicx}
\usepackage{enumerate}
%\graphicspath{ {images/} }
%\usepackage[round]{natbib}
\begin{document}
\bibliographystyle{plain}
\title{Studienprotokoll}
\author{BlaBla}
\date{\today}
\include{TITLE}
\include{Preface}
\include{Section1}
\include{Section2}
\include{Section3}
\include{Section4}
\include{Section5}
\include{Section6}
\include{Section7}
\include{References}
\include{Anhang}
\end{document}
这是 References.tex
\bibliography{MyLibrary}
\addcontentsline{toc}{section}{Literaturverzeichnis}
如果我激活 usepackage{natbib} 命令,我会收到此错误消息:
Package natbib Error: Bibliography not compatible with author-year citations ...mand\NAT@force@numbers{}\NAT@force@numbers
参考 MAIN.aux 文件中的这一行
\providecommand\NAT@force@numbers{}\NAT@force@numbers
我还收到了一堆我通常不会收到的过多或过少的 \hbox 错误消息。
答案1
更改参考书目样式时,最好先删除文件,.aux
然后再使用 LaTeX、BibTeX 和 LaTeX 重新编译两次。(从plain
生成数字样式引文标注的样式(例如)切换到生成作者年份样式引文标注的样式时尤其如此。)就您而言,natbib
切换到后收到的消息natdin
与其说是错误消息,不如说是警告消息。如果您不先删除辅助文件,只需在生成警告消息时三次按“r”(“运行”),您就会得到格式正确的参考文献条目以及正确的引文标注样式。
顺便说一下,与书目样式文件一起提供的配置文件natdin
包含指令
\bibpunct{(}{)}{;}{a}{}{,~}
此指令指示natbib
使用圆括号(参见前两个参数)以及作者年份样式的标注(第四个参数)来引用。因此,在加载时实际上没有必要指定选项round
和。当然,无论如何指定选项也无妨。只是这优先于加载时指定的选项。authoryear
natbib
\bibpunct
natbib
以下是使用该风格的程序的输出natdin
:
plainnat
仅供比较,以下是使用样式——natbib
对古老样式的重新实现——时同一程序的输出plain
(请注意plainnat
,与不同plain
,可以生成作者年份样式的引用标注):
\RequirePackage{filecontents} % make this example self-contained
\begin{filecontents}{xyz.bib}
@article{aa,
author = "Anne Author",
title = "Thoughts",
journal= "Circularity Today",
year = 5678,
volume = 1,
number = 2,
pages = "3-4",
}
\end{filecontents}
\documentclass[12pt,a4paper,twoside,]{article}
\usepackage[margin=2.5cm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[authoryear,round]{natbib}
%\bibliographystyle{plainnat}
\bibliographystyle{natdin}
\begin{document}
\cite{aa}
\bibliography{xyz}
\end{document}