닫는 괄호 바로 앞에 점이 있는 Biblatex parencite 명령

닫는 괄호 바로 앞에 점이 있는 Biblatex parencite 명령

우리 대학은 몇 가지 흥미로운 인용 규칙을 갖고 싶어하며 이를 준수하려면 생성할 명령을 인용해야 합니다 <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}

관련 정보