# BibLatex verbose-ibid full cite after every change of reference

Is it possible to always cite the full source after changing the reference, instead of using the shorted version with last-name, title verbose-ibid offers? I found this question by someone else. It seems to be possible to rewrite cite:short using \renewbibmacro*{cite:short} if that helps. Is it possible to just replace cite:short with cite:long/full or however it might be called?

My current setup: \usepackage[backend=biber,citestyle=verbose-ibid,natbib=true,bibstyle=authoryear]{biblatex}

Minimal working example:

\documentclass{article}
\usepackage[backend=biber,citestyle=verbose-ibid,natbib=true,bibstyle=authoryear]{biblatex}
\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@book{key1,
author = {Author, A.},
year = {2001},
title = {Title},
publisher = {Publisher},
}
@book{key2,
author = {Author, B.},
year = {2002},
title = {Title 2},
publisher = {Publisher 2},
}
\end{filecontents}

\begin{document}

Lorem ipsum dolor sit amet \footcite{key1}, consectetur adipiscing elit \footcite{key1}, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua \footcite{key2}. Ut enim ad minim veniam \footcite{key2}, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat \footcite{key1}.

\printbibliography

\end{document}


I basicly want, that footnote 5 is "A. Author (2001). Title. Publisher." instead of "Author, Title."

You can redefine the cite bibmacro to use cite:full instead of cite:short:

\renewbibmacro*{cite}{%
\usebibmacro{cite:citepages}%
\global\togglefalse{cbx:loccit}%
\ifciteseen
{\iffieldundef{shorthand}
{\ifboolexpr{
test {\ifciteibid}
and
not test {\iffirstonpage}
}
{\usebibmacro{cite:ibid}}
{\usebibmacro{cite:full}}}
{\usebibmacro{cite:shorthand}}}
{\usebibmacro{cite:full}}}


A full MWE:

\documentclass{article}
\usepackage[backend=biber,citestyle=verbose-ibid,natbib=true,bibstyle=authoryear]{biblatex}
\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@book{key1,
author = {Author, A.},
year = {2001},
title = {Title},
publisher = {Publisher},
}
@book{key2,
author = {Author, B.},
year = {2002},
title = {Title 2},
publisher = {Publisher 2},
}
\end{filecontents}

\renewbibmacro*{cite}{%
\usebibmacro{cite:citepages}%
\global\togglefalse{cbx:loccit}%
\ifciteseen
{\iffieldundef{shorthand}
{\ifboolexpr{
test {\ifciteibid}
and
not test {\iffirstonpage}
}
{\usebibmacro{cite:ibid}}
{\usebibmacro{cite:full}}}
{\usebibmacro{cite:shorthand}}}
{\usebibmacro{cite:full}}}

\begin{document}

Lorem ipsum dolor sit amet \footcite{key1}, consectetur adipiscing elit \footcite{key1}, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua \footcite{key2}. Ut enim ad minim veniam \footcite{key2}, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat \footcite{key1}.

\printbibliography

\end{document}


• +1) Slightly shorter: \letbibmacro{cite:short}{cite:full} makes cite:short always execute the same code as cite:full leading to the same result. – moewe Mar 11 '18 at 0:12
• @moewe "slightly" :) Didn't think of that, and it's actually a very nice idea. I'd say it deserves an answer of it's own. Please feel free. – gusbrs Mar 11 '18 at 0:24
• I don't think you should have deleted your answer tex.stackexchange.com/a/419705/35864 to tex.stackexchange.com/q/419702/35864. It was a perfectly good and clever idea. – moewe Mar 12 '18 at 10:59

With

\letbibmacro{cite:short}{cite:full}


we can \let the bibmacro cite:short execute what cite:full would do. This uses \let, so it copies the definition of cite:full when the \letbibmacro is executed. See What is the difference between \let and \def?

If you'd rather have the definition of cite:full at the time of executing cite:short, i.e. handle the assignment with \def, use

\renewbibmacro*{cite:short}{\usebibmacro{cite:full}}