Полный пример

Полный пример

Я пишу статью с шаблоном LaTeX LNCS. В статье должно быть указано количество страниц. Поэтому мне нужно разместить раздел библиографии на той же странице, что и оглавление. Я искал и пробовал разные способы, но не могу понять, как это сделать.

Часть библографии выглядит так

\renewcommand\bibname{References}
\begin{thebibliography}{5}
 %
 \bibitem{t1}
 \end{thebibliography}
 \end{document}

Вот пакеты, которые я использую:

\usepackage{makeidx}
\usepackage{natbib}
\usepackage{graphicx}
\usepackage{amssymb} 
\usepackage[T1]{fontenc}
\usepackage{float}
\usepackage[nottoc,notlof,notlot]{tocbibind} 

решение1

В шаблоне, который предлагает ShareLaTeX, раздел библиографии в конце делается вручную. Я думаю, что это не так уж и необходимо. Если вы не привязаны к нему, вы можете использовать каноническую пару \bibliographystyle- \bibliographyи определить пользовательский макрос toc, который временно отключаетclearpage :

\newcommand\TOCwithBibliography[2][plain]{%
  \begingroup
    \let\clearpage\relax
    \tableofcontents
    \vspace{2em}
    \bibliographystyle{#1}
    \bibliography{#2}
  \endgroup
  \clearpage
}

Затем используйте \TOCwithBibliography[<bib style>]{<bib file>}в точке, где должна быть напечатана ваша страница содержания+библиографии. Конечно, вы также можете жестко закодировать стиль биб-файла и информацию о биб-файле, например

...
    \vspace{2em}
    \bibliographystyle{plain}% or whatever style
    \bibliography{testbib}% name of your .bib file
  \endgroup
...

Но я не думаю, что это обязательно лучше.

Полный пример

с использованиемllncs.clsверсия 2.6

% arara: pdflatex
% arara: bibtex
% arara: pdflatex
% arara: pdflatex
\RequirePackage{filecontents}
\begin{filecontents}{testbib.bib}
  @article{test123,
    author  = {Rufus Dufus},
    title   = {Some article},
    journal = {Some journal},
    year    = {2017}
 }
\end{filecontents}

\documentclass{llncs}

\usepackage{makeidx}
\usepackage{natbib}
\usepackage{graphicx}
\usepackage{amssymb} 
\usepackage[T1]{fontenc}
\usepackage{float}
%\usepackage[nottoc,notlof,notlot]{tocbibind} 

\newcommand\TOCwithBibliography[2][plain]{%
  \begingroup
    \let\clearpage\relax
    \tableofcontents
    \vspace{2em}
    \bibliographystyle{#1}
    \bibliography{#2}
  \endgroup
  \clearpage
}

\begin{document}
\frontmatter
\TOCwithBibliography{testbib}
\nocite{*}
\pagestyle{headings}
\chapter{foo}
\chapter{bar}
\chapter{baz}
\end{document}

Выход

example_rendered

Приложение

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

Более того, альтернативный подход, который я показал выше, может оказаться полезным, если вы захотите переопределить \tableofcontents(если вы хотите сохранить разметку нетронутой):

\let\oldtoc\tableofcontents
\renewcommand\tableofcontents{%
  \begingroup
    \let\clearpage\relax
    \oldtoc
    \vspace{2em}
    \bibliographystyle{plain}
    \bibliography{yourbibfile}
  \endgroup
  \clearpage
}

Наконец, вам, возможно, захочется знать оэтот вопроскоторый занимается размещением оглавления на одной странице.

Связанный контент