我正在努力格式化目录中参考文献的条目,就像章节的条目一样。
显然,“Literatur”的第二个条目是不必要的。
我准备了一个如下所示的示例:
\documentclass[11pt,a4paper]{book} % Basisdokumentenklasse
\usepackage[utf8]{inputenc} % Standard for Linux
\usepackage{ngerman} % Fr Umlaute
\usepackage[hidelinks]{hyperref} % links in PDF ohne Ksten (RSt 2017)
\usepackage{apacite}
% Das eigentliche Dokument
\begin{document}
% Inhaltsverzeichnis
\renewcommand{\contentsname}{Inhalt} % Es soll nicht Inhaltsverzeichnis heien, sondern Inhalt
\tableofcontents % Inhaltsverzeichnis einbinden
\chapter{todo}
\cite<vgl.>{test}
% Schlielich Literatur
\renewcommand{\bibname}{Literatur}
\bibliographystyle{apacite}
\addcontentsline{toc}{chapter}{Literatur}
\bibliography{bibliographie}
\end{document}
我的 bibliographie.bib 如下所示:
% Encoding: UTF-8
@Article{test,
author = {Dr. Britta A. Mester},
title = {Auswirkungen der DSGVO auf die IT},
journal = {Wirtschaftsinformatik \& Management},
year = {2017},
volume = {4},
pages = {12--14},
}
@Comment{jabref-meta: databaseType:bibtex;}
我只想保留目录中的第一个条目“Literatur”。我该如何实现?
答案1
如果可能的话,我会尽量避免\addcontentsline
在文档正文中使用手册:如果使用不当,它们最终可能会将具有错误页码的条目添加到目录中。
通常可以\addcontentsline
通过使用某些包选项、附加包或前导代码来避免。
apacite
有一个非常聪明的启发式方法来决定是否将其参考书目排版为一个部分或一个章节。当在具有章节的类中使用时(如book
),apacite
检测参考书目是在\backmatter
还是 在 中排版\mainmatter
。在 中,\mainmatter
参考书目被排版为一个部分(假设每个\chapter
都有自己的参考书目)。在 中,\backmatter
参考书目被排版为\chapter
(这里假设这是整个文档的参考书目)。
因此,如果您删除并在参考书目之前\addcontentsline
发布,您就可以得到您想要的东西。\backmatter
\documentclass[11pt,a4paper]{book}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[hidelinks]{hyperref}
\usepackage{apacite}
\usepackage{etoolbox}
\appto\captionsngerman{%
\renewcommand{\contentsname}{Inhalt}%
\renewcommand*{\APACrefatitle}[2]{#1}%
}
\begin{filecontents}{\jobname.bib}
@Article{test,
author = {Britta A. Mester},
title = {Auswirkungen der DSGVO auf die IT},
journal = {Wirtschaftsinformatik \& Management},
year = {2017},
volume = {4},
pages = {12--14},
}
\end{filecontents}
\begin{document}
\tableofcontents
\chapter{todo}
\cite<vgl.>{test}
\backmatter
\renewcommand{\bibname}{Literatur}%
\bibliographystyle{apacite}
\bibliography{\jobname}
\end{document}
或者,您可以关闭apacite
的启发式方法,并使用选项强制提供章节参考书目nosectionbib
。
\documentclass[11pt,a4paper]{book}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[hidelinks]{hyperref}
\usepackage[nosectionbib]{apacite}
\usepackage{etoolbox}
\appto\captionsngerman{%
\renewcommand{\contentsname}{Inhalt}%
\renewcommand*{\APACrefatitle}[2]{#1}%
}
\begin{filecontents}{\jobname.bib}
@Article{test,
author = {Britta A. Mester},
title = {Auswirkungen der DSGVO auf die IT},
journal = {Wirtschaftsinformatik \& Management},
year = {2017},
volume = {4},
pages = {12--14},
}
\end{filecontents}
\begin{document}
\tableofcontents
\chapter{todo}
\cite<vgl.>{test}
\renewcommand{\bibname}{Literatur}%
\bibliographystyle{apacite}
\bibliography{\jobname}
\end{document}
正如我在您的问题下的评论中所提到的,我会用\usepackage{ngerman}
来替换\usepackage[ngerman]{babel}
,这就是我在 MWE 中所做的。
我还加载了\usepackage[T1]{fontenc}
非 ASCII 字符 (äöüß) 的正确连字/换行,请参阅为什么我应该使用 \usepackage[T1]{fontenc}?。
在参考书目中包含学术头衔和学位是非常不寻常的,所以我替换了author = {Dr. Britta A. Mester},
,它会(错误地)显示为
梅斯特,DBA
和
author = {Britta A. Mester},
我还将的重新定义移到了\contentsname
,\captionsgerman
这是babel
保存其语言字符串的地方。
最后,我告诉大家apacite
在示例中要避免使用句子大小写,因为我们正在处理一份德语文档,其中将“Auswirkungen der DSGVO auf die IT”转换为
民事诉讼法的效力
是错误的。(理想情况下,这将取决于语言,但我认为不apacite
支持这一点。另请参阅改变 apacite 的参考外观(但仅适用于德语))
请注意,apacite
根据 APA 手册第 6 版生成引文。APA 手册的当前版本是第 7 版。在 LaTeX 世界中,只有 实现了第 7 版 APA 样式biblatex-apa
。请参阅有没有办法在乳胶中应用 Apa 第 7 版参考文献和引用样式?。