Я знаю, что есть и другие подобные вопросы, но я не нашел ответа на свой вопрос.
Пожалуйста, рассмотрите MWE ниже. Хотя номер раздела включен в заголовок первой главы, для библиографии он не включен. Я использовал, renewenvironment
чтобы предотвратить создание библиографии собственного раздела, потому что мне нужен номер раздела и запись в ToC.
\documentclass{scrartcl}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[L]{\leftmark} % 1. sectionname
\fancyfoot[C]{\thepage}
\usepackage{filecontents}
\bibliographystyle{plain}
\usepackage[english]{babel}
\begin{filecontents}{\jobname.bib}
@article{DBLP:journals/corr/abs-1008-2849,
author = {Jan Wassenberg and Peter Sanders},
title = {Faster Radix Sort via Virtual Memory and Write-Combining},
eprinttype = {arxiv},
eprintclass = {cs.DS},
eprint = {1008.2849},
date = {2010-09-06},
pages = {1-8},
}
\end{filecontents}
\makeatletter
\renewenvironment{thebibliography}[1]
{ %\section{\bibname}% <-- this line was commented out
\@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}%
\list{\@biblabel{\@arabic\c@enumiv}}%
{\settowidth\labelwidth{\@biblabel{#1}}%
\leftmargin\labelwidth
\advance\leftmargin\labelsep
\@openbib@code
\usecounter{enumiv}%
\let\p@enumiv\@empty
\renewcommand\theenumiv{\@arabic\c@enumiv}}%
\sloppy
\clubpenalty4000
\@clubpenalty \clubpenalty
\widowpenalty4000%
\sfcode`\.\@m}
{\def\@noitemerr
{\@latex@warning{Empty `thebibliography' environment}}%
\endlist}
\makeatother
\begin{document}
\section{first section}
some content
\nocite{*}
\newpage
\section{Bibliography}
\bibliography{\jobname}
\end{document}
Знаете, что я могу изменить, чтобы включить номер главы в fancyhdr-заголовок для библиографии? Он отображается правильно во всех других главах.
решение1
Это не правильный способ иметь пронумерованную библиографию в классах KOMA. Вы можете просто добавить опцию bibliography=totocnumbered
при загрузке scrartcl
:
\documentclass[bibliography=totocnumbered]{scrartcl}
Если вы хотите изменить название библиографии с «Ссылки» на «Библиография», добавьте в преамбулу следующую строку:
\AtBeginDocument{\renewcommand*{\refname}{Bibliography}}
Более того, использование fancyhdr
с классами KOMA не рекомендуется. scrlayer-scrpage
Вместо этого используйте , который предназначен для этих классов.
Часть fancyhdr
вашей преамбулы можно заменить на:
\usepackage[automark,headsepline]{scrlayer-scrpage}
\clearpairofpagestyles
\ihead[\headmark]{\headmark}
\cfoot[\pagemark]{\pagemark}
\pagestyle{scrheadings}
МВЭ:
\documentclass[bibliography=totocnumbered]{scrartcl}
\usepackage[automark,headsepline]{scrlayer-scrpage}
\clearpairofpagestyles
\ihead[\headmark]{\headmark}
\cfoot[\pagemark]{\pagemark}
\pagestyle{scrheadings}
\usepackage{filecontents}
\bibliographystyle{plain}
\usepackage[english]{babel}
\begin{filecontents}{\jobname.bib}
@article{DBLP:journals/corr/abs-1008-2849,
author = {Jan Wassenberg and Peter Sanders},
title = {Faster Radix Sort via Virtual Memory and Write-Combining},
eprinttype = {arxiv},
eprintclass = {cs.DS},
eprint = {1008.2849},
date = {2010-09-06},
pages = {1-8},
}
\end{filecontents}
\AtBeginDocument{\renewcommand*{\refname}{Bibliography}}
\begin{document}
\section{first section}
some content
\nocite{*}
\newpage
\bibliography{\jobname}
\end{document}
Выход: