75 votes

Préserver toutes les majuscules dans BibTeX

J'ai un énorme fichier .bib généré automatiquement à partir de Papers for Mac et toutes les majuscules dans le .bib sont déjà comme je le veux, mais il n'y a pas de parenthèses {} sur les mots comme RNA.

Existe-t-il un moyen de forcer BibTeX à conserver la capitalisation plutôt que de changer certains mots en minuscules ?

45voto

Charles Stewart Points 7698

Je suis d'accord avec Killian pour dire que la bonne chose à faire est de mettre des {} pour conserver la capitalisation, mais je ne recommande pas de le faire systématiquement, puisque le comportement est le suivant erronée dans certains contextes, et non automatisable mais la bonne chose à faire avec Bibtex est de faire ce qui suit :

  1. Mettez les titres de livres et d'articles en majuscules (c'est-à-dire en mettant tous les mots significatifs en majuscules). 1 ], mais sans les protéger encore) ;
  2. Protégez les majuscules de tous les noms propres, par exemple, From {B}rouwer to {H}ilbert ;
  3. Protégez les majuscules de tous les acronymes techniques, par exemple, The definition of {S}tandard {ML} ; et
  4. Protéger le mot initial d'un sous-titre, par exemple le {W}ittgenstein's Poker: {T}he story of a ten-minute argument .

Ne protégez pas les lettres minuscules : cela empêche Bibtex de convertir la chaîne en majuscules, ce qui est requis par certains styles bibliographiques obscurs.

Si vous avez utilisé un correcteur orthographique, le contenu de sa base de données contiendra, avec un peu de chance, presque tout ce que vous devez savoir pour écrire correctement en majuscules : les correcteurs orthographiques stockent des informations sur les mots en majuscules et sur ceux qui le sont en tant que noms propres. Si vous pouvez faire correspondre des mots à ces informations de manière programmatique, vous pouvez générer votre base de données Bibtex automatiquement, avec plus qu'un peu de travail, mais c'est peut-être un projet de deux heures.

Fatigué, Bibtex ne peut pas être utilisé pour que toutes les bibliographies soient correctes, puisque les différents styles de citation ont en fait des listes différentes de mots non significatifs. Cependant, dans la pratique, presque personne ne se soucie de ces différences, de sorte que l'on peut établir une liste standard de mots non capitalisés.

[ 1 ] - Mots significatifs : "a", tous les mots réels de deux lettres, "the", "and", "some", toutes les prépositions d'un mot, et tous les pronoms d'un mot seraient une liste acceptable de mots non significatifs, je pense, pour presque tous les éditeurs.

19voto

Damien Pollet Points 3254

Si vous préférez éditer le style bibtex ( .bst ) plutôt que la bibliographie ( .bib ), vous pouvez rechercher les occurrences de change.case$ en elle. C'est la fonction qui met en majuscule ou en titre les champs qui ne sont pas des noms de personnes.

Typiquement, pour le champ titre, vous devriez trouver quelque chose comme title "t" change.case$ . Puisque vous voulez que le titre ne soit pas modifié, remplacez-le par simplement title .

9voto

Kilian Foth Points 8619

Dans ce cas, il suffit d'ajouter {} autour de chaque titre entier, ce qui a le même effet et devrait être facile à faire automatiquement.

2voto

Jrop Points 707

J'ai eu le même problème avec un titre tel que :

title = {blah blah AB blah AB blah}

qui s'avèrent être :

"blah blah ab blah ab blah"

En utilisant la suggestion de Charles Stewart, j'ai changé mon titre en :

title = {blah blah {A}{B} blah {A}{B} blah}

Maintenant, mon titre est correct : blah blah AB blah AB blah

J'espère que cela vous aidera.

1voto

Sujay K Points 11

Une alternative à l'utilisation des {couronnes} est la suivante:-

  1. Vérifiez votre dossier racine pour le fichier .bbl, où .bbl est votre base de données BiBteX, après avoir exécuté pdflatex pour la première fois et ensuite exécuté bibtex sur votre fichier de base de données BiBteX .bbl.

  2. Ouvrez ce fichier *.bbl dans un éditeur de votre choix.

  3. Le fichier ressemblerait à ceci :  

    \begin{thebibliography}{10}
    
    \expandafter\ifx\csname url\endcsname
    
    \relax
    \def\url#1{\texttt{#1}}
    
    \fi
    \expandafter\ifx\csname urlprefix\endcsname
    
    \relax\def\urlprefix{URL }
    
     \fi
    
    \bibitem{label}.....
  4. Modifiez ce fichier *.bbl pour qu'il réponde à vos besoins et exécutez maintenant la commande pdflatex sur votre fichier .tex. Vous devriez obtenir le résultat souhaité.

  5. Grâce à cette méthode, vous pouvez modifier la bibliographie de n'importe quelle manière. Vous pouvez même ajouter des noms avec des caractères accentués.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X