Я прочитал довольно много других вопросов подобного типа, но они не помогли.
Я использую WIN10 PRO в качестве ОС.
Текстовый редактор: VScode версии 1.48.2
Распространение LaTeX: MikTex
Рецепт, используемый в vscode: latexmk (говорят, что он запускает biber для меня)
Мне нужно распечатать библиографию, у меня в корневой папке есть файл .bib (такой же, как и файл .tex). Я использую пакет biblatex с бэкэндом biber, вот моя преамбула:
\documentclass[12pt]{article}
\usepackage[spanish]{babel}
\usepackage{fancyhdr}
\usepackage{fancyref}
\usepackage{graphicx}
\usepackage{color}
\usepackage[backend=biber]{biblatex}
\usepackage{csquotes}
\addbibresource{bibliography.bib}
Проблема возникает, когда я пытаюсь \printbibliography
, компиляция проходит успешно, но ссылки не отображаются, а на панели проблем написано:
Empty bibliography.
LaTeX [401,1]
401 — номер строки, где возникла проблема.
Файл .bib:
@article{einstein,
author = "Albert Einstein",
title = "{Zur Elektrodynamik bewegter K{\"o}rper}. ({German})
[{On} the electrodynamics of moving bodies]",
journal = "Annalen der Physik",
volume = "322",
number = "10",
pages = "891--921",
year = "1905",
DOI = "http://dx.doi.org/10.1002/andp.19053221004",
keywords = "physics"
}
@book{dirac,
title = {The Principles of Quantum Mechanics},
author = {Paul Adrien Maurice Dirac},
isbn = {9780198520115},
series = {International series of monographs on physics},
year = {1981},
publisher = {Clarendon Press},
keywords = {physics}
}
@online{knuthwebsite,
author = "Donald Knuth",
title = "Knuth: Computers and Typesetting",
url = "http://www-cs-faculty.stanford.edu/~uno/abcde.html",
addendum = "(accessed: 01.09.2016)",
keywords = "latex,knuth"
}
@inbook{knuth-fa,
author = "Donald E. Knuth",
title = "Fundamental Algorithms",
publisher = "Addison-Wesley",
year = "1973",
chapter = "1.2",
keywords = "knuth,programming"
}
Поскольку я использую vscode с расширением latex-workshop, в нем есть консоль компилятора LaTeX, где он сообщает обо всем, что происходит. Вот последние 6 строк из сообщения компилятора LaTeX:
Latexmk: Found input bbl file 'DanielCorrea11_ExperimentoBACTERIAS.bbl'
Latexmk: Log file says output to 'DanielCorrea11_ExperimentoBACTERIAS.pdf'
Latexmk: Found biber source file(s) [DanielCorrea11_ExperimentoBACTERIAS.bcf]
=== TeX engine is 'pdfTeX'
Biber warning: [519] Utils.pm:304> WARN - The file 'DanielCorrea11_ExperimentoBACTERIAS.bcf' does not contain any citations!
Latexmk: All targets (c:/Users/danco/Documents/TeX_Dev/Biologia/ExperimentBACTERIA/DanielCorrea11_ExperimentoBACTERIAS.pdf) are up-to-date
Как вы можете видеть, в сообщении журнала указано, Biber warning
что файл .bcf не содержит никаких ссылок (я не знаю, что такое файл .bcf, извините).
Я не знаю, проблема ли это в Biber или что могло вызвать это, я пытался сделать то, что люди предлагают в других вопросах TeX stackexchange, вот некоторые из тех, что я прочитал:
XeLaTeX и Biber не создают файл *.bbl
Вопросительный знак или жирный ключ цитирования вместо номера цитирования
Biblatex с Biber: настройка редактора для избежания неопределенных цитат
Я был бы очень признателен за вашу помощь, это для научной статьи.
решение1
biblatex
(а также классический BibTeX) добавит только те ссылки из вашего .bib
файла в библиографию, которые были процитированы в документе. Идея в том, что вы можете использовать один и тот же большой .bib
файл для всех ваших документов и решать, какие источники являются релевантными и должны быть добавлены в библиографию каждого конкретного документа индивидуально.
Это означает, что вам нужна по крайней мере одна \...cite...
команда like в вашем документе, чтобы увидеть вывод библиографии. Это то, что предупреждение Biber
Biber warning: [519] Utils.pm:304> WARN - The file 'DanielCorrea11_ExperimentoBACTERIAS.bcf' does not contain any citations!
пытается вам сказать: Бибер мог бы запустить ваш файл, и все, кажется, настроено правильно, но вы просто не просили ничего цитировать.
Добавьте ссылку \autocite{einstein}
где-нибудь, чтобы сослаться на einstein
запись.
Если вы хотите добавить запись в библиографию без явного цитирования \nocite{<key>}
, используйте , то есть \nocite{dirac}
. Если вы хотите добавить все записи из вашего .bib
файла, используйте \nocite{*}
.