goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Direktlinks:
Zuletzt aktive Beiträge
Unbeantwortete Beiträge
[Erweitert]

Forenstatistik:
Beiträge: 99981
Top-Poster: Johannes_B (5061)

Wir begrüßen unseren neuesten Benutzer Ron Flower.

Links:


Mit Unterstützung von DANTE e.V.: Deutschsprachige Anwendervereinigung TeX. Danke den Mitgliedern!





Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

BibLatex: authoryear anpassen

 

baumbaron
Forum-Newbie
Forum-Newbie

Beiträge: 5
Anmeldedatum: 26.08.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.08.2009, 05:11     Titel: BibLatex: authoryear anpassen
  Antworten mit Zitat      
Liebe Bilatex-Kundige,

Oftmals befinden sich in einem Literaturverzeichnis mehrere Einträge eines Autors zum gleichen Jahr.
Ist es moeglich durch einfache Anpassung der Standard-Stildateien die Jahreszitate derselben automatisch durchzunummerieren ?

Also z.B.

Zitat:

@BOOK{Ammer79Analyse,
title = {Grammatik und funktionale Analyse},
year = {1979},
author = {Ammer, Karl}
}
@BOOK{Ammer79Funktional,
title = {Funktionalgrammatik},
year = {1979},
author = {Ammer, Karl}
}


in Jahreszitaten als "1979a" bzw. "1979b" setzen zu lassen?


Für Antworten dankt

Martin
Private Nachricht senden Benutzer-Profile anzeigen

domwass
TeX-Entwickler
TeX-Entwickler


Beiträge: 621
Anmeldedatum: 26.08.08
Wohnort: ---
Version: MacTeX 2011 / LyX 2.0.3 / TeXShop 2.4.3
     Beitrag Verfasst am: 31.08.2009, 08:04     Titel:
  Antworten mit Zitat      
Das ist eigentlich das Standardverhalten. Eventuell musst du einen zusätzlichen LaTeX-Lauf machen, damit das 'a' und 'b' auch wirklich angehängt werden. Mit folgendem Beispiel funktioniert es jedenfalls:
Code
\documentclass[ngerman]{scrartcl}
\listfiles
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@BOOK{Ammer79Analyse,
title = {Grammatik und funktionale Analyse
},
year = {1979},
author = {Ammer, Karl}
}
@BOOK{Ammer79Funktional,
title = {Funktionalgrammatik
},
year = {1979},
author = {Ammer, Karl}
}
\end{filecontents}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{babel,csquotes}

\usepackage[
  style=authoryear
]{biblatex}
\bibliography{\jobname}

\begin{document}
\cite{Ammer79Funktional}

\cite{Ammer79Analyse}

\printbibliography
\end{document}
 


Gruß,
Dominik.-
_________________

goLaTeX-Knigge | Minimalbeispiel | FAQs etc.
biblatex-Doku auf Deutsch
biblatex-Stile | »Bibliographien erstellen mit biblatex« (DTK-Artikel)
Private Nachricht senden Benutzer-Profile anzeigen

baumbaron
Forum-Newbie
Forum-Newbie

Beiträge: 5
Anmeldedatum: 26.08.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.08.2009, 08:45     Titel:
  Antworten mit Zitat      
Danke fuer die Antwort - du hast natuerlich recht und dein Beispiel mit dem Standardstil authoryear laeuft wie gewuenscht.

Ich selbst hatte mir allerdings aus dem authoryear schon einen eigenen Stil zusammengebaut (vornehmlich um die Jahreszahlklammern loszuwerden) und in der entsprechenden .cbx Datei ganz naiv u.a. die Zeile

Code

\DeclareFieldFormat[book]{year}{#1}
 


eingefuegt, womit die Klammerformatierung glueckte.

Allerdings verschwindet die Zusatzmarkierung (1979a) dann, welche selbst scheinbar als Parameter fuer printfield[year] uebergeben wird da
Code

\DeclareFieldFormat[book]{year}{#1 #2}
 

fuer derartige Eintraege das gewuenschte Resultat ergibt, allerdings fuer alle uebrigen Eintraege einen Fehler verursacht (denn #2 gibt es natuerlich nicht).

Leider habe ich in der biblatex doku (die sonst ganz wunderbar ist) keinen Eintrag fuer den Bezeichner der Zusatzmarkierung gefunden, welche man mit Code alla

Code

\iffieldundef{zusatzmarkierung}{}{\printfield{zusatzmarkierung}}
 


kontrolliert explizit einfuegen koennte.
Ueberhaupt: sollte nicht \printfield eigentlich ein Befehl sein, der nur genau ein Argument akzeptierte?


Fuer Ideen dankbar gruesst

Martin
Private Nachricht senden Benutzer-Profile anzeigen

domwass
TeX-Entwickler
TeX-Entwickler


Beiträge: 621
Anmeldedatum: 26.08.08
Wohnort: ---
Version: MacTeX 2011 / LyX 2.0.3 / TeXShop 2.4.3
     Beitrag Verfasst am: 31.08.2009, 09:05     Titel:
  Antworten mit Zitat      
baumbaron hat Folgendes geschrieben:
Danke fuer die Antwort - du hast natuerlich recht und dein Beispiel mit dem Standardstil authoryear laeuft wie gewuenscht.

Deshalb ist es sinnvoll, ein Minimalbeispiel mitzuliefern.

Zitat:
Ich selbst hatte mir allerdings aus dem authoryear schon einen eigenen Stil zusammengebaut (vornehmlich um die Jahreszahlklammern loszuwerden) und in der entsprechenden .cbx Datei ganz naiv u.a. die Zeile

Code

\DeclareFieldFormat[book]{year}{#1}
 

eingefuegt, womit die Klammerformatierung glueckte.

Welche Klammern meinst du? Bei den Zitaten im Text steht keine Klammer, und bei den Literaturangaben in der Bibliographie fällt die Klammer auch mit deinem Code nicht weg. Auch hier wäre ein Minimalbeispiel nötig, um zu sehen, was du eigentlich machst.

Vielleicht suchst du ja so etwas:
Code
\renewbibmacro*{year+labelyear}{%
  \iffieldundef{year}
    {}
    {\printfield{year
}%
     \printfield{labelyear}}}

Damit werden die Klammern um die Jahreszahl in der Bibliographie nicht ausgegeben. Die Originaldefinition, die in authoryear.bbx steht, sieht übrigens so aus:
Code
\newbibmacro*{year+labelyear}{%
  \iffieldundef{year}
    {}
    {\printtext[parens]{%
       \printfield{year}%
       \printfield{labelyear}}}}
 

Der Befehl
Code
\printtext[parens]
sorgt dafür, dass year und labelyear ('a', 'b' etc.) in Klammern gesetzt werden.

Gruß,
Dominik.-
_________________

goLaTeX-Knigge | Minimalbeispiel | FAQs etc.
biblatex-Doku auf Deutsch
biblatex-Stile | »Bibliographien erstellen mit biblatex« (DTK-Artikel)
Private Nachricht senden Benutzer-Profile anzeigen

baumbaron
Forum-Newbie
Forum-Newbie

Beiträge: 5
Anmeldedatum: 26.08.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.08.2009, 09:52     Titel:
  Antworten mit Zitat      
domwass hat Folgendes geschrieben:
Deshalb ist es sinnvoll, ein Minimalbeispiel mitzuliefern.

Gut, seufzend gebe ich Dir dessen Sinnhaftigkeit zu Smile

Also, heruntergekocht auf das Wesentliche versuche ich folgendes Verhalten zu erzeugen:

Zitate im Literaturverzeichnis: Autor (Jahr) Title ....
Zitate im Text: Autor Jahr

Dazu die bisherigen bbx/cbx-Versuche

Code

\begin{filecontents}{test.bib}
@BOOK{Ammer1,
title = {Grammatik und funktionale Analyse
},
year = {1979},
author = {Ammer, Karl}
}
@BOOK{Ammer2,
title = {Funktionalgrammatik
},
year = {1979},
author = {Ammer, Karl}
}
\end{filecontents}
\begin{filecontents}{test.bbx}
\ProvidesFile{test.bbx}
\RequireBibliographyStyle{standard}
\DeclareBibliographyDriver{book}{
  \usebibmacro{author
}
  \printfield{year}%  
  \finentry
}
\DeclareFieldFormat[book]{year}{\mkbibparens{#1}}
\endinput
\end{filecontents}

\begin{filecontents}{test.cbx}
\ProvidesFile{test.cbx}
\RequireCitationStyle{authoryear}
\renewbibmacro*{cite:year+labelyear}{
  \iffieldundef{year
}
    {}
    {\printfield{year
}%
     \printfield{labelyear}}
}
\endinput
\end{filecontents}

\documentclass[ngerman]{scrartcl}
\usepackage{filecontents}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage[style=test]{biblatex}
\bibliography{test.bib}

\begin{document}
\cite{Ammer1}
\cite{Ammer2}

\printbibliography

\end{document}

 


Wie befreie ich jetzt das Jahresfeld in Textzitaten aus der selbstverschuldeteten Umklammerung ?

Dank fuer eine Antwort,

M
Private Nachricht senden Benutzer-Profile anzeigen

domwass
TeX-Entwickler
TeX-Entwickler


Beiträge: 621
Anmeldedatum: 26.08.08
Wohnort: ---
Version: MacTeX 2011 / LyX 2.0.3 / TeXShop 2.4.3
     Beitrag Verfasst am: 31.08.2009, 10:38     Titel:
  Antworten mit Zitat      
Gut, danke für das Minimalbeispiel. Bevor ich da jetzt in die Einzelheiten gehe, eine Frage: Warum baust du in deinem bibliography style (bbx) auf standard auf und nicht auf authoryear? Sprich: welches Aussehen willst du in der Bibliographie erreichen?

Gruß,
Dominik.-
_________________

goLaTeX-Knigge | Minimalbeispiel | FAQs etc.
biblatex-Doku auf Deutsch
biblatex-Stile | »Bibliographien erstellen mit biblatex« (DTK-Artikel)
Private Nachricht senden Benutzer-Profile anzeigen

baumbaron
Forum-Newbie
Forum-Newbie

Beiträge: 5
Anmeldedatum: 26.08.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.08.2009, 11:19     Titel:
  Antworten mit Zitat      
domwass hat Folgendes geschrieben:
Bevor ich da jetzt in die Einzelheiten gehe, eine Frage: Warum baust du in deinem bibliography style (bbx) auf standard auf und nicht auf authoryear?


Das hatte keinen tieferen Grund als das Minimalbeispiel hinzubiegen. Meine eigentliche bbx laedt keine der Standardstile. (Das sollte fuer das beobachtbare Verhalten egal sein)

Zitat:

Sprich: welches Aussehen willst du in der Bibliographie erreichen?


Wie oben geschrieben:

Literaturverzeichnis (bbx): Autor (Jahr), Titel. Ort: Verlag
Zitate im Text (cbx): Autor Jahr, S.234


In der bbx lasse ich das Jahr explizit in Klammern schreiben, haette dies aber gerne in der cbx wieder unwirksam gemacht.

Gruss,
Martin
Private Nachricht senden Benutzer-Profile anzeigen

domwass
TeX-Entwickler
TeX-Entwickler


Beiträge: 621
Anmeldedatum: 26.08.08
Wohnort: ---
Version: MacTeX 2011 / LyX 2.0.3 / TeXShop 2.4.3
     Beitrag Verfasst am: 31.08.2009, 12:08     Titel:
  Antworten mit Zitat      
Dann schau dir an, wie das in den authoryear-Stilen gelöst ist. In der bbx wird das Makro 'year+labelyear' verwendet um die Jahreszahl in Klammern hinter dem Autoren-/Herausgebernamen aufzuführen. Außerdem werden die bibmacros, die ansonsten das Jahr ausgeben (z.B. 'location+year') so abgeändert, dass sie eben kein Jahr ausgeben. Daneben wird noch die Option 'labelyear' auf 'true' gesetzt.

In der cbx-Datei wird das bibmacro 'cite:year+labelyear' definiert, dass eben nicht in Klammern ausgegeben wird.

Vielleicht hilft dir das, damit du deine Dateien entsprechend anpassen kannst.

Gruß,
Dominik.-
_________________

goLaTeX-Knigge | Minimalbeispiel | FAQs etc.
biblatex-Doku auf Deutsch
biblatex-Stile | »Bibliographien erstellen mit biblatex« (DTK-Artikel)
Private Nachricht senden Benutzer-Profile anzeigen

baumbaron
Forum-Newbie
Forum-Newbie

Beiträge: 5
Anmeldedatum: 26.08.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.08.2009, 12:24     Titel:
  Antworten mit Zitat      
Vielen Dank,

ich habe jetzt wie vorgeschlagen die Klammersetzung im Literaturverzeichnis via

Code

\DeclareBibliographyDriver{book}
...
  \printtext[parens]{\printfield{year}\printfield{labelyear}}
...
 


und als Zitationstil authoryear verwandt - so funktioniert es reibungslos.

Mir war nur die ganze Zeit unklar, dass Veraenderungen in der .bbx via DeclareFieldFormat

Code

<***.bbx>
...
\DeclareFieldFormat[book]{year}{\mkbibparens{#1}}
...
 


auch auf die Ausgabe der Textzitate (d.h. aud die .cbx) Einfluss haben.

Aber so geht es nun ganz wunderbar.

Vielen Dank!

Eine schoene Woche,
Martin
Private Nachricht senden Benutzer-Profile anzeigen

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de


  Datenschutzerklärung | Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2019 goLaTeX.de