![Superfullcita con estilo=alfabético](https://rvso.com/image/305907/Superfullcita%20con%20estilo%3Dalfab%C3%A9tico.png)
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-comp
ysorting=true
modificar etiquetas de alguna manera? - ¿Comenzar a consumir
alphabetic
e 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=none
pero no puedo cambiar el estilo a alfabético, ya que las cite:init
macros 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 \sfcite
que 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}