Superfullcita con estilo=alfabético

Superfullcita con estilo=alfabético

estoy usando \superfullcite{}explicadoaquí. Según tengo entendido (que me temo que no es mucho), es básicamente una \footfullcite{}nota que solo aparece una vez como nota a pie de página, incluso si se cita varias veces. Me gusta mucho esto, ya que me permite (usando \AtEveryCiteKey{\clearfield{...}}) poner citas (pequeñas) en el pie de página (o margen para mechones) y tener la cita (completa, larga) al final.

Sin embargo, usa numeric-comp, y prefiero que los enlaces a mis citas sean [XYZ99]así (supongo que sería alphabetic). De esta manera, no existe un orden numérico implícito, que se estropea al ordenar alfabéticamente. Pero si una persona lee sólo la bibliografía.

No estoy muy seguro de cómo hacer esto. Lo que falta es básicamente sólo un cambio de etiquetas, sin embargo, no estoy seguro de cómo hacerlo.

  • ¿Seguir usando numeric-compy sorting=truemodificar etiquetas de alguna manera?
  • ¿Comenzar a consumir alphabetice intentar ponerse \superfullcite{}a trabajar?

Un MWE sería este.

% !TEX TS-program = pdflatex
% !TEX encoding = UTF-8 Unicode
%\documentclass[a4paper, nobib, notoc, symmetric, marginals=raggedouter, justified]{tufte-book} % 
%\morefloats
%\morefloats
\documentclass{article}
\usepackage{csquotes}
\usepackage{hyphenat} 
\usepackage[american]{babel}


\usepackage[block=nbpar, firstinits=false, backref=true, maxcitenames=1, maxbibnames=99,  isbn=false, doi=false, url=false, eprint=false, style=numeric-comp, backend=biber, sorting=none, citetracker=true, defernumbers=true]{biblatex}

\bibliography{biblatex-examples}
%%=====
\makeatletter
\DeclareCiteCommand{\notefullcite}[\mkbibbrackets]
  {\usebibmacro{cite:init}%
   \usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{notefullcite}%
   \usebibmacro{cite:comp}}
  {}
  {\usebibmacro{cite:dump}%
   \usebibmacro{postnote}}

\newbibmacro*{notefullcite}{%
  \ifciteseen
    {}
    {\footnotetext[\thefield{labelnumber}]{%
       \usedriver{}{\thefield{entrytype}}.}}}


% Declare superfullcite and remap it to cite
\DeclareCiteCommand{\superfullcite}[\cbx@superscript]%
  {\usebibmacro{cite:init}%
   \let\multicitedelim=\supercitedelim
   \iffieldundef{prenote}
     {}
     {\BibliographyWarning{Ignoring prenote argument}}%
   \iffieldundef{postnote}
     {}
     {\BibliographyWarning{Ignoring postnote argument}}}
  {\usebibmacro{citeindex}%
   \usebibmacro{superfullcite}%
   \usebibmacro{cite:comp}}
  {}
  {\usebibmacro{cite:dump}}

\newbibmacro*{superfullcite}{%
  \ifciteseen
    {}
    {\xappto\cbx@citehook{%
       \noexpand\footnotetext[\thefield{labelnumber}]{%
         \fullcite{\thefield{entrykey}}.}}}}

\newrobustcmd{\cbx@superscript}[1]{%
  \mkbibsuperscript{#1}%
  \cbx@citehook
  \global\let\cbx@citehook=\empty}
\let\cbx@citehook=\empty
\makeatother

%\renewcommand{\cite}[1]{\superfullcite{#1}} %remap \superfullcite to \cite



\begin{document}
Some filler text \notefullcite{cotton}, then some more text
\notefullcite{hammond}. Perhaps some more text and the same
citation again \notefullcite{hammond}. Yet another one
\notefullcite{knuth:ct:a}. Now all again
\notefullcite{cotton,hammond,knuth:ct:a}.

Some filler text,\superfullcite{augustine} then some more
text.\superfullcite{companion} Perhaps some more text and the
same citation again.\superfullcite{companion} Yet another
one.\superfullcite{kastenholz} Now all
again.\superfullcite{augustine,companion,kastenholz}
\printbibliography

\end{document}

Como puedes ver lo uso sorting=nonepero no puedo cambiar el estilo a alfabético, ya que las cite:initmacros y similares no funcionan. ¿Alguien podría explicar qué hacen? La búsqueda en la documentación de biblatex arroja 0 resultados.

Respuesta1

Podemos definir un nuevo comando \sfciteque imprima la cita estándar y agregue un \footfullcite, es decir, una nota al pie con la entrada bibliográfica completa, en la primera aparición de una cita.

\DeclareCiteCommand{\sfcite}[\mkbibbrackets]
  {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}%
   \ifciteseen
     {}
     {\footfullcite{\thefield{entrykey}}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

(La definición anterior está diseñada para funcionar con alphabetic, pero si elimina el, [\mkbibbrackets]funciona con muchos otros estilos estándar. La idea básica es agregar el \ifciteseen{}{\footfullcite{\thefield{entrykey}}}bloque después \usebibmacro{cite}en la definición).

MWE

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[style=alphabetic,backend=biber,citetracker=constrict]{biblatex}
\usepackage[colorlinks=true]{hyperref}

\addbibresource{biblatex-examples.bib}

\DeclareCiteCommand{\sfcite}[\mkbibbrackets]
  {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}%
   \ifciteseen
     {}
     {\footfullcite{\thefield{entrykey}}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\begin{document}
Lorem \sfcite{wilde} ipsum \sfcite{cicero} dolor \sfcite{wilde} sit
\sfcite{geer} amet \sfcite{knuth:ct:a,knuth:ct:b}.

Cite again \sfcite{geer} and \sfcite{cicero}.
\end{document}

ingrese la descripción de la imagen aquí

información relacionada