У меня возникла странная проблема с библиографией.
У меня есть запись в 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 ждетгодполе. На самом деле, если я добавлюгодзапись дляpsqldocs, форматирование в порядке, имеязаголовок,год.
Как это исправить? Это 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}