Le système de tri de mon préambule crée une erreur dans la bibliographie finale. Je suis en nyt. Lorsque le champ author ou editor ne contient qu'un seul nom, tout se passe bien. Dans la bibliographie, les références sont triées selon le nom de l'auteur, puis la date de publication.

Toutefois, lorsque les champs author ou editor contiennent plusieurs noms (dans le cadre par exemple d'un volume collectif codirigé par deux chercheurs), la bibliographie donne d'abord toutes les références dans lesquelles le directeur de publication a travaillé seul, en les triant par date, PUIS toutes celles dans lesquelles il a collaboré, en faisant donc repartir l'ordre chronologique à 0.

Comment classer les références par ordre chronologique, que l'author/editor soit seul ou bien collabore avec qqun d'autre?

Il semble que biber classe par "l'ensemble des noms d'author/editor", puis par "date"... Il ne reconnait donc pas le nom d'un author/editor. J'ai tenté maxsortnames=1 mais ca ne fonctionne pas.

Par exemple avec Claude Labrosse : les ouvrages dont il est le seul auteur sont correctement triés. Mais les ouvrages où il collabore avec Pierre Rétat sont situés en-dessous des autres, la datation repart à 0, comme s'il s'agissait d'un autre nom.

Ci-dessous, les références \cite{labrosseretat_formejournal17989_1990} et \cite{labrosse_naissancejournalrf_1989} (dans les deux cas Labrosse collabore avec Rétat) seront triées après \cite{labrosse_recit1789_1988} et \cite{labrosse_orage_voix2008} (Labrosse a écrit ces ref seul).

EMC

 \begin{filecontents*}[overwrite]{Bibliothese.bib}

 @article{labrosse_orage_voix2008,
    title = {La voix et l'événement : possibilités et limites d'une poétique de la presse},
    author = {Labrosse, Claude},
    pages = {23-36},
    journaltitle = {Orages},
    volume = {7},
    year = {2008},}

@book{labrosse_naissancejournalrf_1989,
title = {Naissance du journal révolutionnaire : 1789},
author = {Labrosse, Claude and Rétat, Pierre},
date = {1989},
publisher = {Presses Universitaires de Lyon},
location = {Lyon},}

@incollection{labrosseretat_formejournal17989_1990,
title = {La forme du journal en 1789}, 
author = {Labrosse, Claude and Rétat, Pierre},
pages = {51-82},
crossref = {retat_textologie_1990}}

@collection{retat_textologie_1990,
title = {Textologie du journal},
series = {Cahiers de textologie},
editor = {Rétat, Pierre},
location = {Paris},
publisher = {Minard},
date = {1990}
}

@article{labrosse_recit1789_1988,
title = {Le récit d'événement dans la presse de 1789},
author = {Labrosse, Claude},
year = {1988},
journaltitle = {Dix-Huitième Siècle},
volume = {20},
pages = {99-110}, 
}
\end{filecontents*}

\documentclass[12pt,a4paper,notitlepage,twoside]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage[
backend=biber ,
 bibstyle=authortitle-ibid ,
 citestyle=verbose-trad2 ,
 sorting = nyt ,
 maxbibnames = 3 ,
 maxsortnames = 1 ,
 uniquework=true,
 citepages=omit ,
 idemtracker=false ,
 ibidpage=true ,
 ibidtracker=true ,
 useprefix=false ,
 dashed=false ,
 dateuncertain=true ,
 mincrossrefs = 1 ,
 safeinputenc ,
]{biblatex}
\bibliography{Bibliothese.bib}

\begin{document}

\cite{labrosse_naissancejournalrf_1989}

\cite{labrosseretat_formejournal17989_1990}

\cite{labrosse_orage_voix2008}

\cite{labrosse_recit1789_1988}

\printbibliography
\end{document}

Posée 13 Oct '21, 18:28

Servadac's gravatar image

Servadac
10326
Taux d'acceptation : 0%

Modifiée 13 Oct '21, 22:00

1

« Comment fait-on pour joindre un fichier .bib ? » : très bonne question ! Pour joindre le fichier Bibliothese.bib, il suffit dans le code ci-dessus d'en faire figurer le contenu entre \begin{filecontents*}[overwrite]{Bibliothese.bib} et \end{filecontents*} et ce, avant même \documentclass. Pour ce faire, vous pouvez modifier votre question.

(13 Oct '21, 19:05) denis ♦♦ denis's gravatar image

@denis, ça y est, bib ajoutée !

(13 Oct '21, 19:19) Servadac Servadac's gravatar image

Ne suffit-il pas d'inverser l'ordre des noms dans l'ouvrage collectif : author = {Labrosse, Claude and Rétat, Pierre} ?

(13 Oct '21, 19:27) denis ♦♦ denis's gravatar image

@denis, malheureusement non le point que vous soulignez est une erreur résiduelle que je viens de corriger.

(13 Oct '21, 19:29) Servadac Servadac's gravatar image

Euh... avec l'ECM proposé, j'obtiens bien d'abord les 4 références dont Labrosse est (co)auteur (son nom apparaissant avant celui de Rétat, le cas échéant) puis celle dont Rétat est éditeur.

(13 Oct '21, 21:11) denis ♦♦ denis's gravatar image

Le problème vient du tri des références : l'ordre chronologique devrait primer, alors que là, les références dont Labrosse est le seul auteur/éditeur précèdent toutes celles dont il est co-auteur/co-éditeur. On se retrouve donc avec une référence de 1989 qui suit l'article de 2008. Il faudrait que biblatex puisse repérer qu'il y a un élément en commun (Labrosse, Claude), et donc trier l'ensemble des références comportant son nom de manière chronologique... Si jamais vous avez des idées je prends !

(13 Oct '21, 22:00) Servadac Servadac's gravatar image

Ah, OK. Ça me paraît difficile à obtenir car « Labrosse, Claude. » et « Labrosse, Claude and Rétat, Pierre. » ne sont pas considérés comme « le même auteur ». Ceci étant, biblatex et biber peuvent être assez surprenants donc il ne faut pas perdre espoir :) et, au pire, vous pouvez poser la question sur https://tex.stackexchange.com/ où le développeur/mainteneur le plus actif (moewe) vous répondra certainement.

(13 Oct '21, 22:22) denis ♦♦ denis's gravatar image
Affichage de 5 parmi 7 Afficher 2 commentaire(s) en plus

Avec sortname={Labrosse, Claude} :

 \begin{filecontents*}[overwrite]{Bibliothese.bib}

 @article{labrosse_orage_voix2008,
    title = {La voix et l'événement : possibilités et limites d'une poétique de la presse},
    author = {Labrosse, Claude},
    pages = {23-36},
    journaltitle = {Orages},
    volume = {7},
    year = {2008},
    sortname={Labrosse, Claude}}

@book{labrosse_naissancejournalrf_1989,
title = {Naissance du journal révolutionnaire : 1789},
author = {Labrosse, Claude and Rétat, Pierre},
date = {1989},
publisher = {Presses Universitaires de Lyon},
location = {Lyon},
sortname={Labrosse, Claude}}

@incollection{labrosseretat_formejournal17989_1990,
title = {La forme du journal en 1789}, 
author = {Labrosse, Claude and Rétat, Pierre},
pages = {51-82},
crossref = {retat_textologie_1990},
sortname={Labrosse, Claude}
}

@collection{retat_textologie_1990,
title = {Textologie du journal},
series = {Cahiers de textologie},
editor = {Rétat, Pierre},
location = {Paris},
publisher = {Minard},
date = {1990}
}

@article{labrosse_recit1789_1988,
title = {Le récit d'événement dans la presse de 1789},
author = {Labrosse, Claude},
year = {1988},
journaltitle = {Dix-Huitième Siècle},
volume = {20},
pages = {99-110}, 
sortname={Labrosse, Claude}
}
\end{filecontents*}

\documentclass[12pt,a4paper,notitlepage,twoside]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage[
backend=biber ,
 bibstyle=authortitle-ibid ,
 citestyle=verbose-trad2 ,
 sorting = nyt ,
 maxbibnames = 3 ,
 maxsortnames = 1 ,
 uniquework=true,
 citepages=omit ,
 idemtracker=false ,
 ibidpage=true ,
 ibidtracker=true ,
 useprefix=false ,
 dashed=false ,
 dateuncertain=true ,
 mincrossrefs = 1 ,
 safeinputenc ,
]{biblatex}
\addbibresource{Bibliothese.bib}

\begin{document}

\cite{labrosse_naissancejournalrf_1989}

\cite{labrosseretat_formejournal17989_1990}

\cite{labrosse_orage_voix2008}

\cite{labrosse_recit1789_1988}

\printbibliography
\end{document}

alt text

Ou une version automatique :

\documentclass[12pt,a4paper,notitlepage,twoside]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage[
backend=biber ,
 bibstyle=authortitle-ibid ,
 citestyle=verbose-trad2 ,
 sorting = nyt ,
 maxbibnames = 3 ,
 maxsortnames = 1 ,
 uniquework=true,
 citepages=omit ,
 idemtracker=false ,
 ibidpage=true ,
 ibidtracker=true ,
 useprefix=false ,
 dashed=false ,
 dateuncertain=true ,
 mincrossrefs = 1 ,
 safeinputenc ,
]{biblatex}
\addbibresource{Bibliothese.bib}

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map[overwrite=false]{
      \step[fieldsource=author, match=\regexp{(.+?)\s+and\s+(.+)}, final]
      \step[fieldset=sortname, fieldvalue={$1}]
    }
  }
}

\begin{document}

\cite{labrosse_naissancejournalrf_1989}

\cite{labrosseretat_formejournal17989_1990}

\cite{labrosse_orage_voix2008}

\cite{labrosse_recit1789_1988}

\printbibliography
\end{document}
Lien permanent

Publiée 13 Oct '21, 23:05

samcarter's gravatar image

samcarter
8.2k2817
Taux d'acceptation : 57%

Modifiée 13 Oct '21, 23:21

@Samcarter, merci c'est parfait !

(14 Oct '21, 08:36) Servadac Servadac's gravatar image

@Servadac Attention ! Cette réponse était un commentaire plutôt qu'une réponse et a été convertie comme tel. Et, de toute façon, cette contribution ne comporte qu'une confirmation de solution et c'est à éviter au profit de l'acceptation de la réponse la plus appropriée. En outre, les formules de politesse et les signatures sont à éviter.

(14 Oct '21, 08:46) denis ♦♦ denis's gravatar image

@Servadac De rien !

(14 Oct '21, 10:21) samcarter samcarter's gravatar image
Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.