我的书目中遇到了一个奇怪的问题。
我有一个像这样的 bibtex 条目:
@online{psqldocs,
author = {PostgreSQL Development Team},
title = "{PostgreSQL Documentation}",
url = {https://www.postgresql.org/docs/}
}
其结果是:
[42] PostgreSQL Development Team. PostgreSQL Documentation, . Retrieved
from: https://www.postgresql.org/docs/.
如你看到的,标题后有一个多余的逗号,因为 bibtex 正在等待年字段。事实上,如果我添加一个年进入sqldocs文件,格式没问题,标题,年。
我该如何解决这个问题?这是一个 MWE:
\documentclass[13pt, a4paper, titlepage, oneside]{book}
\setcounter{tocdepth}{4}
\setcounter{secnumdepth}{4}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage[latin1]{inputenc}
\usepackage[left=3.00cm, right=3.00cm, top=3.00cm, bottom=3.00cm]{geometry}
\usepackage{setspace}
\renewcommand{\baselinestretch}{1.2}
\usepackage[fontsize=13pt]{scrextend}
\usepackage{xcolor}
\definecolor{wine}{rgb}{0.5,0,0}
\usepackage{hyperref}
\hypersetup{
colorlinks = true,
linkcolor = .,
citecolor = .,
filecolor = .,
menucolor = .,
runcolor = .,
urlcolor = wine
}
\renewcommand{\UrlFont}{\small}
\usepackage{breakurl}
\usepackage[square,comma,numbers]{natbib}
\bibliographystyle{unsrtnat}
\begin{document}
\cite{psqldocs}
\bibliography{ref}
\end{document}
包含ref.bib
上述参考书目条目。
请注意,对于以前的类似条目,我没有看到此行为。例如:
@online{ piezoelectr,
author = "ScienceDirect",
title = "{Piezoelectricity}",
url = "https://www.sciencedirect.com/topics/materials- science/piezoelectricity"
}
结果是:
[1] ScienceDirect. Piezoelectricity. Retrieved from:
https://www.sciencedirect.com/topics/materials-science/piezoelectricity.
正如预期的那样。
请注意,使用“s 代替括号没有任何效果。
编辑:
这是我正在使用的 TeX 发行版的版本(只需输入pdflatex进入我的终端):
This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018/Arch Linux) (preloaded format=pdflatex)
此外,我已修复了 MWE。我确认无法重现所述问题。有什么线索吗?
答案1
一些意见和建议:
加载
hyperref
包最后的。由于您正在加载
setspace
包,因此您没有理由输入\renewcommand{\baselinestretch}{1.2}
。相反,请输入\setstretch{1.2}
。不要
[left=3.00cm, right=3.00cm, top=3.00cm, bottom=3.00cm]
写,请直接写[margin=3cm]
。一定要用
{PostgreSQL Development Team}
一对额外的花括号括起来。这样,您就向 BibTeX 发出信号,表明它正在与所谓的“公司”作者打交道,而不是与姓氏为 Team、名字为 PostgreSQL、中间名为 Development 的人打交道。
\RequirePackage{filecontents}
\begin{filecontents}{ref.bib}
@online{psqldocs,
author = {{PostgreSQL Development Team}},
title = "{PostgreSQL Documentation}",
url = {https://www.postgresql.org/docs/}
}
@online{ piezoelectr,
author = "ScienceDirect",
title = "{Piezoelectricity}",
url = "https://www.sciencedirect.com/topics/materials- science/piezoelectricity"
}
\end{filecontents}
\documentclass[13pt, a4paper, titlepage, oneside]{book}
\setcounter{tocdepth}{4}
\setcounter{secnumdepth}{4}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[margin=3cm]{geometry}
\usepackage{setspace}
\setstretch{1.2}
%\renewcommand{\baselinestretch}{1.2}
\usepackage[fontsize=13pt]{scrextend}
\usepackage{xcolor}
\definecolor{wine}{rgb}{0.5,0,0}
\usepackage[square,comma,numbers]{natbib}
\bibliographystyle{unsrtnat}
\usepackage{url}
\renewcommand{\UrlFont}{\small}
\usepackage{hyperref}
\hypersetup{
colorlinks = true,
linkcolor = .,
citecolor = .,
filecolor = .,
menucolor = .,
runcolor = .,
urlcolor = wine
}
\begin{document}
\cite{psqldocs}, \cite{piezoelectr}
\bibliography{ref}
\end{document}