
우리 대학은 몇 가지 흥미로운 인용 규칙을 갖고 싶어하며 이를 준수하려면 생성할 명령을 인용해야 합니다
<author> (<year>)
. (<author> <year>)
이를 (<author> <year>.)
위해 natbib을 조사한 결과 제가 필요한 것과 매우 유사한 것을 \citet
찾았 습니다. \cite
약간의 조작을 통해 내가 필요한 것에 더 가깝게 만들 수 있었습니다. 문제는 중간에 점과 쉼표가 있어서 발생했습니다.
내가 현재 가지고 있는 것은 다음과 같습니다.
\documentclass[12pt,twoside,english]{article}
\usepackage[backend=biber,style=authoryear-comp,natbib,citetracker=true,%
maxcitenames=1,uniquename=false,uniquelist=false]{biblatex}
\addbibresource{cite/citedb.bib}
\usepackage{xpatch}
\renewcommand*{\finalnamedelim}{%
\addspace\&\space}
\AtEveryCitekey{\ifciteseen{}{\clearfield{namehash}}}
\xpatchbibmacro{cite}
{\printnames{labelname}}
{\ifciteseen
{\printnames{labelname}}
{\printnames[][1-99]{labelname}}}
{}
{}
\xpatchbibmacro{textcite}
{\printnames{labelname}}
{\ifciteseen
{\printnames{labelname}}
{\printnames[][1-99]{labelname}}}
{}
{}
\begin{document}
\citet{foo}
\citet{foo}
\citep{foo}
\cited{foo}
\printbibliography
\end{document}
이것이 현재 나를 생산하는 것은
푸, 바 앤 바즈(xyz)
푸 등(xyz)
(푸 외, xyz)
그러면 연도가 되기 전에 쉼표를 없애고 \citep
필요한 명령을 생성하려면 어떻게 해야 합니까? \cited
? 끝에 점이 이렇게 생겼나요?
(Foo 외 xyz.)
답변1
쉼표를 없애면 됩니다.
\renewcommand*{\nameyeardelim}{\addspace}
natbib
실제로 이러한 변경이 필요한 것은 호환 모드( 참조 ) 이며 blx-natbib.def
기본값은 공백만 사용하는 것입니다.
\cited
당신이 얻을 수있는 기간
\newrobustcmd{\mkbibparensperiod}[1]{\mkbibparens{#1\addperiod}}
\DeclareCiteCommand{\darencite}[\mkbibparensperiod]
{\usebibmacro{cite:init}%
\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite}}
{}
{\usebibmacro{postnote}}
\newrobustcmd*{\cited}{\darencite}