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
누구든지 이것을 확인할 수 있습니까? natbib 및 biblatex에서 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
. natbib
내에서는 지원을 받을 수 있지만 biblatex
사용할 수는 없습니다 natbib
. 이는 선택한 Biblatex 스타일과 무관합니다. 그것이든 apalike
다른 것이 든 그것은 중요하지 않습니다 .
Biblatex는 인용 및 참고문헌 형식을 지정하기 위해 자체 인터페이스를 사용합니다. 의 접근 방식 .bst
의 핵심인 BibTeX 파일을 사용하지 않습니다 . natbib
BibTeX 스타일은 Biblatex와 호환되지 않습니다. 참고 문헌과 참고 문헌을 관리하는 방법은 상당히 다릅니다.
Biblatex를 사용하려면 Biblatex의 인터페이스를 고수해야 합니다. 원한다면 natbib
삭제하세요 biblatex
.
즉, natbib
스타일에 관계없이 Biblatex를 사용할 때 가장 좋은 방법은