目錄中的 LOF+LOT+BIB,附編號章節

目錄中的 LOF+LOT+BIB,附編號章節

我希望圖表清單 (LOF)、表格清單 (LOT) 和參考書目 (BIB) 全部顯示編號的在我的目錄(TOC)中使用報告文檔類別。我知道可以使用托克比賓德包來實現這一點,但我也在使用引用包以獲得更多精美的章節標題。

為了獲得正確的外觀,我需要 LOF、LOT 和 BIB 都像 \chapter 命令一樣運行,而預設情況下它們使用 \chapter* (因此沒有編號)。這會產生一個大的章節號和下面的章節標題,正如您可以在下面的最小工作範例 (MWE) 的標準章節中看到的那樣。

使用電子工具箱包,我可以使用 \patchcmd 命令修改 LOF 和 LOT 命令,使它們確實使用編號的章節

\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

使用托克比賓德包我可以透過執行以下操作來實現 BIB 的正確行為

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

而numbib參數則強制對BIB進行編號並像普通章節一樣工作。因此,它具有正確的章節樣式並根據需要顯示在目錄中。但這抵消了 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自身,它使用通用的latex.ltx.它的定義是這樣的

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

命令通過或\begin{thebibliography}...\end{thebibliography}寫入文件,但透過 輸入該環境。.bblbibtexbiber\bibliography@input

相關內容