未找到 Bibtex 樣式

未找到 Bibtex 樣式

我正在製作一個文檔,我想在其中添加參考書目。由於我在CentOS 7下,並且幾乎沒有預設安裝texlive的軟體包,所以我bibtexCTAN網站。

在我的 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

由於我在 CTAN 上沒有找到該bibtex.bst文件,因此我plain.bstCTAN地點。而且,由於它在第一次嘗試時不起作用,因此我將其放在多個位置。

~/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

在開始之前,最好嘗試理解biblatexBibTeX 和 BibTeX 之間的差異。bibtex 與 biber 和 biblatex 與 natbib有一些解釋應該會讓兩者之間的差異更加清晰,所以很快: BibTeX 是一個從文件中提取參考書目資料.bib並藉助.bst文件(「BibTeX 樣式」)將資料處理為 LaTeX 可讀資料的程式。更一般地說,有時人們(當然是我)說“BibTeX”時,他們指的是使用 BibTeX 與文件一起提供的整個參考書目設定.bstbiblatex是一個用於引文和參考書目的 LaTeX 包,其工作方式與“BibTeX 方法”不同。biblatex可以與 BibTeX 和較新的 Biber 一起用作從.bib檔案中提取相關條目資料的「後端」。

當你想使用時

\usepackage[<options>]{biblatex}

在您的文件中,您正在使用biblatex.

當您biblatex使用選項載入時backend=bibtex,,您正在使用 biblatexBibTeX 後端。

這表示您需要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/bstCTAN 上)似乎未正確安裝。

根據您的目錄列表

./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版本可能依賴其他類似的最新軟體包。因此,如果您手動安裝軟體包,您最終可能還必須手動更新或安裝其他幾個軟體包以確保版本匹配。

biblatex由於您是從 Linux 發行版的軟體儲存庫安裝 TeX Live 的,因此也可以透過 Linux 發行版正確安裝。不幸的是,我不太熟悉 CentOS,也不知道 TeX Live CentOS 7 發布的是哪個版本。但啟動yum搜尋功能來尋找也biblatex沒什麼壞處。

如果您的 Linux 發行版在其儲存庫中提供的 TeX Live 已經過時了,或者您需要的軟體包不可用,您可能需要考慮從 TUG.org 安裝「普通」TeX Live。 (Ubuntu 的說明位於如何在 Debian 或 Ubuntu 上安裝“普通”TeXLive?。通用說明位於https://tug.org/texlive/acquire-netinstall.html。


假設您的biblatex安裝已完成並且與安裝上的所有軟體包相容,

\usepackage[backend=bibtex,style=plain]{biblatex}
\addbibresource{myBib.bib}

還是不太對勁。您正在告訴biblatex使用名為 的樣式plain,但biblatex不知道該名稱的樣式。biblatex有自己的定義參考書目和引文樣式的系統,不使用 BibTeX 的.bst文件。如果plain是指 BIbTeX 風格,plain.bst它根本不能與biblatex. (正如我們所看到的,當它與 BibTeX 一起使用時biblatex需要biblatex.bst。無論您要求什麼樣式,都會使用該文件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}

如果您根本不想使用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版本相容的版本中。

相關內容