
Я пишу статью с шаблоном 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}
Выход
Приложение
Обратите внимание, что в полном примере я закомментировалtocbibind
поскольку довольно странно принудительно вставлять библиографию в оглавление, когда она находится на той же странице.
Более того, альтернативный подход, который я показал выше, может оказаться полезным, если вы захотите переопределить \tableofcontents
(если вы хотите сохранить разметку нетронутой):
\let\oldtoc\tableofcontents
\renewcommand\tableofcontents{%
\begingroup
\let\clearpage\relax
\oldtoc
\vspace{2em}
\bibliographystyle{plain}
\bibliography{yourbibfile}
\endgroup
\clearpage
}
Наконец, вам, возможно, захочется знать оэтот вопроскоторый занимается размещением оглавления на одной странице.