3

I would like to use the \superfullcite for formatting numbered citations as footnotes in biblatex, and then have the footnotes parallel using \usepackage[para,bottom]{footmisc}

This works well

enter image description here

until I include the hyperref-package which messes the kerning, and adds extra space between the body text and footnotes (extra space comes significant if one has more citations with hyperlinks).

enter image description here

Is there any workaround to include hyperref?

Here is a MWE:

\documentclass{article}
\usepackage{lipsum}
\usepackage{hyperref} 
\usepackage[style=numeric-comp,firstinits=true]{biblatex}
\usepackage[para,bottom,hang]{footmisc}

\bibliography{biblatex-examples}

% ------------------- superfullcite ----- %
\makeatletter

\ExecuteBibliographyOptions{citetracker,sorting=none}

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

% ------------------------ 

\addbibresource{references.bib}

\begin{document}  

\lipsum[1]\superfullcite{kastenholz}
\lipsum[2]\superfullcite{companion,sigfridsson}
\lipsum[3]\superfullcite{augustine} \lipsum[4-6]

\end{document}
0

1 Answer 1

2

Usually hyperref should be the last package to be loaded in the preamble. (There are a few documented exceptions like cleverref that must be loaded after hyperref, for more see Which packages should be loaded after hyperref instead of before?.)

Simply change the loading order to load hyperref later.

\documentclass{article}
\usepackage[style=numeric-comp,firstinits=true]{biblatex}
\usepackage[para,bottom,hang]{footmisc}
\usepackage{hyperref}

\usepackage{lipsum}

% ------------------- superfullcite ----- %
\makeatletter

\ExecuteBibliographyOptions{citetracker,sorting=none}

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

\addbibresource{biblatex-examples.bib}

\begin{document}
\lipsum[1]\superfullcite{kastenholz}
\lipsum[2]\superfullcite{companion,sigfridsson}
\lipsum[3]\superfullcite{augustine} \lipsum[4-6]
\end{document}

Para footnotes with links

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .