Comando parencite Biblatex com ponto logo antes do parêntese de fechamento

Comando parencite Biblatex com ponto logo antes do parêntese de fechamento

Minha universidade gosta de ter algumas regras de citação interessantes e, para cumpri-las, eu precisaria citar comandos para produzir <author> (<year>), (<author> <year>)e (<author> <year>.)para fazer isso pesquisei no natbib e descobri \citetque \citeera muito parecido com o que eu precisava. Com um pouco de mexer consegui aproximá-los do que eu precisava. O problema veio com o ponto e a vírgula no meio

Aqui está o que tenho atualmente.

\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}

O que isso me produz atualmente é

Foo, Bar e Baz (xyz)

Foo et al., (xyz)

(Foo et al., xyz)

Então, como posso fazer com que essa vírgula desapareça \citepantes do ano e também criar o comando necessário? \cited? com o ponto no final assim?

(Foo et al. xyz.)

Responder1

Você pode fazer a vírgula desaparecer com

\renewcommand*{\nameyeardelim}{\addspace}

Na verdade é o natbibmodo de compatibilidade (ver blx-natbib.def) que torna esta alteração necessária, o padrão é usar apenas um espaço.


O período em que \citedvocê pode começar com

\newrobustcmd{\mkbibparensperiod}[1]{\mkbibparens{#1\addperiod}}
\DeclareCiteCommand{\darencite}[\mkbibparensperiod]
  {\usebibmacro{cite:init}%
   \usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}}
  {}
  {\usebibmacro{postnote}}

\newrobustcmd*{\cited}{\darencite}

informação relacionada