web-dev-qa-db-fra.com

Préserver toute la capitalisation dans BibTeX

J'ai un énorme fichier .bib généré automatiquement à partir de Papers for Mac et toute la capitalisation dans le .bib est déjà comme je le veux, mais il n'a pas de crochets {} sur Word comme l'ARN.

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

74
Sal

Je suis d'accord avec Killian que la bonne chose est de mettre des {} pour conserver la capitalisation, mais je ne recommande pas de le faire toujours, car le comportement est incorrect dans certains contextes, et non automatisable , mais à la place la bonne chose avec Bibtex est de faire ce qui suit:

  1. Mettez les titres des livres et des articles dans la casse du titre (c.-à-d., Mettez en majuscule tous les mots significatifs [1], Mais ne les protégez pas encore);
  2. Protégez les capitales 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égez le mot initial d'un sous-titre, par ex. 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 de la chance, presque tout le matériel que vous devez savoir pour capitaliser correctement: le correcteur orthographique stocke les informations sur quels mots sont des majuscules et sont capitalisés comme des noms propres. Si vous pouvez faire correspondre des mots par programme à cela, vous pouvez générer votre base de données Bibtex automatiquement, avec plus d'un peu de travail, mais c'est peut-être un projet de deux heures.

Fatigué, Bibtex ne peut pas être utilisé pour obtenir toutes les bibliographies correctes, car différents styles de citation ont en fait différentes listes de mots non significatifs. Cependant, dans la pratique, presque personne ne se soucie des différences, donc on peut trouver une liste standard de mots non en majuscule.

[1] - Mots significatifs: "a", tous les mots réels à deux lettres, "les", "et", "certains", toutes les prépositions à un mot et tous les pronoms à un mot seraient un liste acceptable de mots non significatifs, je pense, à presque tous les éditeurs.

45
Charles Stewart

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

En règle générale, pour le champ de 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.

17
Damien Pollet

Dans ce cas, vous devez simplement ajouter {} autour de chaque titre entier, ce qui a le même effet et devrait être facile à faire automatiquement.

9
Kilian Foth

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

title = {blah blah AB blah AB blah}

se révélant comme:

"blah blah ab blah ab blah"

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

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

Maintenant, mon titre se révèle bien: blah blah AB blah AB blah

J'espère que cela t'aides.

2
Jrop

Une alternative à l'utilisation de {accolades} 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, puis exécutez bibtex sur votre base de données BiBteX file.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 répondre à vos besoins et exécutez maintenant la commande pdflatex sur votre fichier .tex. Cela devrait vous donner le résultat souhaité.

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

1
Sujay K