von Gast » So 24. Sep 2017, 12:44
Zunächst ein Beispiel, in dem jedes Zitat seine eigene Fußnote bekommt. So würde ich es machen.
\documentclass[12pt,a4paper,ngerman]{report}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber, natbib=true, style=authortitle, citetracker=true]{biblatex}
\DeclareFieldFormat{urldate}{\mkbibparens{#1}}
\addbibresource{biblatex-examples.bib}
\usepackage{hyperref}
\ExecuteBibliographyOptions{autocite=footnote}
\begin{document}
First citation.\autocite{sigfridsson}
First citation.\autocite{herrmann}
Some recurrent citations on same page.\autocite{sigfridsson}
\cleardoublepage
Recurrent citation on different page.\autocite{sigfridsson}
Recurrent on different pages.\autocite{herrmann}
New citation on same page.\autocite{doody}
Some recurrent citations on same page.\autocite{sigfridsson}
\cleardoublepage
\printbibliography
\end{document}
\documentclass[12pt,a4paper,ngerman]{report}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage{scrextend}
\usepackage[backend=biber, natbib=true, style=authortitle, citetracker=true]{biblatex}
\DeclareFieldFormat{urldate}{\mkbibparens{#1}}
\addbibresource{biblatex-examples.bib}
\usepackage{hyperref}
\DeclareAutoCiteCommand{hyper}{\hypercite}{\hypercites}
\ExecuteBibliographyOptions{autocite=hyper}
\makeatletter
\AtEveryCitekey{%
\ifcsundef{cbx@instcount@curr@\the\c@refsection @\thefield{entrykey}}
{\csnumgdef{cbx@instcount@curr@\the\c@refsection @\thefield{entrykey}}{0}}
{}%
\csnumgdef{cbx@instcount@last@\the\c@refsection @\thefield{entrykey}}{%
\csuse{cbx@instcount@curr@\the\c@refsection @\thefield{entrykey}}}%
\csnumgdef{cbx@instcount@curr@\the\c@refsection @\thefield{entrykey}}{\value{instcount}}}
\def\iflastciteonsamepage{%
\ifsamepage
{\number\csuse{cbx@instcount@curr@\the\c@refsection @\thefield{entrykey}}}
{\number\csuse{cbx@instcount@last@\the\c@refsection @\thefield{entrykey}}}}
\newbibmacro*{footcite:save}{%
\csxdef{cbx@f@\thefield{entrykey}}{\the\value{instcount}}%
\label{cbx@\the\value{instcount}}}
\DeclareCiteCommand{\hypercite}
{}
{\usebibmacro{citeindex}%
\ifboolexpr{test {\ifciteseen} and test {\iflastciteonsamepage}}
{\footref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}
{\mkbibfootnote{%
\usebibmacro{prenote}%
\usebibmacro{cite}%
\usebibmacro{footcite:save}%
\usebibmacro{postnote}}}}
{}
{}
\makeatother
\begin{document}
First citation.\autocite{sigfridsson}
First citation.\autocite{herrmann}
Some recurrent citations on same page.\autocite{sigfridsson}
\cleardoublepage
Recurrent citation on different page.\autocite{sigfridsson}
Recurrent on different pages.\autocite{herrmann}
New citation on same page.\autocite{doody}
Some recurrent citations on same page.\autocite{sigfridsson}
\cleardoublepage
\printbibliography
\end{document}
Unterdrückt Fußnoten zu derselben Quelle auf der gleichen Seite. Zur Zeit gehen dabei die Seiten verloren.
Das Problem ist nicht, wie man die Seiten angibt (in Eckigen Klammern), das Problem ist die Verarbeitung.
Für unsere Zwecke arbeitet biblatex die Zitate der Reihe nach nacheinander ab. Bei jedem Zitat müssen wir uns entscheiden, wie es auszusehen hat. Haben wir uns entschieden, können wir das nicht rückgängig machen.
An einem Beispiel siehst Du das Problem.
Wir zitieren \cite[12]{sigfridsson}. Ganz klar, das ist das erste Zitat, das braucht eine eigene Fußnote. Wir schreiben die Fußnote ("Sigfridsson und Ryde: Blabla, Seite 13.").
Dann zitieren wir \cite[128]{nussbaum}. Auch hier ist ein neues Zitat, es bekommt eine neue Fußnote ("Nussbaum: Titel, Seite 128.").
Schließlich kommt wieder \cite[14]{sigfridsson}. Das hatten wir schonmal, also gibt es keine neue Fußnote. Aber wir können die schon geschriebene Fußnote nicht mehr ändern, um die 14 zur 13, die da schon steht, hinzuzufügen. Was nun?
Eine andere Möglichkeit wäre es, zunächst alle Zitate zu sammeln, ohne sie zu schreiben. Am Ende jeder Seite würde man dann die Zitate dieser Seite zusammenfassen, sortieren und die postnotes zusammenwerfen. Leider hat biblatex kein Interface für soetwas. Und ich weiß auch sonst nicht, wie das gehen sollte. (Hab aber auch keine Erfahrung mit sowas.)
Zunächst ein Beispiel, in dem jedes Zitat seine eigene Fußnote bekommt. So würde ich es machen. [code]\documentclass[12pt,a4paper,ngerman]{report}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber, natbib=true, style=authortitle, citetracker=true]{biblatex}
\DeclareFieldFormat{urldate}{\mkbibparens{#1}}
\addbibresource{biblatex-examples.bib}
\usepackage{hyperref}
\ExecuteBibliographyOptions{autocite=footnote}
\begin{document}
First citation.\autocite{sigfridsson}
First citation.\autocite{herrmann}
Some recurrent citations on same page.\autocite{sigfridsson}
\cleardoublepage
Recurrent citation on different page.\autocite{sigfridsson}
Recurrent on different pages.\autocite{herrmann}
New citation on same page.\autocite{doody}
Some recurrent citations on same page.\autocite{sigfridsson}
\cleardoublepage
\printbibliography
\end{document}[/code]
[code]\documentclass[12pt,a4paper,ngerman]{report}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage{scrextend}
\usepackage[backend=biber, natbib=true, style=authortitle, citetracker=true]{biblatex}
\DeclareFieldFormat{urldate}{\mkbibparens{#1}}
\addbibresource{biblatex-examples.bib}
\usepackage{hyperref}
\DeclareAutoCiteCommand{hyper}{\hypercite}{\hypercites}
\ExecuteBibliographyOptions{autocite=hyper}
\makeatletter
\AtEveryCitekey{%
\ifcsundef{cbx@instcount@curr@\the\c@refsection @\thefield{entrykey}}
{\csnumgdef{cbx@instcount@curr@\the\c@refsection @\thefield{entrykey}}{0}}
{}%
\csnumgdef{cbx@instcount@last@\the\c@refsection @\thefield{entrykey}}{%
\csuse{cbx@instcount@curr@\the\c@refsection @\thefield{entrykey}}}%
\csnumgdef{cbx@instcount@curr@\the\c@refsection @\thefield{entrykey}}{\value{instcount}}}
\def\iflastciteonsamepage{%
\ifsamepage
{\number\csuse{cbx@instcount@curr@\the\c@refsection @\thefield{entrykey}}}
{\number\csuse{cbx@instcount@last@\the\c@refsection @\thefield{entrykey}}}}
\newbibmacro*{footcite:save}{%
\csxdef{cbx@f@\thefield{entrykey}}{\the\value{instcount}}%
\label{cbx@\the\value{instcount}}}
\DeclareCiteCommand{\hypercite}
{}
{\usebibmacro{citeindex}%
\ifboolexpr{test {\ifciteseen} and test {\iflastciteonsamepage}}
{\footref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}
{\mkbibfootnote{%
\usebibmacro{prenote}%
\usebibmacro{cite}%
\usebibmacro{footcite:save}%
\usebibmacro{postnote}}}}
{}
{}
\makeatother
\begin{document}
First citation.\autocite{sigfridsson}
First citation.\autocite{herrmann}
Some recurrent citations on same page.\autocite{sigfridsson}
\cleardoublepage
Recurrent citation on different page.\autocite{sigfridsson}
Recurrent on different pages.\autocite{herrmann}
New citation on same page.\autocite{doody}
Some recurrent citations on same page.\autocite{sigfridsson}
\cleardoublepage
\printbibliography
\end{document}[/code]
Unterdrückt Fußnoten zu derselben Quelle auf der gleichen Seite. Zur Zeit gehen dabei die Seiten verloren.
Das Problem ist nicht, wie man die Seiten angibt (in Eckigen Klammern), das Problem ist die Verarbeitung.
Für unsere Zwecke arbeitet [tt]biblatex[/tt] die Zitate der Reihe nach nacheinander ab. Bei jedem Zitat müssen wir uns entscheiden, wie es auszusehen hat. Haben wir uns entschieden, können wir das nicht rückgängig machen.
An einem Beispiel siehst Du das Problem.
Wir zitieren [tt]\cite[12]{sigfridsson}[/tt]. Ganz klar, das ist das erste Zitat, das braucht eine eigene Fußnote. Wir schreiben die Fußnote ("Sigfridsson und Ryde: Blabla, Seite 13.").
Dann zitieren wir [tt]\cite[128]{nussbaum}[/tt]. Auch hier ist ein neues Zitat, es bekommt eine neue Fußnote ("Nussbaum: Titel, Seite 128.").
Schließlich kommt wieder [tt]\cite[14]{sigfridsson}[/tt]. Das hatten wir schonmal, also gibt es keine neue Fußnote. Aber wir können die schon geschriebene Fußnote nicht mehr ändern, um die 14 zur 13, die da schon steht, hinzuzufügen. Was nun?
Eine andere Möglichkeit wäre es, zunächst alle Zitate zu sammeln, ohne sie zu schreiben. Am Ende jeder Seite würde man dann die Zitate dieser Seite zusammenfassen, sortieren und die postnotes zusammenwerfen. Leider hat [tt]biblatex[/tt] kein Interface für soetwas. Und ich weiß auch sonst nicht, wie das gehen sollte. (Hab aber auch keine Erfahrung mit sowas.)