65 votes

Compilation de la source bib LaTex

Je suis en train d'écrire ma thèse en Latex, et j'ai les références dans un propre fichier thesis.bib qui se présentent comme suit

@Article{xxx,
  author =       "D.A. Reinhard",
  title =        "Case Study",
  year =         "1985",
}

et je les référence dans mon document principal comme ~ \cite {xxx}

Lorsque je compile ensuite le document principal avec : pdflatex main.tex que il me montre des points d'interrogation au lieu des références correctes à la bibliographie. Dois-je également compiler la source de la bibliographie seule ? Si oui, quelqu'un peut-il m'indiquer la commande pour Linux

Merci beaucoup !

85voto

Vous devez compiler le fichier bibtex.

Supposons que vous ayez article.tex y article.bib . Vous devez courir :

  • latex article.tex (ceci générera un document avec des points d'interrogation à la place des références inconnues)
  • bibtex article (ceci analysera tous les fichiers .bib qui ont été inclus dans l'article et générera des méta-informations concernant les références)
  • latex article.tex (ceci va générer un document avec toutes les références aux bons endroits)
  • latex article.tex (juste au cas où si l'ajout de références casse la numérotation des pages quelque part)

4 votes

Vous pouvez également envisager d'utiliser latex mk ( phys.psu.edu/~collins/software/latexmk-jcc ), un programme perl qui exécute automatiquement tout ce qui est nécessaire (latex, bibtex, makeindex, etc.) dans le bon ordre pour produire un document final mis à jour chaque fois que vous modifiez quelque chose.

1 votes

J'appuie fortement la recommandation de latexmk. Je ne pourrais pas vivre sans :)

1 votes

J'ai édité cette réponse car la commande bibtex ne permet pas d'extension. (et même si elle le permettait, l'extension serait ".aux" et non ".tex").

22voto

Amit Points 5760

Vous devez lancer 'bibtex' :

latex paper.tex
bibtex paper
latex paper.tex
latex paper.tex
dvipdf paper.dvi

14voto

user3015729 Points 21

J'utilise texmaker comme éditeur. Vous devez le compiler dans le terminal comme suit :

  1. pdflatex nom de fichier (avec ou sans extensions)
  2. nom de fichier bibtex (sans les extensions)
  3. pdflatex nom de fichier (avec ou sans extensions)
  4. pdflatex nom de fichier (avec ou sans extensions)

mais parfois, lorsque vous utilisez \citep{} les noms des références n'apparaissent pas. Dans ce cas, j'ai dû ouvrir le references.bib afin que texmaker puisse capturer les références du fichier references.bib. Après chaque édition du fichier bib, je devais le fermer et le rouvrir ! !! Pour que texmaker puisse capturer le contenu du nouveau fichier .bbl à chaque fois. Mais n'oubliez pas que vous devez également exécuter votre code dans texmaker.

0 votes

Au lieu de fermer et d'ouvrir le fichier references.bib, vous pouvez aussi aller dans edit-->refresh bibliography. Cela fonctionne !

7voto

vabada Points 1037

Juste au cas où cela aiderait quelqu'un, puisque ces questions (et réponses) m'ont beaucoup aidé ; j'ai décidé de créer un alias qui exécute ces 4 commandes à la suite :

Il suffit d'ajouter la ligne suivante à votre ~/.bashrc (modifiez le fichier main en fonction du nom de votre .tex y .bib fichiers)

alias texbib = 'pdflatex main.tex && bibtex main && pdflatex main.tex && pdflatex main.tex'

Et maintenant, en exécutant simplement le texbib (alias), toutes ces commandes seront exécutées séquentiellement.

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