不!

不!

在 Overleaf 上的文章類文件中使用 \citet{} 時,我試圖刪除作者和年份之間的逗號。因此,我在序言中包含了以下程式碼:

\setcitestyle{notesep={; }, aysep={ }}

但是,我收到“未定義的控制序列”錯誤。上一篇文章(Natbib setcitestyle 導致“未定義的控制序列錯誤”) 表明該問題是由 natbib 的過時版本引起的,該版本不包含 \setcitestyle 函數。

是否可以更新 Overleaf 上的 natbib?然而,我希望 Overleaf 會有最新版本的 natbib...

%%%

使用範例程式碼更新:

更新此 biblatex 指令成功刪除逗號。

\renewcommand*{\nameyeardelim}{\addspace}

顯然 natbib 和 apalike 或 apacite 之間存在衝突。看這裡: http://latex-community.org/forum/viewtopic.php?t=23715

誰能證實這一點嗎?關於在 biblatex 中使用 natbib 和authoryear 風格時的最佳實踐有什麼建議嗎?

\documentclass{book}

\usepackage[style=authoryear, citestyle=authoryear-comp, hyperref=true, backend=biber, natbib=true]{biblatex}

\usepackage{natbib}                         % gives error
\setcitestyle{notesep={; }, aysep={ }}          % gives error

%\renewcommand*{\nameyeardelim}{\addspace} % removes comma, no error

\usepackage{filecontents}
\begin{filecontents}{test.bib}
@article{kerth_information_2003,
    title = {Information transfer about roosts in female {Bechstein}'s bats: an experimental field study},
    volume = {270},
    journal = {Proceedings of the Royal Society of London. Series B: Biological Sciences},
    author = {Kerth, Gerald and Reckardt, Karsten},
    year = {2003},
    pages = {511--515}
}
\end{filecontents}
\addbibresource{test.bib}

\begin{document}
A thing happen once, the thing was seen by \citet{kerth_information_2003}.
\end{document}

答案1

您不能使用biblatexnatbib。你可以得到natbib內在的支持biblatex,但你不能使用natbib。這與您選擇的 Biblatex 樣式無關。是這樣apalike還是別的什麼並不重要。

Biblatex 使用自己的介面來格式化引文和參考書目。它不使用 BibTeX文件,而 BibTeX 文件是方法的.bst核心。natbib沒有 BibTeX 樣式與 Biblatex 相容。它們是管理參考文獻和參考書目的完全不同方式。

如果你想使用 Biblatex,你需要堅持使用 Biblatex 的介面。如果你願意natbib,就放棄吧biblatex

也就是說,使用natbibBiblatex 時的最佳實踐,無論風格如何,都是

不!

相關內容