pCloud Premium

Plusieurs bibliographies

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.
Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

Plusieurs bibliographies

Messagepar jg2m2010 » Mercredi 15 Avril 2020, 08:46

Bonjour à tous,

Je cherche à réaliser un document qui contient une bibliographie séparées en plusieurs parties. L'idée est de faire la liste des ouvrages que je possède dans ma bibliothèque en les classant par domaine. J'ai quasiment trouvé la solution en écrivant ce message. Je l'ai publié pour engager la discussion et pour que ce soit utile aux personnes ayant le même "problème"

La solution que j'utilisais jusqu'à présent avec Texmaker et Texlive 2018 sur mon poste Windows 10, était la suivante:

Un document principal
Code: Tout sélectionner
\documentclass[french]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[a4paper]{geometry}
\usepackage{csquotes}
\usepackage{biblatex}
\usepackage{babel}

\bibliography{melons,pasteques}

\title{Ma liste de livres}

\begin{document}
\maketitle

\subsection*{Livres sur les melons}

\begin{refsection}[melons.bib]
\nocite{*}
\printbibliography[heading=none]
\end{refsection}

\subsection*{Livres sur les pastèques}

\begin{refsection}[pasteques.bib]
\nocite{*}
\printbibliography[heading=none]
\end{refsection}

\end{document}


Avec un premier fichier melons.bib
Code: Tout sélectionner
@incollection{toto,
author = "Fr\'ed\'eric Benhamou",
title = "Interval Constraint Logic Programming",
editor = "A. Podelski",
booktitle = "Constraint Programming, Basic and Trends",
publisher = "Springer Verlag",
series = "{LNCS} 910",
pages = "1--21",
year =1995}

@incollection{titi,
author = "Jean-Louis Imbert",
title = "Linear Constraint Solving in {CLP}-Languages",
editor = "A. Podelski",
booktitle = "Constraint Programming, Basic and Trends",
publisher = "Springer Verlag",
series = "{LNCS} 910",
pages = "108--127",
year =1995}


et un deuxième fichier pasteques.bib
Code: Tout sélectionner
@incollection{tutu,
author = "Alain Colmerauer",
title = "Naive solving of non-linear constraints",
booktitle = "Logic Constraint Programming, Selected Research",
editor = "Fr\'ed\'eric Benhamou and Alain Colmerauer",
publisher = "MIT Press",
address = "Cambridge, USA",
year = 1993}

@incollection{tata,
author = "Jean Luc Massat",
title = "Using local consistency techniques to solve {Boolean} constraints",
booktitle = "Logic Constraint Programming, Selected Research",
editor = "Fr\'ed\'eric Benhamou and Alain Colmerauer",
publisher = "MIT Press",
year = 1993,
address = "Cambridge, USA"}


Les livres étaient séparés par fichier. Un fichier .bib = un domaine = une partie de la bibliographie
Une compilation pdflatex + Bibtex ("C:/texlive/2018/bin/win32/biber.exe" % -u -U %) + pdflatex me permet directement d'obtenir le document pdf souhaité.

Je souhaiterais maintenant que la numérotation soit commune à toutes les biblio. C'est-à-dire [1] [2] [3] [4] au lieu de [1] [2] [1] [2]

J'ai trouver un exemple sur ce site ici. Ce fil date de 10 ans, j'ai l'impression que le package bibtopics n'est plus disponible. Est-il encore possible/raisonnable de l'utiliser ?

En écrivant ce message, j'ai réussi à faire fonctionner un exemple avec champs keyword qu'il faut rajouter pour chaque ouvrage dans les fichiers .bib précédents
Code: Tout sélectionner
\documentclass[french]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[a4paper]{geometry}
\usepackage{csquotes}
\usepackage{biblatex}
\usepackage{babel}

\addbibresource{melons.bib}
\addbibresource{pasteques.bib}

\title{Ma liste de livres}

\begin{document}
\maketitle

\nocite{*}
\printbibliography[title=Melons,keyword=melons]
\printbibliography[title=Pasteques,keyword=pasteques]

\end{document}

Finalement, le résultat est pas mal. La numérotation se fait par ordre alphabétique (pour toute la bibliographie et non pour chaque fichier .bib) et non pas par ordre croissant. Si on veut un citation par ordre croissant, il suffit de rajouter l'option "sorting=none" au package biblatex dans la préambule, mais il faut que les ouvrages soient déjà classées dans l'ordre souhaité dans chaque fichier .bib Le seul inconvénient est peut-être de devoir rajouter le champ keyword pour chaque item de bibliographie : attention aux fautes de frappes et gare au changement en cours de rédaction !

Voyez-vous une solution plus simple ?
jg2m2010
Kilo-utilisateur
 
Messages: 238
Inscription: Samedi 23 Avril 2011, 12:55
Statut actuel: Actif et salarié

Publicité

Re: Plusieurs bibliographies

Messagepar jmd » Mercredi 15 Avril 2020, 10:25

Bonjour,

Personnellement, j'utilise ceci :
1) créer le fichier .bib avec bibdesk.app (éventuellement taper les différents champs avec un éditeur de textes), soit melons.bib

2) compiler le code suivant :
Code: Tout sélectionner
\usepackage{bibunits}
\begin{document}
\begin{bibunit}[nom_fichier.bst]
\nocite{*}
\putbib[melons]
\end{bibunit}
\end{document}


3) en mode console, exécuter la commande
Code: Tout sélectionner
bibtex bu1

puis reexécuter le code 2) ce qui affiche la bibliographie, et surtout crée le fichier bu1.bbl, qui est la bibliographie mise en forme avec le modèle nom_fichier.bst. On peut renommer bu1.bbl en melons.bbl

4) dans le fichier principal .tex, utiliser la commande
Code: Tout sélectionner
\input{melons.bbl}

où on souhaite faire apparaître la biblio.
jmd
Déca-utilisateur
 
Messages: 25
Inscription: Samedi 06 Février 2016, 11:08
Statut actuel: Actif et salarié | Enseignant

Re: Plusieurs bibliographies

Messagepar balf » Mercredi 15 Avril 2020, 10:43

Bonjour,

Je crois qu'il est plus simple de faire un seul fichier et de faire une bibliographie par catégories. Pour une numérotation en continu, il faut mettredans le fichier .bib les catégories dans l'ordre dans lequel on souhaite les voir apparaître – sinon, on s'expose à voir d'abord les références [3] [4], puis [1][2]. Pour un tri par auteur ou par année, le problème ne se pose évidemment pas.

Voici donc un code, où j'ai regroupé les deux fichiers .bib en un unique fichier pastons.bib. J'en profite pour rappeler que, puisque biber comprend l'utf8, inutile de coder dans le fichier .bib les lettres accentuées selon la méthode préhistorique.

Code: Tout sélectionner
    \documentclass[french]{article}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage{lmodern}
    \usepackage[a4paper]{geometry}
    \usepackage{csquotes}
    \usepackage[sorting=none]{biblatex}
    \usepackage{babel}
    \usepackage{epigraph}
    \setlength{\epigraphrule}{0pt}

    \addbibresource{pastons.bib}

    \DeclareBibliographyCategory{melon}
    \DeclareBibliographyCategory{pastek}
    \addtocategory{melon}{toto,titi}
    \addtocategory{pastek}{tutu,tata}
    \defbibheading{melon}{\section*{Melons}}
    \defbibheading{pastek}{\section*{Pastèques}}

    \begin{document}

    \epigraph{Greffier, dressez \emph{ma} liste de \emph{mes} biens}{\em Ubu Roi\qquad\null}

    \nocite{*}

    \printbibheading
    \bibbycategory

    \end{document}

et le résultat en p.j.
B. A.
Fichiers joints
polybiblio.pdf
(133.13 Kio) Téléchargé 7 fois
balf
Zetta-utilisateur
 
Messages: 3893
Inscription: Mercredi 02 Janvier 2008, 23:18
Statut actuel: Actif et salarié | Maître de conférence

Re: Plusieurs bibliographies

Messagepar jg2m2010 » Jeudi 16 Avril 2020, 09:36

Re bonjour à tous,

Merci pour ces retours.
J'aime bien la citation que tu as placée au début de ton document, balf :D

Je pense qu'avec la deuxième méthode que j'ai proposée, on peut travailler avec une seul fichier .bib (fusion de melon.bib et pasteques.bib) où pour chaque item de biblio, on rajoute le champ keyword=melons ou pasteques. Avec la méthode de balf, la séparation en catégories se fait dans le fichier tex avec les commandes
Code: Tout sélectionner
\addtocategory{melon}{toto,titi}
\addtocategory{pastek}{tutu,tata}


A chacun donc de faire son choix, selon sa préférence.
jg2m2010
Kilo-utilisateur
 
Messages: 238
Inscription: Samedi 23 Avril 2011, 12:55
Statut actuel: Actif et salarié

Re: Plusieurs bibliographies

Messagepar jg2m2010 » Vendredi 17 Avril 2020, 16:40

J'en profile pour poser une petite question supplémentaire.

Imaginons que mon document soit très long et que je souhaite indiquer à son début le nombre total de références (ie le nombre total de livres de ma bibliothèque). Quelque chose comme :
314 159 livres sont répertoriés dans ce document


Est-ce qu'il y a un moyen facile de le faire ? En cherchant dans la doc de biblatex, j'ai l'impression qu'il faut récupérer la dernière valeur du compteur "labelnumber"...
jg2m2010
Kilo-utilisateur
 
Messages: 238
Inscription: Samedi 23 Avril 2011, 12:55
Statut actuel: Actif et salarié

Re: Plusieurs bibliographies

Messagepar jg2m2010 » Samedi 18 Avril 2020, 17:13

J'ai trouvé une solution à ma seconde question.

A partir des exemples de cette page et de cette autre page, j'ai complété mon code de la façon suivante (solution qui n'est peut-être pas la plus simple mais qui semble fonctionner).

Code: Tout sélectionner
\documentclass[french]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[a4paper]{geometry}
\usepackage{csquotes}
\usepackage{biblatex}
\usepackage{babel}
\usepackage{epigraph}
    \setlength{\epigraphrule}{0pt}
\usepackage{totcount}
\addbibresource{melons.bib}
\addbibresource{pasteques.bib}

\title{Ma liste de livres}

\nocite{*}

\newcounter{citenum}
\AtEveryBibitem{\stepcounter{citenum}}

\begin{document}
\maketitle

\epigraph{Greffier, dressez \emph{la} liste de \emph{mes} biens}{\em Ubu Roi\qquad\null}

Sa Majesté le Roi possède au total \ref{totalbooks} ouvrages dans sa bibliothèque %\value{citenum}\ references.

\section{Ouvrages sur les melons}

\printbibliography[heading=none,keyword=melons]

\section{Ouvrages sur les pastèques}

\printbibliography[heading=none,keyword=pasteques]

\makeatletter\edef\@currentlabel{\arabic{citenum}}\makeatother\label{totalbooks}

\end{document}
jg2m2010
Kilo-utilisateur
 
Messages: 238
Inscription: Samedi 23 Avril 2011, 12:55
Statut actuel: Actif et salarié


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Bing [Bot], Google [Bot], Yandex [Bot] et 3 invités

pCloud Premium