Я делаю документ, в который хочу добавить библиографию. Поскольку я работаю в CentOS 7, и по умолчанию с texlive почти нет установленных пакетов, я установил bibtex
изКТАНВеб-сайт.
В моем tex-файле я загружаю его так:
\usepackage[backend=bibtex]{biblatex}
\addbibresource{myBib.bib}
И у меня возникла такая ошибка:
I couldn't open style file biblatex.bst
---line 6 of file myDoc.aux
: \bibstyle{biblatex
: }
I'm skipping whatever remains of this command
I found no style file---while reading file myDoc.aux
Так как я не нашел bibtex.bst
файл на CTAN, я скачал plain.bst
файл наКТАНсайт. И так как с первой попытки это не сработало, я разместил это в нескольких местах.
~/texmf/tex/plain.bst
~/texmf/tex/bibtex/plain.bst
~/texmf/tex/bibtex/bstplain.bst
~/texmf/tex/latex/biblatex/bst/plain.bst
/usr/share/texlive/texmf/tex/bibtex/bst/plain.bst
Затем я запускаю texhash ~/texmf/
и sudo texhash /usr/share/texlive/texmf/
. Вот соответствующие ls-R
файлы:
~/texmf/ls-R
./tex:
bibtex
generic
latex
plain.bst
./tex/bibtex:
bst
plain.bst
./tex/bibtex/bst:
plain.bst
.
.
.
./tex/latex/biblatex:
biber
bibtex
bst
CHANGES.md
doc
latex
README
./tex/latex/biblatex/bibtex:
bib
bst
./tex/latex/biblatex/bibtex/bst:
biblatex.bst
./tex/latex/biblatex/bst:
plain.bst
.
.
.
./tex/latex/biblatex/latex/bst:
plain.bst
.
.
.
/usr/share/texlive/texmf/ls-R
./tex:
bibtex
generic
latex
./tex/bibtex:
bst
./tex/bibtex/bst:
plain.bst
Затем в моем tex-файле я указал, bibtex
какой стиль я хочу использовать:
\usepackage[backend=bibtex,style=plain]{biblatex}
\addbibresource{myBib.bib}
И знаете, у меня такая ошибка:
! Package biblatex Error: Style 'plain' not found.
Я не понимаю, почему это не работает, и я не могу найти ничего другого в Интернете. Есть у кого-нибудь идея?
решение1
Прежде чем начать, неплохо было бы попытаться понять разницу между biblatex
и BibTeX.bibtex против biber и biblatex против natbibесть некоторые пояснения, которые должны сделать разницу между ними более ясной, поэтому просто быстро: BibTeX — это программа, которая извлекает данные библиографии из файла .bib
и обрабатывает данные с помощью .bst
файлов («стили BibTeX») в данные, читаемые LaTeX. В более общем смысле, иногда люди (я, конечно) говорят «BibTeX», когда имеют в виду всю настройку библиографии, которая идет с использованием BibTeX с .bst
файлами. biblatex
— это пакет LaTeX для цитат и библиографий, который работает иначе, чем «подход BibTeX». biblatex
может использоваться с BibTeX и более новым Biber в качестве «бэкэндов», которые извлекают соответствующие данные записи из .bib
файла.
Когда вы хотите использовать
\usepackage[<options>]{biblatex}
в вашем документе вы используете biblatex
.
При загрузке biblatex
с опцией backend=bibtex,
, вы используете biblatex
бэкэнд BibTeX.
Это означает, что вам необходимо, чтобы и BibTeX biblatex
, и BibTeX были правильно установлены в вашей системе.
Первое сообщение
I couldn't open style file biblatex.bst
---line 6 of file myDoc.aux
: \bibstyle{biblatex
: }
I'm skipping whatever remains of this command
I found no style file---while reading file myDoc.aux
вы получаете предложение BibTeX запущен (сообщение приходит от BibTeX), но, biblatex
похоже, не полностью установлен. В частности, файлbiblatex.bst
(Доступна сhttps://ctan.org/tex-archive/macros/latex/contrib/biblatex/bibtex/bstна CTAN) по-видимому, установлен неправильно.
Согласно вашим каталогам, у вас есть
./tex/latex/biblatex/bibtex/bst:
biblatex.bst
но файл должен находиться в
./bibtex/bst/biblatex
Правильный путь здесь имеет решающее значение, поскольку файл не будет правильно найден, kpsewhich
если он находится в другом месте. (Спецификации пути известны как TDS:http://tug.ctan.org/tds/tds.html. Технически, только ./bibtex/bst/
часть пути имеет решающее значение, остальное после нее произвольно, но хорошей идеей будет организовать ваши каталоги с подкаталогами.)
Это одна из опасностей установки пакетов вручную из CTAN: для сложных пакетов вы можете неправильно определить структуру каталогов. Вот почему некоторые пакеты поставляются с .tds.zip
, где структура TDS уже правильно представлена в , .zip
и вам нужно только распаковать все в ваш TEXMFHOME
.
Другая проблема с ручными установками из CTAN — совместимость пакетов. Версия, которую вы получаете из CTAN, является новейшей версией пакета. Новая biblatex
версия может зависеть от того, насколько обновлены другие пакеты. Поэтому, если вы устанавливаете один пакет вручную, вам может потребоваться вручную обновить или установить несколько других пакетов, чтобы убедиться, что версии совпадают.
Поскольку вы установили TeX Live из репозиториев программного обеспечения вашего дистрибутива Linux, возможно, его можно будет правильно установить biblatex
и через ваш дистрибутив Linux. К сожалению, я не очень хорошо знаком с CentOS и не знаю, какая версия TeX Live поставляется с CentOS 7. Но запуск yum
функции поиска для поиска biblatex
не повредит.
Если TeX Live, поставляемый с вашим дистрибутивом Linux в репозиториях, безнадежно устарел или необходимые вам пакеты недоступны, вы можете рассмотреть возможность установки «ванильного» TeX Live с TUG.org. (Инструкции для Ubuntu находятся по адресуКак установить «ванильный» TeXLive на Debian или Ubuntu?. Общие инструкции наhttps://tug.org/texlive/acquire-netinstall.html.)
Предполагая, что ваша biblatex
установка завершена и совместима со всеми пакетами в вашей установке,
\usepackage[backend=bibtex,style=plain]{biblatex}
\addbibresource{myBib.bib}
все еще не совсем верно. Вы говорите biblatex
использовать стиль под названием plain
, но biblatex
не знает стиля с таким именем. biblatex
имеет собственную систему определения стилей библиографии и цитирования, которая не использует .bst
файлы BibTeX. Если plain
подразумевалось, чтобы ссылаться на стиль BIbTeX, plain.bst
то его просто нельзя использовать с biblatex
. (Как мы видели, biblatex
необходимо biblatex.bst
, когда он используется с BibTeX. Этот файл всегда используется, независимо от того, какой biblatex
стиль вы запрашиваете.)
Вам нужно выбрать один из biblatex
собственных стилей. Доступные стандартные стили перечислены вдокументацияbiblatex
и другие пользовательские стили доступны на CTAN:https://www.ctan.org/topic/biblatex. Например
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=bibtex,
style=authoryear,
]{biblatex}
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem \autocite[380]{sigfridsson}
ipsum \autocite[cf.][]{nussbaum}
dolor \autocite{worman}
sit \autocite[cf.][41]{geer}
\printbibliography
\end{document}
Если вы вообще не хотите использовать BibTeX biblatex
, а просто хотите использовать стандартный BibTeX, ваш документ будет выглядеть следующим образом:
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\begin{document}
Lorem \cite[380]{article-full}
ipsum \cite{incollection-full}
dolor \cite{inproceedings-full}
sit \cite[41]{inbook-full}
\bibliographystyle{plain}
\bibliography{xampl}
\end{document}
Обратите внимание, что в настоящее время рекомендуется использовать Biber в качестве бэкэнда biblatex
вместо BibTeX. Только Biber позволяет использовать все biblatex
расширенные функции . Но Biber должен быть доступен в вашей системе и должен быть установлен в версии, совместимой с вашей biblatex
версией.