Overleaf の記事クラスのドキュメントで \citet{} を使用するときに、著者と年の間のカンマを削除しようとしています。そのため、プリアンブルに次のコードを含めました。
\setcitestyle{notesep={; }, aysep={ }}
しかし、「未定義の制御シーケンス」エラーが発生します。この前の投稿(Natbib setcitestyle により「未定義の制御シーケンス エラー」が発生する) は、\setcitestyle 関数が含まれていない古いバージョンの natbib によって問題が発生していることを示します。
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
biblatex
およびは使用できません。内でサポートnatbib
を得ることはできますが、 は使用できません。 これは、選択した Biblatex スタイルとは無関係です。 であるか、または他のものであるかは関係ありません。natbib
biblatex
natbib
apalike
.bst
Biblatex は、引用と参考文献の書式設定に独自のインターフェイスを使用します。 のアプローチの中核であるBibTeX ファイルは使用しませんnatbib
。 Biblatex と互換性のある BibTeX スタイルはありません。 これらは、参照と参考文献を管理するまったく異なる方法です。
Biblatex を使用する場合は、Biblatex のインターフェースに固執する必要があります。 が必要な場合はnatbib
、 を削除してくださいbiblatex
。
つまり、natbib
スタイルに関係なく、Biblatexを使用する際のベストプラクティスは、