PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Neuen entrytype in biblatex definieren für Historiker - wie?



Gotthard
16-03-2010, 11:46
Hi zusammen,

langsam wage ich mich an die große Komplikation (und das als Historiker...) ;)

Ich verwende miktex, biblatex, biblatex-dw, texniccenter und windows.

Ich nerve mich seit längerem mit Citavi, mit dem ich arbeite, aber auch bei JabRef, das ich mir angeschaut habe, da ich "nicht einfach so" einen neuen entrytype definieren kann.

Da ich die Jahre seit 1880 in meiner Arbeit betrachte, bestehen in meiner Literaturdatenbank auch viele Protokolle, Aktennotizen etc.

Ich möchte jetzt für diese Quellen neue entrytypes definieren - ist das überhaupt sinnvoll oder gibt es Alternativen?

Ich sehe vor, z.B. für Protokoll den neuen entrytype @journal zu definieren, da es selten einen Autor gibt, ich also auch nicht davon ausgehen kann, dass zwei Protokolle zweiter unterschiedlicher Unternehmen von "demselben" Nicht-Autor geschrieben wurden.
Im Klartext: Wenn ich keinen Autor angebe, dann zitiert mir biblatex-dw mit dem style authortitle, wenn zwei Protokolle ohne Autor sich in den Fußnoten folgen ein "ders.", was natürlich nicht stimmt, weil das ja wohl kaum die gleichen Autoren waren...

Wichtig ist: In der Fußnote soll es so aussehen: [Fußnotennummer, vgl.] Mannesmann-Archiv, Bestand Vorstandsprotokolle C19, Protokoll der Vorstandssitzung vom 19.12.1959.

diesen entrytype würde ich im File biblatex.bst so definieren wollen:


@journal{entrytypejournal,
title = {Protokolltitel(hier: Protokoll der Vorstandssitzung)},
archive = {Archiv(hier: Mannesmann-Archiv)},
shelfmark = {Bestand(hier: Vorstandsprotokolle)},
signatur = {Signatur (hier: C19)},
note = {Beliebige Notizen zum Dokument},
keywords = {Quelle},
date = {Datum (hier:19.12.1959)},
visibility = {public}
}

Ich bin sicher nicht der absolute Fachmann, dass seht ihr, aber ich möchte das gerne so definiert umsetzen können.

Das keyword "Quelle" soll zusätzlich die Funktion "auslösen", dass zwar die Fußnote wie oben ausschaut, im Literatur- und Quellenverzeichnis jedoch nur unter den untersuchten Archiven unter Mannesmann-Archiv der Bestand "Vorstandsprotokolle" erscheint. Wie kann ich das definieren und wo?

Kann mir dann noch jemand verraten, wie ich den entrytype in JabRef oder in Citavi so ändern kann?

tral
16-03-2010, 11:53
Kann mir dann noch jemand verraten, wie ich den entrytype in JabRef oder in Citavi so ändern kann?

Jabref: "Optionen/Eintragstypen anpassen". Und dort links unten "Hinzufügen"...

Christian.

Gotthard
16-03-2010, 12:18
Hi Christian,

dann kann ich mir also die ganze Änderei in bibtex.bst damit sparen? Denkst Du, das funktioniert dann z.B. mit @journal, wie ich das vorhabe?

Danke übrigens!

Roman

bobmalaria
16-03-2010, 12:59
hi,

ich glaube du vermischt da ein bisschen was. du kannst in jabref jeden noch so beliebigen eintragstyp definieren.

das bedeutet aber nicht zeitgleich, dass biblatex damit umgehen kann. jabref ist nur eine verwaltungssoftware und kann keine informationen in biblatex einpflegen.

willst du eigene typen erstellen, kannst du in der biblatex doku schauen ob es einen eintragstyp gibt den du bisher nicht verwendest und den du umdefinieren kannst, oder du erstellst eineen ganz neuen eintragstyp und nimmst einen vorhandenen als vorlage.

in der biblatex.bst solltest du nicht herumpfuschen. einen neuen eintrag kannst du in einer kopie die in deinem arbeitsverzeichnis liegt erstellen.
Sowas wie


FUNCTION {phdthesis} { "thesis" output:entry }

kannst du dann, denke ich, umwandeln


FUNCTION {altertext} { "SteinaltesProtokoll" output:entry }

dein namesproblem kannst du dann lösen, indem du das makro umdefinierst das kontrolliert ob ein autor gegeben ist oder nicht.

hoffe das hilft so ein wenig

Gotthard
16-03-2010, 13:07
@ bob:

Das, was Du über JabRef geschrieben hast, habe ich begriffen.

Den Rest habe ich nicht begriffen. Was ist mein Arbeitsverzeichnis? Etwa der "Text" meiner Doktorarbeit?

Kannst Du das etwas genauer erläutern?

Und warum soll ich nicht in biblatex.bst nicht "rumpfuschen"? Das steht sogar hier: http://philosci24.unibe.ch/mediawiki/index.php/Biblatex. Klingt wie ein schottisches Kochbuch: Man leihe sich den und den Stil ;) und pflege das Ganze dann ein. Bitte nicht als Kritik sehen!

Ich möchte halt einen Stil wie oben beschrieben. Ich habe jetzt in JabRef für "Protocol" (habe ich mal so "definiert") einfach institution (für das Archiv), location (für den Bestand) und key (für die Signatur) genommen. Dazu noch das year für das Datum, das ist doch legitim?
Aber wahrscheinlich denke ich mal wieder nicht über meinen Tellerrand hinaus :D

bobmalaria
16-03-2010, 13:33
hi,

wenn du einen neuen eintragstyp hinzufügen willst, dann musst du die function in biblatex.bst erweitern. also einen eintrag der liste hinzufügen die so aussieht wie in meinem letzten posting. danach kannst du den bibliographydriver für diesen eintrag schreiben und dann kann er verwendet werden.

@journal besteht natürlich schon und kann nicht neu erstellt werden.

willst du aber einen typ haben @altertext, dann musst du in der biblatex.bst den eintrag

FUNCTION {altertext} { "SteinaltesProtokoll" output:entry } hinzufügen. eine liste vieler solcher functions ist schon in biblatex.bst vorhanden. man kann also einen eintrag einfach kopieren und abändern

anschließend musst du über

\DeclareBibliographyDriver{altertext}{
..code..
}

definieren was denn in diesem eintragstyp vorkommen soll. dazu kannst du dich an der definition wie z.b. @article orientieren der in der stadard.bbx definiert ist.

so habe ich das zumindest verstanden. du kanns tauch immer einen typ als alias eines anderen definieren. dann kannst du für den alias-typ aber keinen eigenen driver schreiben. berichtigt mich wenn ich falsch liege :)

Gotthard
16-03-2010, 14:05
Hi Bob,

also, was ich in biblatex.bst ändern muss, habe ich begriffen. Was mache ich dabei eigentlich ganz genau mit diesen neuen Einträgen?

Wo muss ich diesen Befehl genau eingeben:

\DeclareBibliographyDriver{altertext}{
..code..
}
und was bewirke ich damit?

Ich würde dann also eingeben:

\DeclareBibliographyDriver{altertext}{title,archiv e,shelfmark,signature,note, keywords, date}

Wahrscheinlich denke ich mal wieder viel zu einfach...

bobmalaria
16-03-2010, 14:22
hi,

mit dem eintrag der function sagst du biblatex: es gibt einen eintragstyp der mit @function aufgerufen werden kann.

leider weiss biblatex jettz aber gar nicht wie einträge damit fomatiert werden sollen. deshalb muss man definitionen vornehmen, so wie das in dem link von dir auch gemacht wird.


\DeclareBibliographyDriver{altertext}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/editor}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{maintitle+title}%
\newunit\newblock
\usebibmacro{repository}%
\newunit\newblock
\usebibmacro{link+date}%
\usebibmacro{finentry}}

es werden der reihe nach \bibmacros aufgerufen. idealerweise sind diese natürlich schon alle definiert.
deshalb habe ich ja gemeint, dass du dir als ersten ansatz mal die definition von article kopiert. die definition ist in der standard.bbx im ordner ../tex/latex/biblatex/bbx zu finden


\DeclareBibliographyDriver{altertext}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/editor}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{title}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{byeditor+others}%
\newunit\newblock
\printfield{version}%
\newunit\newblock
\usebibmacro{in:}%
\usebibmacro{journal+issuetitle}%
\newunit\newblock
\printfield{note}%
\setunit{\bibpagespunct}%
\printfield{pages}
\newunit\newblock
\printfield{issn}%
\newunit\newblock
\printfield{doi}%
\newunit\newblock
\usebibmacro{eprint}
\newunit\newblock
\usebibmacro{url+urldate}%
\newunit\newblock
\printfield{addendum}%
\newunit\newblock
\usebibmacro{pageref}%
\usebibmacro{finentry}}

wie das ganze dann zitiert wird, ist dann auch noch festzulegen, im cbx ordner sind die entsprechenden dinge dafür. du kannst dir ja mal auf dieser seite die tutorials (http://biblatex.dominik-wassenhoven.de/) durchlesen

Gotthard
16-03-2010, 15:06
Hi,

also, soweit hab ich das einigermaßen kapiert.

Ein paar Fragen:

Wie mache ich standard.bbx einigermaßen lesbar? Mit dem "editor" finde ich das furchtbar. Bis jetzt habe ich es immer in word kopiert *würg*, weil es für mich da besser lesbar war, fast wie ein Rezept.

Was ein Macro ist, musste ich jetzt erstmal nachschlagen. Okay, auch das hätten wir.

Die bbx-files von Dominik habe ich mir angeschaut, aber das sind files von einem Althistoriker. Ich brauche ein paar andere, die ich mir zusammenschustern will.

Die Tutorials von ihm habe ich gelesen, helfen mir aber nur bedingt. s.o.

In welcher Datei muss ich "meine" neuen entrytypen definieren? Auch in standard.bbx?

Ich mache übrigens immer sofort eine Versionsgeschichte in die bbx-Dateien etc., damit ich genau weiß, was ich wann geändert habe. Halte ich für sinnvoll

lockstep
16-03-2010, 18:06
In welcher Datei muss ich "meine" neuen entrytypen definieren? Auch in standard.bbx?

Ich mache übrigens immer sofort eine Versionsgeschichte in die bbx-Dateien etc., damit ich genau weiß, was ich wann geändert habe. Halte ich für sinnvoll

Änderungen von Paketdateien sind fast nie eine gute Idee. Trag deine Modifikationen (incl. \DeclareBibliographyDriver) stattdessen in die Datei biblatex.cfg ein, die beim Laden von biblatex eingelesen wird. (Diese Datei ist im Paket biblatex ebenfalls enthalten - leer bis auf die Einladung, Änderungen vorzunehmen.)

lockstep

Gotthard
16-03-2010, 21:05
@lockstep:

Gute Idee!!

Und dann "einfach so", wie es bobmalaria geschrieben hat? Wäre für Hilfe sehr, sehr dankbar. Hast Du eine Ahnung, wie ich meinen entrytype "protocol" definieren kann? Und wo genau muss ich in biblatex.cfg tippen?

Weißt Du, wie ich das leserlicher darstellen kann, ich meine, damit ich dieses biblatex.cfg besser lesen kann?

lockstep
16-03-2010, 21:48
Und dann "einfach so", wie es bobmalaria geschrieben hat? Wäre für Hilfe sehr, sehr dankbar.

bobmalarias Beschreibung passt recht gut. Ich würde eventuell vorerst darauf verzichten, in einer Kopie von biblatex.bst herumzuhacken, um Typen wie "altertext" zu definieren - stattdessen kannst du mit den Typen customa bis customf arbeiten, die in den biblatex-Standardstilen nicht definiert sind (dafür braucht es \DeclareBibliographyDriver), aber von biblatex erkannt werden, wenn du sie definierst.


Hast Du eine Ahnung, wie ich meinen entrytype "protocol" definieren kann?

Auch hier wieder: Siehe bobmalaria. Such dir dabei den Driver, der mit deinem neuen Typ (altertext/customa) am ehesten "verwandt" ist, kopier ihn nach biblatex.cfg, benenn ihn um und führ die notwendigen Änderungen durch. Wenn du nicht sicher bist, was ein bestimmtes bibmacro tut, dieses Makro aber in (fast) allen Typen vorkommt, übernimm es.


Und wo genau muss ich in biblatex.cfg tippen?

Zwischen \ProvidesFile und \endinput. ;)


Weißt Du, wie ich das leserlicher darstellen kann, ich meine, damit ich dieses biblatex.cfg besser lesen kann?

Verwende einen Editor, der Syntax-Hervorhebung für Latex beherrscht. Das Mindeste ist Unterscheidung von "normalem" Text, Befehlen und Kommentaren; gute (bzw. gut konfigurierte) Editoren können weit mehr als das.

lockstep

Gotthard
17-03-2010, 07:22
Bis auf den Editor habe ich alles begriffen. Was ist ein Editor, der das, was Du an Kriterien aufgelistet hast, kann? Wo bekomme ich den ggf?

Mal ne ganz dämliche Frage: Ich kann doch meinen neuen entrytypen nennen, wie ich will, oder?

Noch was: Wie definiere ich, dass zwar eine Fußnote angelegt wird, im Quellenverzeichnis jedoch nur das Archiv und der Bestand erscheint?

lockstep
18-03-2010, 01:15
Bis auf den Editor habe ich alles begriffen. Was ist ein Editor, der das, was Du an Kriterien aufgelistet hast, kann? Wo bekomme ich den ggf?

TeXnicCenter ist so ein Editor. :) Ich selbst verwende TeXworks (minimalistisch), andere schwören auf Emacs (mächtig).


Mal ne ganz dämliche Frage: Ich kann doch meinen neuen entrytypen nennen, wie ich will, oder?

Ja. "customa" hat bloß den Vorteil, dass du dir vorerst das Herumhacken in einer Kopie von biblatex.bst ersparst.


Noch was: Wie definiere ich, dass zwar eine Fußnote angelegt wird, im Quellenverzeichnis jedoch nur das Archiv und der Bestand erscheint?

Bitte erkläre anhand eines konkreten Beispiels, wie der Fußnotentext und der Text im Literaturverzeichnis aussehen sollen. (Habe mir deinen Ursprungspost angesehen, werde aber nicht wirklich schlau daraus.)

lockstep

Gotthard
18-03-2010, 09:06
Hi,

also, konkret: Ich habe eine Akte, die im Mannesmann-Archiv liegt. Dort gibt es sogenannte "Aktenbestände", die man verkürzt "Bestand" nennt. In einem Bestand gibt es entweder Ordner oder Aktenschachteln, die mit "Signaturen" bezeichnet sind, damit man sie leichter findet. In diesem Ordner oder in dieser Schachtel liegt dann die betreffende Akte, die ich zitiere. In diesem konkreten Fall ein Vorstandsprotokoll vom 19. Dezember 1959. Dafür möchte ich sehr gerne, dass der entrytype "protocol" heißt (ganz einfach, weil das weniger Hirnkapa braucht :).

Konkret muss eine Fußnote für eine Akte so aussehen:

\footnote{Vgl. \cite{Archiv, Bestand Signatur, Akte.}

Klar ist, dass ich das "Vgl." manuell einfüge, genau wie den Punkt (Ich weiß, dass ich den Punkt auch automatisch einfügen kann, aber wenn ich gewisse Seitenangaben mache, muss ich ihn dann doch manuell einfügen und da wähle ich einfach das manuelle Einfügen). Den Bestand und die Signatur möchte ich getrennt eingeben (s.o.), dazwischen muss eine Leerstelle sein, aber kein Komma. Bei mir würde die Fußnote dann im PDF so aussehen:

Vgl. Mannesmann-Archiv, Vorstandsprotokolle C19, Vorstandsprotokoll vom 19.12.1959.

Was ich nicht brauche, ist ein Autor, da das meist nicht ersichtlich ist.

Im Quellenverzeichnis (und nicht im Literaturverzeichnis, das ist etwas ganz anderes) im Anhang soll dann lediglich das Archiv und der Bestand aufscheinen, NICHT aber die Signatur oder gar die einzelne Akte (Das will dort kein Mensch sehen).

Im Quellenverzeichnis im Anhang sollte stehen:

Quellen:

Unveröffentlichte Quellen:

Archiv A
Bestand a
Bestand b
Bestand c
etc...

Archiv B
Bestand a
Bestand b
Bestand c
etc...

Mannesmann-Archiv
Bestand a
Bestand b
Bestand Vorstandsprotokolle

Konkret heißt das: Jedesmal, wenn ich ein oder mehrere Male eine Akte oder mehrere Akten aus einem Bestand aus einem Archiv zitiere, muss dieser Bestand, aus dem ich die Akte "entnommen" habe, hinten im Quellenverzeichnis erscheinen.

Ich hoffe, das war jetzt konkret genug. In Word *würg*, mit dem ich meine Magisterarbeit geschrieben habe, habe ich einfach die Fußnoten von Hand eingetippt, ohne JabRef oder Citavi und dann hinten im Quellenverzeichnis von Hand die verwendeten Bestände eingetippt. Aber das möchte ich jetzt nicht, denn sonst bräuchte ich ja den ganzen Aufwand gar nicht.

Noch was (wenn ich so frech sein darf):

Ich habe nicht nur Protokolle, sondern auch Briefe, Aktennotizen und Aktenvermerke, für die ich gerne auch entrytypen definieren möchte, also z.B. "letter" für Brief, "noteforthefile" für Aktenvermerk und "memo" für Aktennotizen und Memoranda.

Für das Quellenverzeichnis gilt das Gleiche wie oben, im QV soll dann also auch nur der Bestand aufgelistet werden.

Die Fußnoten müssen so ausschauen (analog zu oben):

Für Briefe:

Vgl. Mannesmann-Archiv, Vorstandsprotokolle C19, Brief Müller an Meier, 19.12.1959.

Für Aktenvermerke und -notizen:

Vgl. Mannesmann-Archiv, Vorstandsprotokolle C19, Aktenvermerk/-notiz Müllers vom 19.12.1959.

Ich hoffe, das war einigermaßen verständlich?

Ich gehe aber davon aus, dass ich die letzten drei entrytypen vielleicht auch alleine probieren möchte zu definieren, aber wäre froh, wenn ich nochmal fragen dürfte.

Wenn Du mir helfen könntest, wäre das sehr freundlich.

Roman

lockstep
18-03-2010, 18:35
Okay, jetzt sehe ich klarer - was nicht heißt, dass meine biblatex-Hack-Kentnisse so weit reichen. Außerdem hatte ich mittlerweile den Verdacht, dass dieses Rad schon erfunden wurde.

Auf CTAN ist der Stil biblatex-historian (http://www.ctan.org/tex-archive/help/Catalogue/entries/biblatex-historian.html) verfügbar. Nachteil: Er ist (vorerst?) nur mit biblatex v0.8 kompatibel (dazu später). Vorteil: Die auf S. 21f der Doku beschriebenen neuen Typten "customa" (;)) (für "archive") und "customd" (für "document") dürften deinen Anforderungen für Aktenbestände und einzelne Akte ziemlich nahe kommen. Sieh dir diesen Stil bitte genauer an und überprüfe, ob ich Recht habe.

Falls ja, solltest du den Autor (Sander Gliboff) kontaktieren und anfragen, ob und wann er eine Aktualisierung seines Stils auf biblatex v0.9 plant. Mit ein bisschen Glück ist er schon an der Arbeit (andere Stile wie biblatex-dw wurden vor kurzem aktualisiert). Wenn der Autor seinen Stil aufgegeben hat, kann man diesen Stil immer noch als Muster für Änderungen/Ergänzungen in einem eigenen "neuen" Stil verwenden.

Zu den anderen von dir gewünschten Typen: "letter" gibt es ebenfalls in biblatex-historian (siehe S. 17f der Doku), und der Rest lässt sich hoffentlich durch "document" abdecken. Wie gesagt, überprüfe zunächst, ob Gliboffs Stil deine Probleme (größtenteils) lösen kann.

lockstep

Gotthard
19-03-2010, 10:50
Hi Lockstep,

das hört sich schon sehr, sehr gut an. Ich werde - Markenzeichen alter Sturschädel wie ich bin - die entrytypen einfach umbenennen, muss dann halt auch die macros umbenennen, geht aber.

Vorerst sollte das geklärt sein. Danke!

lockstep
25-04-2010, 12:41
biblatex-historian liegt nunmehr in einer aktualisierten (http://groups.google.com/group/comp.text.tex/browse_thread/thread/c4f73668a9309efa#), mit biblatex v0.9 kompatiblen Fassung vor.

lockstep