0

I am editing the bibliography of my thesis with biblatex but in literature and in France we have very specific rules to cite documents. I use verbose citestyle and bibstyle to have my citations in a footnote, but the citation style for the articles doesn't meet my needs. Here's my example:

\documentclass[french,a4paper,12pt,oneside]{book}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel} 
\usepackage{csquotes}

\usepackage[citestyle=verbose-trad2,citepages=omit,bibstyle=verbose,isbn=false,doi=false,sorting=ynt]{biblatex}
\defbibheading{bibliography}[\bibname]{\subsubsection*{#1}}
\renewcommand{\newunitpunct}[0]{\addcomma\addspace}
\renewcommand*{\mkibid}{\emph} % pour mettre ibid, op. cit. et loc.cit. en italique
%pour mettre "éditeur, ville, date":
\renewbibmacro*{publisher+location+date}{% 
    \printlist{location}%
    \setunit*{\addcomma\space}%
    \printlist{publisher}%
    \setunit*{\addcomma\space}%
    \usebibmacro{date}%
    \newunit}
\DefineBibliographyStrings{french}{%
    in = {dans}%
}
%pour mettre la date de l'édition utilisée juste après l'année originale
\renewbibmacro{date}{%
    \DeclareFieldFormat{edition}{##1}%
    \printfield{year}%
    \addspace%
    \printfield{edition}%
}

\DeclareFieldFormat{edition}{}
%\bibliography{bibliotheseA}
\begin{filecontents}{test.bib}
@article{TrillingCalvino1962,
    title = {Calvino in musica},
    author = {Trilling, Ossia},
    date = {1962-01},
    journaltitle = {Sipario},
    volume = {XVII},
    keywords = {2caa},
    langid = {italian},
    number = {189}
}
@book{ValeryEgo1992,
    title = {Ego scriptor},
    author = {Valéry, Paul},
    date = {1992},
    publisher = {{Gallimard}},
    location = {{Paris}},
    keywords = {2lit},
    langid = {french}
}
\end{filecontents}
\addbibresource{test.bib}
\begin{document}
    Some text.\autocite{ValeryEgo1992}
    Other text.\autocite{TrillingCalvino1962}
    \printbibliography
\end{document}

For some reason the book citation doesn't work with me but anyway it is not a problem on my document. The problem is the result of the article citation:

result article citation

I would like the citation to be like this: Trilling, Ossia, "Calvino in musica", Sipario, n°189, vol. XVII, 1962.

Or, more generally:

<SURNAME>, <Name>, "<title>", *<journaltitle>*, n°<number>, vol.<volume>, <date>.

I was able to manage to change the order and style for books, but not for articles. Any idea?

4
  • Usually in biblatex @articles number is a subdivision of volume. I can't quite tell if that is the case here or if you want the opposite (volume is a subdivision of` number). Of course it would be possible to just invert the fields, but when you want to be able to reuse your .bib file with other styles, it may be a good idea to stick to the original semantic and only change the presentation. Can you explain how that is meant here?
    – moewe
    Aug 26 '20 at 15:52
  • I am not sure I want to invert the fields in the .bib file. I was wondering if there is a way to use a \renewbibmacro command related to @article just like I did for @books.
    – Martin
    Aug 27 '20 at 7:09
  • Sure, you can \renewbibmacro something together for that, but before I'd want to go into that I'd first like to understand the semantics of what is going on here. Which field is the subdivision of the other here? Or are they both independent? Assume you were to publish part of your work in an American journal with APA style, what should the citation look like there?
    – moewe
    Aug 27 '20 at 7:14
  • In the journals I usually use for my research, I would say that volume is a subdivision of number because some numbers have several volumes. Sometimes the volume field is empty, the more important is number.
    – Martin
    Aug 27 '20 at 7:49
0

In biblatex @articles number is always a subdivision of volume. If in your case volume is a subdivision of number I'd probably be inclined to swap the two fields in the input to still maintain consistency with other styles. I will first show a solution doing that and will then explain what needs to be done to exchange volume and number if you insist that is necessary.

Taking biblatex-ext's ext-verbose-trad2 as a basis many required changes can just be done by modifying punctuation macros.

\documentclass[french,a4paper,12pt,oneside]{book}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage[french=quotes]{csquotes}

\usepackage[backend=biber,
  style=ext-verbose-trad2,
  sorting=ynt,
  articlein=false,
  isbn=false, doi=false,
  citepages=omit]{biblatex}

\renewcommand{\newunitpunct}{\addcomma\space}
\renewcommand*{\mkibid}{\emph}

\renewcommand*{\jourvoldelim}{\addcomma\space}
\renewcommand*{\volnumdelim}{\addcomma\space}
\DeclareFieldFormat[article,periodical]{volume}{\bibstring{number}~#1}
\DeclareFieldFormat[article,periodical]{number}{\bibstring{jourvol}~#1}

\renewcommand*{\volnumdatedelim}{\addcomma\space}
\DeclareFieldFormat{issuedate}{#1}

\renewbibmacro{edition}{}

\renewcommand*{\locdatedelim}{\addcomma\space}
\renewcommand*{\locpubdelim}{\addcomma\space}
\renewcommand*{\pubdatedelim}{\addcomma\space}

\renewbibmacro*{pubinstorg+location+date}[1]{%
  \printlist{location}%
  \iflistundef{#1}
    {\setunit*{\locdatedelim}}
    {\setunit*{\locpubdelim}}%
  \printlist{#1}%
  \setunit*{\pubdatedelim}%
  \usebibmacro{date}%
  \setunit{\addspace}%
  \printfield{edition}%
  \newunit}

\DefineBibliographyStrings{french}{%
  in      = {dans},
  jourvol = {vol\adddot},
}


\begin{filecontents}{\jobname.bib}
@article{TrillingCalvino1962,
  title        = {Calvino in musica},
  author       = {Trilling, Ossia},
  date         = {1962-01},
  journaltitle = {Sipario},
  number       = {XVII},
  keywords     = {2caa},
  langid       = {italian},
  volume       = {189},
}
@book{ValeryEgo1992,
  title     = {Ego scriptor},
  author    = {Valéry, Paul},
  date      = {1992},
  publisher = {Gallimard},
  location  = {Paris},
  edition   = {4},
  keywords  = {2lit},
  langid    = {french},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
  Some text.\autocite{ValeryEgo1992}
  Other text.\autocite{TrillingCalvino1962}
  \printbibliography
\end{document}

Ossia Trilling, « Calvino in musica », Sipario, n o 189, vol. XVII, jan. 1962.


If you insist on exchanging volume and journal you also need to modify the bibmacro volume+number+eid.

\documentclass[french,a4paper,12pt,oneside]{book}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage[french=quotes]{csquotes}

\usepackage[backend=biber,
  style=ext-verbose-trad2,
  sorting=ynt,
  articlein=false,
  isbn=false, doi=false,
  citepages=omit]{biblatex}

\renewcommand{\newunitpunct}{\addcomma\space}
\renewcommand*{\mkibid}{\emph}

\renewcommand*{\jourvoldelim}{\addcomma\space}
\newcommand*{\numvoldelim}{\addcomma\space}
\DeclareFieldFormat[article,periodical]{number}{\bibstring{number}~#1}
\DeclareFieldFormat[article,periodical]{volume}{\bibstring{jourvol}~#1}

\renewbibmacro*{volume+number+eid}{%
  \printfield{number}%
  \setunit*{\numvoldelim}%
  \printfield{volume}%
  \setunit{\bibeidpunct}%
  \printfield{eid}}

\renewcommand*{\volnumdatedelim}{\addcomma\space}
\DeclareFieldFormat{issuedate}{#1}

\renewbibmacro{edition}{}

\renewcommand*{\locdatedelim}{\addcomma\space}
\renewcommand*{\locpubdelim}{\addcomma\space}
\renewcommand*{\pubdatedelim}{\addcomma\space}

\renewbibmacro*{pubinstorg+location+date}[1]{%
  \printlist{location}%
  \iflistundef{#1}
    {\setunit*{\locdatedelim}}
    {\setunit*{\locpubdelim}}%
  \printlist{#1}%
  \setunit*{\pubdatedelim}%
  \usebibmacro{date}%
  \setunit{\addspace}%
  \printfield{edition}%
  \newunit}

\DefineBibliographyStrings{french}{%
  in      = {dans},
  jourvol = {vol\adddot},
}


\begin{filecontents}{\jobname.bib}
@article{TrillingCalvino1962,
  title        = {Calvino in musica},
  author       = {Trilling, Ossia},
  date         = {1962-01},
  journaltitle = {Sipario},
  volume       = {XVII},
  keywords     = {2caa},
  langid       = {italian},
  number       = {189},
}
@book{ValeryEgo1992,
  title     = {Ego scriptor},
  author    = {Valéry, Paul},
  date      = {1992},
  publisher = {Gallimard},
  location  = {Paris},
  edition   = {4},
  keywords  = {2lit},
  langid    = {french},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
  Some text.\autocite{ValeryEgo1992}
  Other text.\autocite{TrillingCalvino1962}
  \printbibliography
\end{document}
3
  • It worked perfectly well, thank you. I have some other questions about biblatex but I have to do some research first. Do I post them here as answers or do I create a new topic?
    – Martin
    Aug 28 '20 at 15:47
  • @Martin Please ask a new question if you have a new question. (The answer space is reserved for answers only. And a question should ideally not be edited significantly after it was answered). If the answer helped you you may want to consider accepting it by clicking on the little green checkmark on the top left (tex.stackexchange.com/help/someone-answers)
    – moewe
    Aug 28 '20 at 15:56
  • Ok so I will ask a new question. I accepted the answer, thanks again, you were very helpful.
    – Martin
    Aug 28 '20 at 16:49

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.