하지 않다!

하지 않다!

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 파일을 사용하지 않습니다 . natbibBibTeX 스타일은 Biblatex와 호환되지 않습니다. 참고 문헌과 참고 문헌을 관리하는 방법은 상당히 다릅니다.

Biblatex를 사용하려면 Biblatex의 인터페이스를 고수해야 합니다. 원한다면 natbib삭제하세요 biblatex.

즉, natbib스타일에 관계없이 Biblatex를 사용할 때 가장 좋은 방법은

하지 않다!

관련 정보