Obtendo a lista completa de autores após a primeira citação com biblatex-apa

Obtendo a lista completa de autores após a primeira citação com biblatex-apa

O estilo APA exige que a primeira citação de 3 a 6 (?) autores use a lista completa de autores, enquanto as citações subsequentes usem uma lista abreviada de autores. Isso é implementado por biblatex-apa:

\documentclass{article}

\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[style=apa]{biblatex}

\addbibresource{biblatex-examples.bib}

\begin{document}

% full author list
\parencite{herrmann}

% abbreviated author list
\parencite{herrmann}

% I would like a full author list here
\parencite{herrmann}

% this should be abbreviated again
\parencite{herrmann}

\printbibliography
\end{document}

insira a descrição da imagem aqui

Em alguns casos seria interessante obter a lista completa dos autores mesmo numa citação posterior. Isso é possível? A solução ideal seria uma mudança que fizesse com que todas as citações subsequentes fossem tratadas como primeiras, de modo que apenas a segunda citação após a "mudança" fosse abreviada.

Esta questão é motivada por umapergunta sobre SOonde um usuário tenta fazer algo assim no contexto de csle pandoc-citeproc. Tenho esperança de que um biblatexfluxo de trabalho baseado seja mais flexível.

Responder1

biblatex-apausa o teste \ifciteseenpara verificar se uma citação deve usar a forma longa ou curta. Este rastreador pode ser redefinido completamente com \citereset. biblatex-apatambém define um rastreador especial adicional que pode ser redefinido \citeresetapa(este rastreador é usado apenas em circunstâncias muito especiais com campos shortauthor/ shorteditor, portanto, esquecer de redefini-lo quase não causará danos na maioria dos casos de uso).

Então, se você emitir

\citereset\citeresetapa

em qualquer lugar do documento, todas as primeiras citações após essa linha usarão o formato longo e as citações subsequentes serão curtas novamente. Isso afeta todas as entradas da mesma forma.

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[style=apa]{biblatex}

\addbibresource{biblatex-examples.bib}

\begin{document}

% full author list
\parencite{herrmann}

\parencite{yoon}

% abbreviated author list
\parencite{herrmann}

\parencite{yoon}

% I would like a full author list here
\citereset\citeresetapa
\parencite{herrmann}

\parencite{yoon}

% this should be abbreviated again
\parencite{herrmann}

\parencite{yoon}

\printbibliography
\end{document}

(Herrmann, Öfele, Schneider, Herdtweck, & Hoffmann, 2006)//(Yoon, Ryu, Kim, & Ahn, 2006)//(Herrmann et al., 2006)//(Yoon et al., 2006)// (Herrmann, Öfele, Schneider, Herdtweck, & Hoffmann, 2006)//(Yoon, Ryu, Kim, & Ahn, 2006)//(Herrmann et al., 2006)//(Yoon et al., 2006)

A opção de pacote de tempo de carregamento citereset=<section level>permite executar automaticamente \citeresettodos os títulos do arquivo <section level>. Então citereset=sectionligaria \citeresetpara cada um \section. Não há opção análoga para \citeresetapa.


Se você quiser afetar apenas uma citação específica, algo como

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[style=apa]{biblatex}

\addbibresource{biblatex-examples.bib}

\makeatletter
\newcommand*{\longparencite}{%
  \AtNextCite{\AtEachCitekey{%
    \let\blx@imc@ifciteseen\@secondoftwo
    \let\ifciteseen\blx@imc@ifciteseen}}%
  \parencite}
\makeatother

\begin{document}

% full author list
\parencite{herrmann}

\parencite{yoon}

% abbreviated author list
\parencite{herrmann}

\parencite{yoon}

% I would like a full author list here
\longparencite{herrmann}

\parencite{yoon}

% this should be abbreviated again
\parencite{herrmann}

\parencite{yoon}

\printbibliography
\end{document}

pode funcionar melhor para você.

(Herrmann, Öfele, Schneider, Herdtweck, & Hoffmann, 2006)//(Yoon, Ryu, Kim, & Ahn, 2006)//(Herrmann et al., 2006)//(Yoon et al., 2006)// (Herrmann, Öfele, Schneider, Herdtweck, & Hoffmann, 2006)//(Yoon et al., 2006)//(Herrmann et al., 2006)//(Yoon et al., 2006)

Com esta definição \longparencitepretende-se localmente que a citação não foi vista antes, daí obtemos a forma longa. \longparencitenão afeta outras citações e pelo menos com esta definição \longparenciteconta \ifciteseenem situações como \longparencite{herrmann}\parencite{herrmann}(isso pode ser alterado, é claro).

informação relacionada