Bibliographie und Titelverzeichnis für einzelne Kapitel in Biblatex

Bibliographie und Titelverzeichnis für einzelne Kapitel in Biblatex

Dies ist eine Fortsetzung meiner vorherigen FrageRichtige Methode zum Einfügen nicht nummerierter Kapitel in eine kapitelweise Bibliographie mithilfe von Biblatex.

Die von Audrey vorgeschlagene Lösung funktioniert nicht mehr, wenn ich das titlesecPaket verwende, um die Kapitelüberschriften zu ändern. Hier ist ein MWE:

\documentclass{book}


\usepackage{titlesec}           
\usepackage{titletoc}

\setcounter{tocdepth}{3}

\usepackage[style = phys,%
            sorting=none,%
            backend=biber,%
            style=numeric,%
            hyperref=auto,%
            backref = true,%
            refsection=chapter,%
%           citereset=chapter,%
            dateabbrev=false,%
            urldate=comp]{biblatex}

\usepackage{nameref}

\makeatletter
% Extend biblatex's \chapter patch to \chapter*
\def\blx@refpatch@chapter#1{%
  \ifundef\chapter
    {\blx@err@nodocdiv{chapter}}
    {\pretocmd\@makechapterhead
       {#1}{}{\blx@err@patch{\string\@makechapterhead}}%
     \pretocmd\@makeschapterhead
       {#1}{}{\blx@err@patch{\string\@makeschapterhead}}}}
% Save data for bibliography titles
\apptocmd\@makechapterhead
  {\csdef{subbib:\therefsection}{%
     Chapter~\ref{refsection:\therefsection} - \nameref{refsection:\therefsection}}}{}{}
\apptocmd\@makeschapterhead
  {\csdef{subbib:\therefsection}{%
     \nameref{refsection:\therefsection}}}{}{}

\makeatother

\defbibheading{subbibliography}{%
  \section*{References for \csuse{subbib:\therefsection}}}

\titleformat{\chapter}[hang]
{\bfseries \LARGE \bfseries }{ \thechapter}{0.75em}{}[\vspace{2ex}\titlerule]
\titlespacing*{\chapter}{0cm}{0cm}{0.6cm}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@misc{A01,
  author = {Author, A.},
  year = {2001},
  title = {Alpha},
}
@misc{B02,
  author = {Buthor, B.},
  year = {2002},
  title = {Bravo},
}
@misc{C03,
  author = {Cuthor, C.},
  year = {2003},
  title = {Charlie},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}

\chapter*{Introduction}
\begin{refsegment}
\cite{A01}
\end{refsegment}
\chapter{Chapter 1}

\cite{A01,B02}

\chapter*{Conclusion}
\begin{refsegment}
\cite{C03}
\end{refsegment}

\backmatter

\printbibheading[heading=bibintoc]
\bibbysection[heading = subbibliography]

\end{document}

Das Ergebnis in der Bibliographie lautet:

Bildbeschreibung hier eingeben

Wie Sie sehen, sind die Verweise auf die Kapitel verschwunden. Es gibt nicht einmal Fragezeichen. Ich vermute, das bedeutet, dass der \csuse{subbib:\therefsection}}Teil der Lösung von Audrey ins Nichts führt, nachdem ich die Neudefinition des Kapitelformats mithilfe titlesecvon eingefügt habe \titleformat.

Außerdem \titleformat{...}führt das Neudefinieren der Kapitelüberschriften vor dem Biblatex-Patch zu folgendem Fehler argument of \csdef has an extra }.

Irgendwelche Ideen, wie man das umgehen kann?

Antwort1

Das Anhängen der Kapitelmakros ist wahrscheinlich das Problem. Sie können die Steuersequenzdefinitionen für die Titel direkt nach biblatexdem vorangestellten Patch verschieben.

\def\blx@refpatch@chapter#1{%
  \ifundef\chapter
    {\blx@err@nodocdiv{chapter}}
    {\pretocmd\@makechapterhead
       {#1\csdef{subbib:\therefsection}{Chapter~\ref{refsection:\therefsection}}}
       {}{\blx@err@patch{\string\@makechapterhead}}%
     \pretocmd\@makeschapterhead
       {#1\csdef{subbib:\therefsection}{\nameref{refsection:\therefsection}}}
       {}{\blx@err@patch{\string\@makeschapterhead}}}}

verwandte Informationen