PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Biblatex alphabetic und vierstellige Jahreszahlen



fiore307
25-01-2010, 15:14
Hallo!

Ich nutze Biblatex und bisher den Stil alphabetic. Damit wird ein Zitat im Stil

[Aut10]
angezeigt. Da ich aber auch einige ältere Quellen zitiere möchte ich gerne die Jahreszahl vierstellig anzeigen lassen, aber im Gegensatz zum authoryear-Style möchte ich trotzdem gerne weiterhin den Namen abkürzen und die eckigen Klammern verwenden. Also z.B. so:

[Aut2010]

Geht das und wenn ja wie? Welche Datei muss ich dafür ggf. ändern?

Vielen Dank!
fiore

lockstep
25-01-2010, 19:27
Ich kann dir keine wirkliche Lösung anbieten, allerdings einen üblen, auch von deiner Seite mit Aufwand verbundenen Hack.

Die wirkliche Lösung wäre eine Umdefinition des biblatex-Feldes labelalpha, das (gemeinsam mit extraalpha) für das Aussehen der "alphabetischen Zitate" [Aut10] verantwortlich ist und von biblatex automatisch erzeugt wird. Der Jahreszahl-Teil wird dabei gemäß S. 103 des biblatex-Handbuchs aus den (erraten) letzten zwei Ziffern der tatsächlichen Jahreszahl erstellt; eine Möglichkeit, dies anders zu konfigurieren, ist offenbar nicht vorgesehen. Das entsprechende biblatex-Makro umzuprogrammieren übersteigt jedenfalls meine Fähigkeiten.

Allerdings: Es ist möglich, den (ebenfalls automatisch erzeugten) Autoren-Teil von [Aut10] abzuändern, nämlich durch Angabe des Feldes label in der bib-Datei (biblatex-Handbuch, S. 103). Dies führt direkt zum üblen Hack: Ergänze dieses Feld für jeden Eintrag in der bib-Datei, und zwar mit dem gewünschten Autoren-Teil plus den beiden ersten Ziffern der Jahreszahl. Minimalbeispiel:



\documentclass{article}

\usepackage[latin9]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage[style=alphabetic]{biblatex}
\usepackage{csquotes}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{Fri1996,
label = {Fri19},
author = {Friedman, David D.},
year = 1996,
title = {Hidden order},
}
@misc{Fri2000,
label = {Fri20},
author = {Friedman, David D.},
year = 2000,
title = {Law's order},
}
\end{filecontents}

\bibliography{\jobname}

\begin{document}

\section{Ein Abschnitt}

Ein bißchen Text \autocite{Fri1996,Fri2000}.

\printbibliography

\end{document}


Beachte auch, dass die Sortierung durch Angabe des Feldes label korrigiert wird (Fri1996 vor Fri2000).

Abschließend sei nochmals betont, dass dies keine wirkliche Lösung ist.

lockstep

lockstep
25-01-2010, 19:36
Nachtrag: Mit dem Feld shorthand lassen sich Dinge wie [Aut2010] zur Gänze händisch erzeugen. Soweit ich sehe, ist das allerdings a) noch mehr Tipparbeit und b) fehleranfällig, wenn ein Autor mehrere Werke im gleichen Jahr verfasst hat.

lockstep

mechanicus
25-01-2010, 22:40
Geht das und wenn ja wie? Welche Datei muss ich dafür ggf. ändern?
kopiere dir die Datei biblatex.bst in dein Arbeitsverzeichnis und ändere dei Function makelabel:alpha:year (ZEILE: 1811ff) wie folgt ab:


FUNCTION {makelabel:alpha:year} {
date.year normalize
#1 #4 substring$
#1 #4 substring$
}

Gruß
Marco

lockstep
25-01-2010, 22:45
Gratulation zum Finden der tatsächlichen Lösung! :D

(Note to self: biblatex.bst gibt's auch noch ...)

lockstep

mechanicus
25-01-2010, 23:28
Gratulation zum Finden der tatsächlichen Lösung! :D
das war auch wirklich nur ein finden :p:D:D

Gruß
Marco

fiore307
26-01-2010, 10:13
Vielen Dank für die tolle und schnelle Hilfe!

sp00l
14-09-2010, 23:04
Hi Leute,

bin jetzt nach einigen Wochen Beschäftigung mit dem Thema bei Biblatex gelandet, und hatte mich bissl gefreut das ich bei jeglichen Umkonfigurierungen nicht diese komische .bst Datei ändern muss :).

Mein Änderungswunsch trifft fast das Thema dieses Threads, deswegen mach ichs hier mal rein.

Ich hätt gern 4stellige Autorennamen, anstatt 3stellig wie es jetzt aussieht.

Ist dies auch mit einer kleinen Änderung in der biblatex.bst getan?

Simulant
05-11-2012, 00:30
Da würde ich mich doch glatt anschließen. Ich würde gern den Nachnahmen des ersten Autors voll und Kapitälchen, dann ein Komma+Leerzeichen und das Jahr vierstellig haben -> [MEIER, 1999] hat da jemand einen Tipp???

Danke und beste Grüße

Simulant
05-11-2012, 19:32
Noch eine Frage zur Rambo-Lösung: Wenn ich mit label arbeiten wollte, wie kann ich das Textformat für label ansprechen? Ich hätte gern Kapitälchen. \mkbibnamefirst und \mkbibnamelast habe ich gefunden. Gibt es sowas auch für label???

u_fischer
05-11-2012, 19:36
Noch eine Frage zur Rambo-Lösung: Wenn ich mit label arbeiten wollte, wie kann ich das Textformat für label ansprechen? Ich hätte gern Kapitälchen. \mkbibnamefirst und \mkbibnamelast habe ich gefunden. Gibt es sowas auch für label???

Ich habe keine Ahnung, was du meinst. Aber ich würde nicht einen zwei Jahre alten Thread/Code als Basis für irgendein Problem mit biblatex nehmen. Das Paket hat sich nämlich weiterentwickelt, und z.B. vierstellige Jahreszahlen sind kein Problem, siehe z.B. den apa-Stil.