1

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}
\addbibresource{\jobname.bib}
\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."

1

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}
\addbibresource{\jobname.bib}
\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}

enter image description here

  • 1
    +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
1

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

instead.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.