Библиография как раздел в LaTeX / BibTeX

18

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

\bibliographystyle{amsplain}
\bibliography{general}

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

    
задан Martijn 24.06.2009 в 13:58
источник

4 ответа

25

По умолчанию класс документа 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 .

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

    
ответ дан godbyk 25.06.2009 в 01:03
источник
  • Не использовать какие-либо специальные пакеты. Спасибо за код и за предложение! –  Martijn 25.06.2009 в 08:26
12

См. простой способ изменения уровня заголовка и заголовка текста библиографии с помощью bibtex Ссылка

    
ответ дан Simon 03.11.2009 в 14:51
источник
  • Это также очень хороший способ вставить несколько библиографий при использовании пакета multibib, например. –  GorillaPatch 11.07.2010 в 21:18
  • это может работать для статьи, но с использованием класса документа scrartcl, это приводит к ошибке: \ bibsection undefined. –  Sebastian 13.11.2012 в 10:23
  • Эта ссылка сейчас сломана, а flakery.org перенаправляет на другой URL-адрес. –  Edward 04.11.2013 в 04:14
  • Он заархивирован здесь: web.archive.org/web/20100703051708/http://www.flakery.org/... –  Marian 11.03.2015 в 23:08
  • Пример на странице \ renewcommand {\ bibsection} {\ subsection * {Ссылки}} не работает для отчета :-(. –  pevik 15.12.2015 в 21:09
7

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

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

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

    
ответ дан Morten Siebuhr 26.07.2009 в 17:14
источник
0

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

@ строка godbyk:

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

Моя строка:

{\section{\bibname}% <-- this line was changed from \chapter* to \section
    
ответ дан Tulio Casagrande 24.11.2013 в 15:33
источник