PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : BibLatex: Sonderwunsch bzgl. der Option backref



slowfox
10-09-2010, 13:37
Moin!

Ich verwende BibLatex zum Setzen meiner Literaturangaben. Hierbei verwende ich auch die Option backref, um mir im Literaturverzeichnis anzeigen zu lassen, auf welchen Seiten die entsprechende Literatur verwendet wurde.

Nun zu meinem Sonderwunsch: Ich verwende Literaturzitate auch in Gliederungsbefehlen/-überschriften, d.h. sie werden an das Inhaltsverzeichnis weitergegeben. Mit der Option backref zeigt BibLatex für einen solchen Eintrag (richtigerweise) zwei Seitenangaben an: einmal die Seite auf der zitiert wurde und zum anderen die Seitenzahl des Inhaltsverzeichnisses. Ich würde BibLatex aber gerne dazu bringen, dass er nur auf die eigentliche Zitatstelle verweist und nicht auch auf das Inhaltsverzeichnis.

(Manuell kann ich dies durch entsprechende Angaben im optionalen Argument der Gliederungsbefehle realisieren, d.h. aber ich muss schon wissen wie Latex das Zitat darstellt. Ich würde das ganze aber gerne, wenn möglich, automatisieren.)

Danke für die Hilfe.


\begin{filecontents}{\jobname.bib}
@BOOK{demo,
title = {Buchtitel},
author = {Autor},
publisher = {Verlag},
year = {2010}
}
\end{filecontents}

\documentclass[ngerman]{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage[style=authoryear-comp,backref=true]{biblatex}
\bibliography{\jobname}
\usepackage{hyperref}
\usepackage{blindtext}

\begin{document}

\frontmatter

\tableofcontents

\mainmatter

\blinddocument

\chapter{\textcite{demo}}

Und auch im Text wird zitiert \parencite{demo}.

\printbibliography

\end{document}

mechanicus
10-09-2010, 20:20
Hi,

probiere mal:

\begin{filecontents}{\jobname.bib}
@BOOK{demo,
title = {Buchtitel},
author = {Autor},
publisher = {Verlag},
year = {2010}
}
\end{filecontents}

\documentclass[ngerman]{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage[style=authoryear-comp,backref=true]{biblatex}
\bibliography{\jobname}
\usepackage{hyperref}
\usepackage{blindtext}

\begin{document}

\frontmatter
\makeatletter
\let\blx@backref\relax
\let\abx@aux@backref\@gobblefive
\makeatother
\tableofcontents
\makeatletter
\let\blx@backref\blx@backref@global
\let\abx@aux@backref\blx@aux@backref
\makeatother


\mainmatter

\blinddocument

\chapter{\textcite{demo}}

Und auch im Text wird zitiert \parencite{demo}.

\printbibliography

\end{document}

Gruß
Marco

slowfox
11-09-2010, 11:38
Moin Marco!

Danke für Deine Hilfe. Ich verstehe zwar nicht, was Deine Ergänzungen bewirken, aber im Minimalbeispiel funktioniert es. Werde es nachher mal auf meine eigentliche Datei anwenden.

Dankbare Grüße,
Marco