2009-06-24 2 views
18

Я пишу короткий документ, используя разделы, а не главы как отчет верхнего уровня (documentclass report). ОднакоБиблиография как раздел в LaTeX/BibTeX

\bibliographystyle{amsplain} 
\bibliography{general} 

приводит к тому, что библиографию следует вставлять как главу, а не раздел. Есть ли способ изменить это?

ответ

24

По умолчанию класс report использует \chapter как уровень заголовка библиографии. Напротив, класс документов article использует \section как уровень заголовка библиографии. Если вы не используете \chapter в любом месте вашего документа, вы можете использовать класс article.

Если вы действительно хотите использовать report класс, вам необходимо переопределить thebibliography среду для использования \section вместо \chapter. В преамбуле документа (после \documentclass линии, но до \begin{document} линии, вставьте следующее:

\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 

Теперь ваша библиография будет иметь \section заголовок вместо \chapter заголовка

Обратите внимание, что если вы. загружать любые специальные пакеты библиографии, вы можете поместить этот код перед тем эти пакеты загружаются (так что вы не перезаписывать их работы).

+0

Не используя никаких специальных пакетов. Спасибо за код и за предложение! – Martijn

7

Посмотрите на пакет tocibind ;

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

numbib обеспечивает библиографии получает пронумерованы, в то время как not* -options отключает показ Перечень рисунков, таблиц и самого TOC соответственно.

12

См простой способ изменить заголовок уровня и заголовок текста библиографии с BibTex http://www.flakery.org/search/show/568

+0

Это также очень хороший способ вставить несколько библиографий, например, при использовании пакета multibib. – GorillaPatch

+1

это может работать для 'статьи', но с использованием класса' scrartcl' document, это приводит к ошибке: '\ bibsection undefined'. – Sebastian

+1

Ссылка теперь не работает, и flakery.org перенаправляет на другой URL-адрес. – Edward

0

В моем случае, я также изменил @ решение godbyk на номер раздела.

@ линии godbyk в:

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

Моя линия:

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