Удаление загадочных меток цитирования
Опечатки, пропуски, неправильный путь, несоответствие BibTeX и Biber.
Очистка загадочных кавычек
Симптом
Документ компилируется, но там, где должна появиться цитата, появляется жирный вопросительный знак [?], а в журнале содержатся строки типа Предупреждение LaTeX: Цитата 'knuth84' не определена. Иногда затрагивается каждая цитата, иногда только одна или две. Поскольку это предупреждение, а не ошибка, PDF-файл все равно создается, и отметки легко пропустить, пока читатель не укажет на них.
Почему это происходит
LaTeX не разрешает цитаты напрямую. При первом проходе он записывает каждый запрошенный ключ во вспомогательный файл. Бэкэнд-программа («bibtex» или «biber») затем ищет эти ключи в вашей базе данных «.bib» и записывает отформатированные записи. Два следующих прохода LaTeX складывают результаты обратно. Знак вопроса означает, что на момент последнего прохода для этого ключа не существовало форматированной записи. Каждая причина этого симптома — это какой-то способ сломать этот конвейер.
Устраните причины по порядку
Сначала проверьте сам ключ. \cite{knuth84} и @article{knuth1984,...} — это разные строки, и совпадение точное, включая регистр. Найдите в файле .bib ключ, указанный в предупреждении; опечатка с обеих сторон является наиболее распространенной причиной, и первое предупреждение об отсутствующем ключе в журнале является тем, за которым следует следить.
Затем убедитесь, что выполнен полный цикл компиляции. Последовательность: LaTeX, затем «bibtex» или «biber», затем еще два раза LaTeX. Одна компиляция никогда не сможет разрешить цитаты, поскольку серверная часть еще не запущена. Oleafly запускает весь цикл автоматически, но ручная сборка или неправильно настроенный редактор могут остановиться после первого прохода.
В-третьих, проверьте путь к базе данных. \bibliography{refs} и \addbibresource{refs.bib} разрешаются относительно основного файла, поэтому база данных во вложенной папке должна быть записана как bib/refs или bib/refs.bib. Неправильный путь незаметно терпит неудачу и обычно уничтожает весь список литературы; см. Пустая библиография, чтобы узнать об этой более серьезной ошибке.
Наконец, сопоставьте серверную часть с системой. Документ, загружающий biblatex, должен быть обработан с помощью biber. Ввод в него классического bibtex не дает никаких полезных результатов, и каждая цитата остается вопросительным знаком, независимо от того, сколько раз вы перекомпилируете.
Если ничего не помогает
Устаревшие вспомогательные файлы могут сохранять старое, сломанное состояние. Удалите файлы .aux, .bbl и .blg рядом с вашим документом и перестройте его с нуля. Файл .blg также стоит прочитать перед его удалением: это собственный журнал серверной части, в котором явно указаны отсутствующие базы данных и некорректные записи.