章番号付き目次の LOF+LOT+BIB

章番号付き目次の LOF+LOT+BIB

図表一覧(LOF)、表一覧(LOT)、参考文献(BIB)をすべて表示したい番号付きレポートドキュメントクラスを使用して目次(TOC)に表示します。トクビバインドこれを実現するためにパッケージを使用していますが、引用チャップより凝った章の見出しを取得するためのパッケージ。

正しい外観を得るには、LOF、LOT、BIB のすべてが \chapter コマンドのように動作する必要がありますが、デフォルトでは \chapter* (つまり番号なし) が使用されています。これにより、以下の最小限の動作例 (MWE) の標準の章で確認できるように、大きな章番号とその下の章タイトルが生成されます。

使用方法ツールボックスパッケージでは、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

使用方法トクビバインドパッケージでは、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、共通の を使用しますlatex.ltx。次のように定義されています。

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

コマンドはまたはによってファイル\begin{thebibliography}...\end{thebibliography}に書き込まれますが、 は を介し​​てこの環境を入力します。.bblbibtexbiber\bibliography@input

関連情報