# How to change citation style for articles in biblatex?

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}

\renewcommand*{\mkibid}{\emph} % pour mettre ibid, op. cit. et loc.cit. en italique
%pour mettre "éditeur, ville, date":
\renewbibmacro*{publisher+location+date}{%
\printlist{location}%
\printlist{publisher}%
\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}%
\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}
\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:

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?

• 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? 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. 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? 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. Aug 27 '20 at 7:49

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,
sorting=ynt,
articlein=false,
isbn=false, doi=false,
citepages=omit]{biblatex}

\renewcommand*{\mkibid}{\emph}

\DeclareFieldFormat[article,periodical]{volume}{\bibstring{number}~#1}
\DeclareFieldFormat[article,periodical]{number}{\bibstring{jourvol}~#1}

\DeclareFieldFormat{issuedate}{#1}

\renewbibmacro{edition}{}

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

\DefineBibliographyStrings{french}{%
in      = {dans},
}

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

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


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,
sorting=ynt,
articlein=false,
isbn=false, doi=false,
citepages=omit]{biblatex}

\renewcommand*{\mkibid}{\emph}

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

\DeclareFieldFormat{issuedate}{#1}

\renewbibmacro{edition}{}

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

\DefineBibliographyStrings{french}{%
in      = {dans},
}

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