C'est la première fois que je réalise une bibliographie. J'ai donc créé un fichier dont l'extension est .bib, et nommé : « bibliographie-rapport-de-stage-master2.bib ».

J'ai consulté quelques sites internet et le livre de Maïeul Rouquette, mais je suis un peu perdu à propos des compilations :

J'ai le message d'erreur suivant :

Package biblatex Error: '\bibliographystyle' invalid. \bibliographystyle{plain}

Si j'ai bien compris, je dois compiler trois fois :

  1. compilation du fichier .tex avec PDFlatex;
  2. compilation du fichier .tex avec Biber;
  3. compilation du fichier .tex avec PDFlatex.

Le seul problème que je rencontre est que je n'arrive pas à afficher la bibliographie à la fin de mon document malgré les deux instructions suivantes écrites en fin de fichier .tex :

Ouvrir dans l'éditeur Overleaf
\bibliographystyle{plain}
\bibliography{bibliographie-rapport-de-stage-master2}

Merci de votre aide.

Deuxième version : je repropose un ECM plus simple. J'ai rebaptisé le fichier .bib (pour ne pas confondre tiret haut et tiret bas). Je n'ai mis qu'une seule référence. Le numéro de la référence apparaît bien (donc, c'est OK). Le problème est que les références n'apparaissent pas à la fin du document.

Ouvrir dans l'éditeur Overleaf
ECM :
\begin{filecontents}{bibliographie0}
  @article{1,
    author = {Veselago Victor},
    title = {The electrodynamics},
    journaltitle = {Soviet Physics Uspekhi},
    date = {1968},
    OPTvolume = {10},
    OPTissue = {4},
    OPTpages = {509-514},}  
\end{filecontents}

\documentclass[10pt,french]{article}

\usepackage{lmodern}
\usepackage[french]{babel}
\usepackage[a4paper,left=15mm,right=15mm,top=18mm,bottom=18mm]{geometry}

\usepackage[
backend=biber,        % compilateur par défaut pour biblatex
sorting=nyt,          % trier par nom, année, titre
citestyle=numeric, % style de citation auteur-année
bibstyle=alphabetic,  % style de bibliographie alphabétique
]{biblatex}
\addbibresource{bibliographie0.bib}

\begin{document}
Les métamatériaux, terme composé du mot matériau et du préfixe méta --- qui, en grec ancien, signnfie : au-delà --- désigne une nouvelle classe de matériaux qui présentent des caractéristiques rarement observées dans la nature. Ceux-ci possèdent en général des structures périodiques, diélectriques ou métalliques. Il existe des métamatériaux électromagnétiques mais aussi acoustiques, mécaniques ou optiques. Dans le domaine de l'électromagnétisme, les propriétés ont été prédites par le physicien russe Victor \textsc{Veselago}\cite{1} : ils possèdent simultanément une permittivité diélectrique $\epsilon$ et une perméabilité magnétique $\mu$ négatives, mais il en existe d'autres : milieu d'impédance infinie, milieu à permittivité diélectrique relative inférieure à 1.\\

\printbibliography
\end{document}

Remarque : j'utilise TeXStudio.

Posée 16 Avr '20, 20:40

cbreton's gravatar image

cbreton
75733348
Taux d'acceptation : 9%

Modifiée 17 Avr '20, 14:34

2

\bibliographystyle{plain} \bibliography{bibliographie-rapport-de-stage-master2} est pour compiler avec bibtex au lieu de biber

(16 Avr '20, 20:54) samcarter samcarter's gravatar image
2

Pour compiler avec biber: \documentclass{article} \usepackage[style=numeric]{biblatex} \addbibresource{bibliographie-rapport-de-stage-master2.bib} \begin{document} \cite{xyz} \printbibliography \end{document}

(16 Avr '20, 20:56) samcarter samcarter's gravatar image

@samcarter. Après voir fait ce que vous préconisiez, j'ai le log suivant :

Processus en cours : bibtex "rapport_stage_master2_20200404".aux

This is BibTeX, Version 0.99d (TeX Live 2018) The top-level auxiliary file: rapport_stage_master2_20200404.aux I found no citation commands---while reading file rapport_stage_master2_20200404.aux I found no bibdata command---while reading file rapport_stage_master2_20200404.aux I found no bibstyle command---while reading file rapport_stage_master2_20200404.aux (There were 3 error messages)

Processus terminé avec une ou plusieurs erreurs

Processus en cours : pdflatex -synctex=1 -interaction=nonstopmode "rapport_stage_master2_20200404".tex

Processus terminé normalement

mais je ne vois rien.

(16 Avr '20, 21:24) cbreton cbreton's gravatar image
2

Avez-vous \cite dans votre document?

(16 Avr '20, 21:36) samcarter samcarter's gravatar image
1

une petite exemple: https://www.overleaf.com/read/vqfkmzskwvmh (pour compiler avec pdflatex rapport_stage_master2_20200404.tex ; bibtex rapport_stage_master2_20200404.aux ; pdflatex rapport_stage_master2_20200404.tex ; pdflatex rapport_stage_master2_20200404.tex)

(16 Avr '20, 21:39) samcarter samcarter's gravatar image
1

@cbreton Attention ! Cette réponse était un commentaire plutôt qu'une réponse et a été convertie comme tel.

(16 Avr '20, 22:53) denis ♦♦ denis's gravatar image
2

@cbreton Votre ECM est une bonne chose (qui montre d'ailleurs certains points pouvant être améliorés) mais il nous manque votre fichier bibliographie-rapport-de-stage-master2.bib pour pouvoir le tester. Pour ce faire, ajoutez au début du code de votre ECM (avant \documentclass[10pt,french]{article}), entre \begin{filecontents}{bibliographie-rapport-de-stage-master2.bib} et \end{filecontents}, le contenu de ce .bib.

(16 Avr '20, 23:43) denis ♦♦ denis's gravatar image
1

@cbreton OK, erreur très simple : le nom de votre fichier .bib est bibliographie-rapport-de-stage-master2.bib (avec des traits d'union) mais, en argument de la commande \addbibresource, le nom du fichier .bib que vous stipulez est bibliographie_rapport_de_stage_master2.bib (avec des tirets bas).

(17 Avr '20, 14:20) denis ♦♦ denis's gravatar image

@denis. Non, ce n'est pas cela. J'ai refait la manip (compilation sur overleaf avec un fichier plus simple; voir ECM dans le premier message). Le problème demeure : le numéro de référence [1] apparaît bien, mais la référence n'est pas publiée à la fin du document...

(17 Avr '20, 14:35) cbreton cbreton's gravatar image
1

@cbreton Puisque vous utilisez TeXstudio (TXS), créez un fichier dont le contenu est celui de votre nouvel ECM (au passage, ne laissez pas « ECM » dans votre ECM), enregistrez-le sous le nom test.tex dans un nouveau dossier, puis allez dans le menu de TXS « Outils → Ouvrir un terminal ». Dans ce terminal, lancez successivement les commandes suivantes (avec retour chariot à chaque fois) pdflatex test puis biber test puis à nouveau pdflatex test et indiquez si ça donne le résultat escompté. Dans le cas contraire, donnez-nous le résultat de la commande biber test.

(17 Avr '20, 16:30) denis ♦♦ denis's gravatar image

OK, ça marche ! @denis, merci ! Mais faut-il faire cette triple compilation dans le terminal à chaque fois que je modifie ma bibliographie ? Si oui, je vais vraiment galérer !

(17 Avr '20, 16:46) cbreton cbreton's gravatar image
1

@cbreton Non, vous pouvez configurer votre éditeur pour automatiser cette réalisation.

(17 Avr '20, 16:53) Hugues Hugues's gravatar image

@Hugues Comment faites-vous cela ?

(17 Avr '20, 16:58) cbreton cbreton's gravatar image
2
(17 Avr '20, 17:18) samcarter samcarter's gravatar image
1

@cbreton Inutile de lancer une compil. de biblio à chaque fois que vous souhaitez contrôler la mise en page de votre document : vous pouvez ne le faire qu'en fin de rédaction pour contrôler votre biblio. Sinon, ces compil. peuvent être lancées depuis TXS : touches F5 pour pdflatex et F8 pour la biblio. Attention : F8 nécessite une configuration globale de TXS (cf. p. 177 de https://frama.link/en-ligne6), ou bien locale à un fichier .tex en y ajoutant le commentaire magique % !BIB TS-program = biber. Autre piste : latexmk mais la place manque (posez une autre question au besoin).

(17 Avr '20, 17:25) denis ♦♦ denis's gravatar image
1

@cbreton Oui, on peut utiliser latexmk comme l'a indiqué samcarter. Mais on peut aussi créer une commande utilisateur. Pour ce faire, aller dans : Option->Configurer TeXstudio->Production->Compilations utilisateur. Et là, faire ce qui suit :

(17 Avr '20, 17:34) Hugues Hugues's gravatar image
1

@samcarter Il faut toutefois qu'un fichier latexmkrc de configuration de latexmk, par ex. présent dans le répertoire courant, indique qu'on souhaite des compilations pdflatex et biber. Pour ce faire, créer un tel fichier (sans extension .tex) et y placer au moins les lignes $pdf_mode = 1;, $biber = 'biber -U %O %B'; et $bibtex_use = 1;.

(17 Avr '20, 17:44) denis ♦♦ denis's gravatar image
1

@cbreton : - A gauche d'un champ libre, mettre par exemple user0:Bibliographie ;

  • A droite du même champ, cliquer sur le bouton portant une clé ; une nouvelle fenêtre apparaît ;

  • selectionner pdflatex puis la flèche vers la droite ;

  • selectionner biber puis la flèche vers la droite ;

  • selectionner pdflatex puis la flèche vers la droite ;

  • cliquer sur OK puis sur OK

Vous retrouverez votre commande dans Menu->Outils->Utilisateur.

(17 Avr '20, 17:47) Hugues Hugues's gravatar image
1

@denis Un fichier latexmkrc n'est pas nécessaire, latexmk sais automatiquement si biber ou bibtex est nécessaire. le seul problème est que normalement latex est utilisé par défaut. Pour avoir pdflatex, je utilise texstudio avec https://texnique.fr/osqa/upfiles/Screen_Shot_2020-04-17_at_16.53.32.png

(17 Avr '20, 17:58) samcarter samcarter's gravatar image
1

@samcarter Oui, vous avez raison pour la bibliographie : latexmk sait automatiquement si c'est biber ou bibtex qui doit être lancé :)

(17 Avr '20, 19:56) denis ♦♦ denis's gravatar image

@Hugues et @denis. OK, j'ai mis en place la compilation automatique dans options/Configurer Texstudio/production. Merci Hugues.

(17 Avr '20, 23:47) cbreton cbreton's gravatar image
1

@cbreton La méthode donnée par @Hugues est très bien. Mais je pense inutile de lancer systématiquement cette suite de compilations : pour contrôler ponctuellement la mise en page, une (unique) compilation pdflatex suffit en général. A contrario, en fin de rédaction, pour être certain de la stabilité du document (notamment ToC, références croisées et biblio à jour), une unique suite de compilations pdflatex + biber + pdflatex peut s'avérer insuffisante. C'est pour cela que latexmk peut être intéressant : il lance les, et seulement les, compilations nécessaires et suffisantes.

(18 Avr '20, 14:40) denis ♦♦ denis's gravatar image
Affichage de 5 parmi 22 Afficher 17 commentaire(s) en plus
Soyez le premier à répondre à cette question !
(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.