Quelle est la manière la plus efficace et correcte de signaler, dans un fichier bib au format biblatex, qu'un ouvrage contient un index (voire des index), une bibliographie, etc. ?

Faut-il créer des champs adéquats ? Je ne vois rien qui convienne dans la doc de biblatex.

Posée 25 Jui '19, 13:25

Le%20TeXnicien%20de%20surface's gravatar image

Le TeXnicien de surface
2.0k814
Taux d'acceptation : 27%

Modifiée 25 Jui '19, 13:57

Pathe's gravatar image

Pathe ♦♦
7.5k38201251

Savez-vous à quoi le résultat devrait ressembler dans le document?

(25 Jui '19, 14:42) samcarter samcarter's gravatar image

C'est document indépendant. Il s'agit juste de coder la présence (ou non) d'un index dans un ouvrage, de même pour un glossaire, etc. Je voudrais un bib le plus complet et utilisable possible, ensuite, il restera la question de son utilisation, question que je refuse de me poser ici. C'est pour éviter de l'information non structurée dans des champs peu idoines.

(25 Jui '19, 16:05) Le TeXnicien de surface Le%20TeXnicien%20de%20surface's gravatar image

Pourquoi ne pas créer de nouveaux mots clés?

Ouvrir dans l'éditeur Overleaf
\documentclass{article}

\usepackage{biblatex}

\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@book{knuth,
  author       = {Knuth, Donald E.},
  title        = {The {\TeX} book},
  date         = 1984,
  maintitle    = {Computers \& Typesetting},
  volume       = {A},
  publisher    = {Addison-Wesley},
  location     = {Reading, Mass.},
  langid       = {english},
  langidopts   = {variant=american},
  sortyear     = {1984-1},
  sorttitle    = {Computers & Typesetting A},
  indexsorttitle= {The TeXbook},
  indextitle   = {\protect\TeX book, The},
  shorttitle   = {\TeX book},
  bibliography = {bib yes}
}

@article{einstein,
    author = {Einstein, A.},
    title = {Die Grundlage der allgemeinen Relativitätstheorie},
    journal = {Annalen der Physik},
    volume = {354},
    number = {7},
    doi = {10.1002/andp.19163540702},
    pages = {769--822},
    year = {1916},
    index= {idx yes}
}
\end{filecontents*}

\addbibresource{\jobname.bib}

\DeclareSourcemap{
    %
    % declaring new field  
    \maps[datatype=bibtex,overwrite=true]{
        \map{
            \step[fieldsource=index, final=true]
            \step[fieldset=usera, origfieldval, final=true]
        }
        \map{
            \step[fieldsource=bibliography, final=true]
            \step[fieldset=userb, origfieldval, final=true]
        }       
    }
}

\renewbibmacro*{finentry}{
    \printfield{usera}
    \printfield{userb}
    \finentry
}

\begin{document}

\nocite{*}

\printbibliography

\end{document}
Lien permanent

Publiée 25 Jui '19, 17:30

samcarter's gravatar image

samcarter
8.3k2817
Taux d'acceptation : 55%

Modifiée 25 Jui '19, 17:31

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.