据我所理解, 这清楚的BibTex 中的书目样式在引用博士论文时应该显示学校名称。但是我既无法显示学校名称也无法显示 URL。
以下是 MWE:
\documentclass[a4paper,reqno,10pt]{amsart}
% packages:
\usepackage[USenglish]{babel}
\usepackage{amsrefs}
\usepackage{url}
\begin{document}
Item to cite: \cite{ABC}.
\bibliographystyle{plain}
\bibliography{References}
\end{document}
我的 bib 文件包含以下条目:
@PhdThesis{ABC,
author = {John Doe},
title = {{Title of thesis}},
school = {Institution name},
year = {2021},
url = {https://tex.stackexchange.com},
language = {English}
}
如何在不改变参考书目样式的情况下显示学校名称和 URL?我知道我可以只添加“注释”字段,但问题是“语言”字段会先打印,而学校名称最好打印在“博士论文”之后。
答案1
书目样式plain
非常古老,实际上早于互联网、万维网和 URL 的创建。因此,plain
不知道url
字段名称;BibTeX 会忽略名称未知的字段。
我建议你加载natbib
带有选项的引文管理包numbers
,并使用plainnat
书目样式而不是样式plain
。plainnat
样式确实不是忽略url
字段。
bib样式plainnat
不处理该language
字段。如果您认为有必要告知读者该文档是英文的,只需更改language = {English}
为note = {Language: English}
。(就我个人而言,除非它以某种方式基本的以表明文档的主要语言。
\documentclass[a4paper,reqno,10pt]{amsart}
\begin{filecontents}[overwrite]{References.bib}
@PhdThesis {ABC,
author = {John Doe},
title = {{Title of thesis}},
school = {Institution name},
year = {2021},
url = {https://tex.stackexchange.com},
note = {Language: English}
}
\end{filecontents}
\usepackage[english]{babel}
\usepackage[numbers]{natbib}
\usepackage{xurl} % or 'url'
\begin{document}
\cite{ABC}
\bibliographystyle{plainnat}
\bibliography{References}
\end{document}