PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : biblatex/biblatex-dw: Formatierung einmalig zitierter Werke



shortener
16-01-2011, 11:39
Hi

Vorneweg: Ich verwende biblatex-dw mit dem authortitle-dw-Stil.

Ich möchte einmalig zitierte Werke als Vollzitat in die Fussnoten schreiben, jedoch sollen diese dann aber nicht mehr im Literaturverzeichnis erscheinen.

Das Unterdrücken im Literaturverzeichnis kann ich mit


options = {skipbib=true}

bewerkstelligen. Jedoch kann es dann in den Fussnoten zu einem Konflikt kommen, wenn ich einmalig und mehrmalig zitierte Literatur vermische:



\footfullcite{buch-einmal-zitiert}
\autocites[Vgl.][Rn.~2034]{buch-mehrmals-zitiert}


So werden zwei verschiedene Fussnoten angelegt anstatt alles unter einer zu schreiben.

Also habe ich die Ausgabe von authortitle-dw folgendermassen geändert:


\renewbibmacro*{cite}{%
\usebibmacro{cite:citepages}%
\global\boolfalse{cbx:loccit}%
\global\let\cbx@tempa\empty
\ifbool{cbx:firstfull}{
\ifciteseen%
{\usebibmacro{cite:normal}}%
{\iffieldequalstr{options}{skipbib=true}{%
\usebibmacro{cite:firstfull}}%
{\usebibmacro{cite:normal}}}%
}{\usebibmacro{cite:normal}}}


Das funktioniert soweit nun auch wie es soll. Allerdings stellen sich mir hierbei noch zwei Fragen:

1.) Ich muss dass \renewbibmacro*{cite} in authortitle-dw.cbx kopieren, damit das Ganze läuft. Sonst erhalte ich Fehlermeldungen wie


Undefined control sequence
\abx@macro@cite:title -> \cbx@tempa

Ich vermute, dass dies wegen den globalen Variablen in \renewbibmacro*{cite} ist.
Vielleicht kennt jemand eine Lösung, da ich den Codeabschnitt lieber in einer separaten Datei speichern möchte, damit dieser auch bei einer Aktualisierung des Pakets erhalten bleibt.

2.) Gibt es einen besseren Lösungsweg, damit man nicht immer mit skipbib=true arbeiten muss? Ich stelle mir das folgendermassen vor: Es wird gezählt, ob ein Werk mehrfach zitiert wird. Wenn ja, dann kommt es ins Literaturverzeichnis und erhält kein Vollzitat in der Fussnote; wenn nein, dann umgekehrt.

Vielen Dank für eure Lösungsvorschläge.

mechanicus
16-01-2011, 11:44
1.) Ich muss dass \renewbibmacro*{cite} in authortitle-dw.cbx kopieren, damit das Ganze läuft. Sonst erhalte ich Fehlermeldungen wie


Undefined control sequence
\abx@macro@cite:title -> \cbx@tempa


Hast du makeatletter --- makeatother genutzt?



2.) Gibt es einen besseren Lösungsweg, damit man nicht immer mit skipbib=true arbeiten muss?

Hier wäre ein Minimalbeispiel hilfreich.

Gruß
Marco

shortener
16-01-2011, 12:03
Hast du makeatletter --- makeatother genutzt?

Nein, weder noch. Auch wenn ich den Code ins untenstehende Minimalbeispiel kopiere, erhalte ich die gleichen Fehlermeldungen.



\begin{filecontents*}{literatur.bib}
@book{einmalig,
author = {Einmalig, Ernst},
title = {Das einmalige Buch},
date = {2011},
location = {Einmaligheim},
options = {skipbib=true}
}
@book{mehrmalig,
author = {Mehrmalig, Mark},
title = {Das mehrmalige Buch},
date = {2011},
location = {Mehrmaligheim},
}
\end{filecontents*}
\documentclass[a4paper,12pt,ngerman,oneside,
centeredpartsintoc,
fncontinued,
compact,
showpagenumber,
]{jurabook}

\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}

\usepackage[
hyperref=auto,
backend=biber,
punctfont=true,
style=authortitle-dw,
namefont=italic,
firstnamefont=italic,
hyperref=true,
sortcites=true,
autocite=footnote,
idembib=false,
edbyidem=true,
ibidemfont=italic,
idemfont=italic,
singletitle=true,
bibencoding=utf8,
firstfull=true,
]{biblatex}

\bibliography{literatur}

\begin{document}

\frontmatter
\printbibliography[heading=subbibintoc]

\mainmatter
\chapter{Testkapitel}
\autocites[][]{mehrmalig}[][]{einmalig}[][]{mehrmalig}

\end{document}

mechanicus
16-01-2011, 12:13
Nein, weder noch. Auch wenn ich den Code ins untenstehende Minimalbeispiel kopiere, erhalte ich die gleichen Fehlermeldungen.


\RequirePackage{filecontents}
\begin{filecontents*}{literatur.bib}
@book{einmalig,
author = {Einmalig, Ernst},
title = {Das einmalige Buch},
date = {2011},
location = {Einmaligheim},
options = {skipbib=true}
}
@book{mehrmalig,
author = {Mehrmalig, Mark},
title = {Das mehrmalige Buch},
date = {2011},
location = {Mehrmaligheim},
}
\end{filecontents*}
\documentclass[a4paper,12pt,ngerman,oneside,
centeredpartsintoc,
fncontinued,
compact,
showpagenumber,
]{jurabook}

\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}

\usepackage[
hyperref=auto,
backend=biber,
punctfont=true,
style=authortitle-dw,
namefont=italic,
firstnamefont=italic,
hyperref=true,
sortcites=true,
autocite=footnote,
idembib=false,
edbyidem=true,
ibidemfont=italic,
idemfont=italic,
singletitle=true,
bibencoding=utf8,
firstfull=true,
]{biblatex}

\makeatletter
\renewbibmacro*{cite}{%
\usebibmacro{cite:citepages}%
\global\boolfalse{cbx:loccit}%
\global\let\cbx@tempa\empty
\ifbool{cbx:firstfull}{
\ifciteseen%
{\usebibmacro{cite:normal}}%
{\iffieldequalstr{options}{skipbib=true}{%
\usebibmacro{cite:firstfull}}%
{\usebibmacro{cite:normal}}}%
}{\usebibmacro{cite:normal}}}
\makeatother


\bibliography{literatur}

\begin{document}

\frontmatter
\printbibliography[heading=subbibintoc]

\mainmatter
\chapter{Testkapitel}
\autocites[][]{mehrmalig}[][]{einmalig}[][]{mehrmalig}



\end{document}

Das funktioniert.

Gruß
Marco

shortener
16-01-2011, 17:12
Das funktioniert.


Danke dir!