参考书目条目格式错误

参考书目条目格式错误

我的书目中遇到了一个奇怪的问题。

我有一个像这样的 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} 

相关内容