LOF+LOT+BIB в оглавлении с пронумерованными главами

LOF+LOT+BIB в оглавлении с пронумерованными главами

Я хочу, чтобы список рисунков (LOF), список таблиц (LOT) и библиография (BIB) отображались одновременно.пронумерованныйв моем оглавлении (TOC) с использованием report documentclass. Я знаю, что можно использоватьtocbibindпакет для достижения этого, но я также используючушьпакет для получения более причудливых заголовков глав.

Чтобы получить правильный вид, мне нужно, чтобы LOF, LOT и BIB действовали как команда \chapter, хотя по умолчанию они используют \chapter* (то есть без нумерации). Это создает большой номер главы и название главы под ним, как вы можете видеть в стандартной главе в минимальном рабочем примере (MWE) ниже.

Используяetoolboxпакет, я могу изменить команды LOF и LOT таким образом, чтобы они действительно использовали пронумерованную главу, используя команду \patchcmd

\patchcmd{\listoffigures}{\chapter*}{\chapter}{}{}  %force list of figures to have numbered chapter appearance
\patchcmd{\listoftables}{\chapter*}{\chapter}{}{}   %force list of tables to have numbered chapter appearance

Но это не работает с командой BIB.

\patchcmd{\bibliography}{\chapter*}{\chapter}{}{}  %does NOT work

Используяtocbibindпакет Я могу добиться правильного поведения для BIB, выполняя

\usepackage[numbib,chapter]{tocbibind}   %manipulate bib appearance

в то время как параметр numbib заставляет BIB быть пронумерованным и вести себя как обычная глава. Следовательно, тогда он имеет правильный стиль главы и отображается в TOC, как и требуется. НО это отменяет достижение LOF и LOT, которые больше не помечены, но все еще отображаются (без метки) в TOC.

Кто-нибудь знает, как добиться этого для LOF, LOT и BIB одновременно?

Вот минимальный рабочий пример (MWE)

\documentclass[a4paper,twoside,11pt,titlepage]{report}

\usepackage[grey]{quotchap}              %custom chapter appearance
\usepackage{etoolbox}                    %change commands with patchcmd
\usepackage[numbib,chapter]{tocbibind}   %manipulate bib appearance

\patchcmd{\listoffigures}{\chapter*}{\chapter}{}{}  %force list of figures to have normal chapter appearance
\patchcmd{\listoftables}{\chapter*}{\chapter}{}{}   %force list of tables to have normal chapter appearance

\begin{document}

\tableofcontents

\chapter{A normal chapter}

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

\appendix

\listoffigures
\listoftables

\bibliography{bibl}{}
\bibliographystyle{plain}

\end{document}

решение1

\bibliographyэто всего лишь макрос, который использует среду через оператор ввода, поэтому внутри \begin{thebibliography}...\end{thebibliography}нет вызова , но есть код запуска среды.chapter*\bibliography\thebibliography

Вот почему это не удается.

\patchcmd{\thebibliography}{\chapter*}{\chapter}{\typeout{success}}{\typeout{failed}}

однако работает.

\documentclass[a4paper,twoside,11pt,titlepage]{report}

\usepackage[grey]{quotchap}              %custom chapter appearance
\usepackage{etoolbox}                    %change commands with patchcmd
%\usepackage[numbib,chapter]{tocbibind}   %manipulate bib appearance

\patchcmd{\listoffigures}{\chapter*}{\chapter}{}{}  %force list of figures to have normal chapter appearance
\patchcmd{\listoftables}{\chapter*}{\chapter}{}{}   %force list of tables to have normal chapter appearance
\patchcmd{\thebibliography}{\chapter*}{\chapter}{\typeout{success}}{\typeout{failed}}   %force list of tables to have normal chapter appearance

\begin{document}

\tableofcontents

\chapter{A normal chapter}

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

\appendix


\listoffigures
\listoftables

\bibliography{bibl}{}
\bibliographystyle{plain}


\end{document}

введите описание изображения здесь

РедактироватьДополнительные пояснения.

Класс reportне определяет \bibliographyсебя, он использует common latex.ltx. Он там определен примерно так

\def\bibliography#1{%
  \if@filesw
    \immediate\write\@auxout{\string\bibdata{#1}}%
  \fi
  \@input@{\jobname.bbl}}

Команды \begin{thebibliography}...\end{thebibliography}записываются в .bblфайл с помощью bibtexили biber, но \bibliographyвводит эту среду через @input.

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