Anzeige:
Ergebnis 1 bis 5 von 5

Thema: biblatex/biblatex-dw: Formatierung einmalig zitierter Werke

  1. #1
    Registrierter Benutzer
    Registriert seit
    02.06.2009
    Beiträge
    49

    biblatex/biblatex-dw: Formatierung einmalig zitierter Werke

    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
    Code:
    options = {skipbib=true}
    bewerkstelligen. Jedoch kann es dann in den Fussnoten zu einem Konflikt kommen, wenn ich einmalig und mehrmalig zitierte Literatur vermische:

    Code:
    \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:
    Code:
    \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
    Code:
    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.

  2. #2
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Zitat Zitat von shortener Beitrag anzeigen
    1.) Ich muss dass \renewbibmacro*{cite} in authortitle-dw.cbx kopieren, damit das Ganze läuft. Sonst erhalte ich Fehlermeldungen wie
    Code:
    Undefined control sequence
    \abx@macro@cite:title -> \cbx@tempa
    Hast du makeatletter --- makeatother genutzt?

    Zitat Zitat von shortener Beitrag anzeigen
    2.) Gibt es einen besseren Lösungsweg, damit man nicht immer mit skipbib=true arbeiten muss?
    Hier wäre ein Minimalbeispiel hilfreich.

    Gruß
    Marco

  3. #3
    Registrierter Benutzer
    Registriert seit
    02.06.2009
    Beiträge
    49
    Zitat Zitat von mechanicus Beitrag anzeigen
    Hast du makeatletter --- makeatother genutzt?
    Nein, weder noch. Auch wenn ich den Code ins untenstehende Minimalbeispiel kopiere, erhalte ich die gleichen Fehlermeldungen.

    Code:
    \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}

  4. #4
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Zitat Zitat von shortener Beitrag anzeigen
    Nein, weder noch. Auch wenn ich den Code ins untenstehende Minimalbeispiel kopiere, erhalte ich die gleichen Fehlermeldungen.
    Code:
    \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

  5. #5
    Registrierter Benutzer
    Registriert seit
    02.06.2009
    Beiträge
    49
    Zitat Zitat von mechanicus Beitrag anzeigen
    Das funktioniert.
    Danke dir!

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •