web-dev-qa-db-fra.com

Compilation de la source de dossard LaTex

J'écris ma thèse en Latex, et j'ai les références dans un propre fichier thesis.bib qui se présente 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}

Quand je compile alors le document principal avec: pdflatex main.tex alors il me montre des points d'interrogation au lieu des références appropriées à la bibliographie. Dois-je également compiler la source de dossard seule? Si oui, quelqu'un peut-il me dire la commande pour Linux

Merci beaucoup!

60
Klaus

Vous devez compiler le fichier bibtex.

Supposons que vous ayez article.tex et article.bib. Vous devez exécuter:

  • latex article.tex (cela générera un document avec des points d'interrogation à la place de références inconnues)
  • bibtex article (cela analysera tous les fichiers .bib inclus dans l'article et générera des métainformations concernant les références)
  • latex article.tex (cela générera un document avec toutes les références aux bons endroits)
  • latex article.tex (juste au cas où l'ajout de références rompait la numérotation des pages quelque part)
78

Vous devez exécuter 'bibtex':

latex paper.tex
bibtex paper
latex paper.tex
latex paper.tex
dvipdf paper.dvi
19
user59634

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

  1. nom de fichier pdflatex (avec ou sans extensions)
  2. nom de fichier bibtex (sans extensions)
  3. nom de fichier pdflatex (avec ou sans extensions)
  4. nom de fichier pdflatex (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 fichier, afin que texmaker puisse capturer les références à partir du fichier references.bib. Après chaque édition du fichier de dossard, j'ai dû le fermer et le rouvrir !! Pour que texmaker puisse capturer le contenu du nouveau fichier .bbl à chaque fois. Mais souvenez-vous que vous devez également exécuter votre code dans texmaker.

13
user3015729

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

Ajoutez simplement la ligne suivante à votre ~/.bashrc fichier (modifiez le mot clé main en fonction du nom de votre .tex et .bib des dossiers)

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

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

6
vabada