1

I've been getting into LaTeX for a thesis and I'm overall pretty satisfied with my setup. There's however an issue I can't wrap my head around, and can't find a solution for. Using Biber and biblatex, with verbose-trad1 as an option, I'd like that whenever opcit is called, instead of the output being

{Author} op. cit.

it be

{Author} op. cit. #REF

where #REF refers to the footnote number where the citation first appeared.

Here's a M(n)WE:

%!TEX program = xelatex
% Add packages
\documentclass[12pt]{article}
\usepackage[english,main=french]{babel}
\usepackage{fontspec}
\usepackage[autostyle=true]{csquotes}
\usepackage[citestyle=ext-verbose-trad1, articlein=false, bibstyle=ext-authortitle]{biblatex}
\addbibresource{ref.bib}
\usepackage{hyperref}

% Citation settings
\DefineBibliographyStrings{french}{opcit = {\textit{supra}, note \ref{}},} %<= I guess it'd go there?

% Test proper
\begin{document}
    Some text string\autocite{A}, some other\autocite{B}, some more\autocite{A}.
\end{document}

Where I'd like the footnote output to be:

  1. Author A, full reference
  2. Author B, full reference
  3. Author A, supra, note 1.

This answer would work but it'd be incredibly tedious and could only be done at the end, once citations are set in stone, which defeats the purpose of a language like LaTeX. In any case, I'm in over my head.

1 Answer 1

2

If you just a want a verbose style with references to the first footnote and 'ibidem' you can use (ext-)verbose-inote.

\documentclass[12pt]{article}
\usepackage[english,main=french]{babel}
\usepackage[autostyle=true]{csquotes}
\usepackage{fontspec}
\usepackage[style=ext-verbose-inote, articlein=false]{biblatex}
\usepackage{hyperref}

\DefineBibliographyStrings{french}{
  seenote = {supra, note},
}

\addbibresource{biblatex-examples.bib}


\begin{document}
  Some text string\autocite{sigfridsson},
  some other\autocite{worman},
  some more\autocite{sigfridsson}.
\end{document}

Sigfridsson et Ryde, supra, note 1.


If you want to retain all the other scholarly abbreviations of verbose-trad1, some more work is needed. In this example I only replace op cit. not loc. cit. or any other abbreviation.

\documentclass[12pt]{article}
\usepackage[english,main=french]{babel}
\usepackage[autostyle=true]{csquotes}
\usepackage{fontspec}
\usepackage[style=ext-verbose-trad1, articlein=false]{biblatex}
\usepackage{hyperref}

\DefineBibliographyStrings{french}{
  seenote = {supra, note},
}

\newtoggle{cbx:pageref}

\DeclareBibliographyOption[boolean]{pageref}[true]{%
  \settoggle{cbx:pageref}{#1}%
  \iftoggle{cbx:pageref}
    {\ExecuteBibliographyOptions{pagetracker}}
    {}}

\DeclareFieldFormat{bibhyperlink}{%
  \bibhyperlink{%
    \thefield{entrykey}:\csuse{cbx@\iffootnote{f}{t}@\thefield{entrykey}}}{#1}}
\DeclareFieldFormat{bibhypertarget}{%
  \bibhypertarget{\thefield{entrykey}:\the\value{instcount}}{#1}}

\providecommand*{\mkibid}[1]{#1}

\renewbibmacro*{cite:save}{%
  \csxdef{cbx@lastcite@\thefield{entrykey}}{\the\value{instcount}}%
  \iffootnote
    {\csxdef{cbx@f@\thefield{entrykey}}{\the\value{instcount}}%
     \label{cbx@\the\value{instcount}}}
    {}%
  \global\boolfalse{cbx:noidem}}

\newbibmacro{seenote}{%
  \printtext{%
    \bibstring{seenote}\addnbspace
    \ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
    \iftoggle{cbx:pageref}
      {\ifsamepage{\the\value{instcount}}
                  {\csuse{cbx@f@\thefield{entrykey}}}
         {}
         {\addcomma\space\bibstring{page}\addnbspace
          \pageref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}}
      {}}}

\renewbibmacro*{cite:opcit}{%
  \iffootnote
    {\usebibmacro{seenote}}
    {\printtext[bibhyperlink]{\bibstring[\mkibid]{opcit}}}}

\addbibresource{biblatex-examples.bib}


\begin{document}
  Some text string\autocite{sigfridsson},
  some other\autocite{worman},
  some more\autocite{sigfridsson}.
\end{document}
5
  • Thanks a lot for the answer. I didn't realise what verbose-(i)note was doing from the documentation, and reading it now after experimenting with it, it still seems obscure (op. cit. was also a pointer with hyperref) and doesn't mention numbering. If I may, what's your process for figuring out those command chains? Looking at the repository, it seems like you didn't just copy paste from one spot (your name is everywhere btw!) but actually merged code from many places (in record time). Anyway, thank you. PS: sorry for the lack of upvote, my "reputation" isn't high enough (yet).
    – fairytalq
    Apr 27, 2020 at 23:54
  • 1
    @fairytalq The style examples in ctan.org/tex-archive/macros/latex/contrib/biblatex/doc/examples (30-style-... up to 82-style-...) should hopefully make it slightly clearer what each style does: The short description in the biblatex documentation does not always explain all details. For more complex issues like this usually the only way to figure out which bits to change is by looking at the code.
    – moewe
    Apr 28, 2020 at 5:08
  • Thanks for the link! I found those linked on the right margin in the general biblatex documentation. Being new to LaTeX and possessing only limited programming (scripting, really) skills, the code is still fairly hard for me to parse. I'm trying though ( I managed to put together this command, for instance \togglefalse{abx@bool@giveninits}, to change the initials settings in the References but not in the body).
    – fairytalq
    Apr 30, 2020 at 4:54
  • 1
    @fairytalq To be fair verbose-trad1.cbx (and the code from the second example above) is probably one of the more complex styles implementation wise (especially the stuff that does the linking: cite:save and seenote). standard.bbx (which defines the bibliography setup) is a bit easier on the eye. There are several ways to get initials only in citations, of which \togglefalse{abx@bool@giveninits} is probably the quickest, but by no means the easiest to understand.
    – moewe
    Apr 30, 2020 at 5:38
  • The main reason I went with \togglefalse{abx@bool@giveninits} is that searching through the repo for giveninits lead me to few results and, while, tracking one of those results, I managed to end up at that result. After seeing that it worked, I didn't bother trying another way to implement it.
    – fairytalq
    Apr 30, 2020 at 5:42

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .
https://tex.stackexchange.com/questions/540942/biblatex-footnote-citation-reference-same-citation-previous-footnote-number
tex.stackexchange.com
CC-MAIN-2024-10
148565
application/http; msgtype=response
sha1:QXGUL7YAONBIHRN6FHIUE7QHIASKAVR3
<urn:uuid:84d90533-021e-46a2-a44a-976b74db74d1>
2024-02-23T17:12:59Z
104.18.43.226
text/html
sha1:Y6SDTAEZREESOSA26THA325JWQ6R6FMO
<urn:uuid:0b0060d1-4667-48bf-bbf7-432b607fbfe0>
https://tex.stackexchange.com/questions/540942/biblatex-footnote-citation-reference-same-citation-previous-footnote-number
response
<urn:uuid:1ff4136c-1544-4b8a-87bc-2fd800af61d9>
isPartOf: CC-MAIN-2024-10
publisher: Common Crawl
description: Wide crawl of the web for February/March 2024
operator: Common Crawl Admin (info@commoncrawl.org)
hostname: ip-10-67-67-93
software: Apache Nutch 1.19 (modified, https://github.com/commoncrawl/nutch/)
robots: checked via crawler-commons 1.5-SNAPSHOT (https://github.com/crawler-commons/crawler-commons)
format: WARC File Format 1.1
conformsTo: https://iipc.github.io/warc-specifications/specifications/warc-format/warc-1.1/