Texstudio 无法正确显示引文和参考书目

Texstudio 无法正确显示引文和参考书目

我在 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和。当然,无论如何指定选项也无妨。只是这优先于加载时指定的选项。authoryearnatbib\bibpunctnatbib

以下是使用该风格的程序的输出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}

相关内容