2009-06-24 6 views
18

J'écris un court document en utilisant des sections plutôt que des chapitres comme le plus haut niveau (rapport de document). Cependant,Bibliographie en tant que section dans LaTeX/BibTeX

\bibliographystyle{amsplain} 
\bibliography{general} 

provoque l'insertion de la bibliographie comme un chapitre plutôt que comme une section. Est-ce qu'il y a une façon de changer ceci-ci?

Répondre

24

Par défaut, la classe de document report utilise \chapter comme niveau de titre de la bibliographie. En revanche, la classe de document article utilise \section comme niveau de titre de la bibliographie. Si vous n'utilisez pas \chapter n'importe où dans votre document, vous pouvez utiliser la classe article à la place.

Si vous voulez vraiment utiliser la classe report, vous aurez besoin de redéfinir l'environnement thebibliography utiliser \section au lieu de \chapter. Dans le préambule de votre document (après la ligne \documentclass mais avant la ligne \begin{document}, insérer ce qui suit:

\makeatletter 
\renewenvironment{thebibliography}[1] 
    {\section*{\bibname}% <-- this line was changed from \chapter* to \section* 
     \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}% 
     \list{\@biblabel{\@arabic\[email protected]}}% 
      {\settowidth\labelwidth{\@biblabel{#1}}% 
      \leftmargin\labelwidth 
      \advance\leftmargin\labelsep 
      \@[email protected] 
      \usecounter{enumiv}% 
      \let\[email protected]\@empty 
      \renewcommand\theenumiv{\@arabic\[email protected]}}% 
     \sloppy 
     \clubpenalty4000 
     \@clubpenalty \clubpenalty 
     \widowpenalty4000% 
     \sfcode`\.\@m} 
    {\def\@noitemerr 
     {\@[email protected]{Empty `thebibliography' environment}}% 
     \endlist} 
\makeatother 

Maintenant votre bibliographie aura une \section tête au lieu d'un titre \chapter

Notez que si vous. charger les paquets de bibliographie spéciale, vous pouvez mettre ce code avant ces paquets sont chargés (de sorte que vous n'écrasent pas leur travail).

+0

Ne pas utiliser les packages spéciaux. Merci pour le code, et pour la suggestion d'article! – Martijn

7

Regardez le paquet tocibind ;

\usepackage[numbib,notlof,notlot,nottoc]{tocbibind} 

numbib assure la bibliographie se numérotée, tandis que les not* -options montrant la liste désactive des figures, des tableaux et la table des matières elle-même, respectivement.

12

Voir un moyen simple de changer la position et le niveau rubrique texte de bibliographie avec bibtex http://www.flakery.org/search/show/568

+0

C'est aussi un très bon moyen d'insérer plusieurs bibliographies lors de l'utilisation du paquet multibib par exemple. – GorillaPatch

+1

Cela peut fonctionner pour 'article' mais en utilisant la classe de document' scrartcl', cela entraîne une erreur: '\ bibsection undefined'. – Sebastian

+1

Ce lien est maintenant cassé, et flakery.org redirige vers une autre URL. – Edward

0

Dans mon cas, j'ai aussi changé @ solution de godbyk pour inclure le numéro de section.

@ ligne de godbyk:

{\section*{\bibname}% <-- this line was changed from \chapter* to \section* 

Ma ligne:

{\section{\bibname}% <-- this line was changed from \chapter* to \section 
Questions connexes