PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : makebst: urldate und Verlagsort fehlen



Georg
20-05-2009, 00:13
Hallo,

ich habe jetzt einige Male den makebst Dialog durchgespielt, aber ich weiß nicht, wie ich diese zwei Dinge ändere:


urldate (zuletzt aufgerufen) wird nicht angezeigt
Bei einem Eintrag aus einem Sammelband (Incollection) wird der Verlagsort nicht angegeben.


Kann ich das irgendwie ergänzen?

In der bib file steht einfach:
urldate = {18.05.2009},

Das müsste doch passen. :confused:

mechanicus
20-05-2009, 02:16
Hallo,
da deine Informationen etwas dürftig sind, schlage ich vor, du probierst mal lastchecked. Alternativ empfehle ich dir das Paket biblatex.

Gruß
Marco

Georg
20-05-2009, 04:00
Also, wenn ich
lastchecked = {18.05.2009},
schreibe, erscheint das Datum des letzten Aufrufs dennoch nicht im Literaturverzeichnis. Meinst du, dass ich das Paket biblatex anstelle des mit makebst erstellten styles verwende? Irgendwie muss man das Datum doch auch bei makebst ins Verzeichnis hineinbekommen. :confused:

Xanth
21-05-2009, 23:53
Hallo Georg,

habe mich selber gerade mit makebst und urldate herumgeschlagen.
Die einzige Lösung, die ich gefunden habe besteht darin, die von makebst erhaltene .bst Datei zu editieren.
1. Ganz am Anfang der Datei bei
ENTRY
{ address
...
year
}

Hier muss alphabetisch eingeordnet urldate hinzugefügt werden.

2. Definiere ich mir eine Funktion, mit deren Hilfe man einstellt welcher Text
vor dem Datum (urldate) erscheinen soll. Also z.B. folgendes einfügen:

FUNCTION {url.comment}
{ ", Zugriff am " }

3. Muss noch die von makebst erzeugte Funktion zur Ausgabe der URL
modifiziert werden. Dies ist, je nachdem welche Einstellungen Du bei
makebst verwendet hast, eine der drei folgenden:

FUNCTION {format.url} oder
FUNCTION {write.url} oder
FUNCTION {format.note}

Ich mach das mal am Beispiel der erstgenannten. Die von makebst
erhaltene Funktion sah bei mir so aus:

FUNCTION {format.url}
{ url empty$
{ "" }
{ "\urlprefix\url{" url * "}" * }
if$
}

Daraus habe ich dann dieses gemacht.

FUNCTION {format.url}
{ url empty$
{ skip$ }
{ urldate empty$
{ "\url{" url * "}" * write$ newline$ }
{ "\url{" url * "}" * url.comment * urldate * "." * write$ newline$ }
if$
}
if$
}

\urlprefix habe ich weggelassen, da ich das fett gedruckte URL vor der
Adresse nicht so schön fand.
Warum bei Dir kein Verlagsort ausgegeben wird weiß ich leider auch nicht.

hth, Gruß
Xanth

Georg
22-05-2009, 11:19
Das ist ja eine tolle Nachricht. :)
Bei mir steht: format.note
und folgendes:


FUNCTION {format.note}
{
note empty$
{ "" }
{ note #1 #1 substring$
duplicate$ "{" =
'skip$
{ output.state mid.sentence =
{ "l" }
{ "u" }
if$
change.case$
}
if$
note #2 global.max$ substring$ * "note" bibinfo.check
}
if$
}

Mal schauen , ob ich Dein format.url Beispiel anspassen kann.

P.S.: Das mit dem Verlagsort ist mir eher peinlich. Citavi hat ihn nicht ausgegeben und darum stand er gar nicht in der bib file. Wenn er drin steht, klappts natürlich :o

Georg
22-05-2009, 11:29
Ich hab das drausgemacht

FUNCTION {format.note}
{
note empty$
{ skip$ }
{ urldate empty$
{ "\url{" url * "}" * write$ newline$ }
{ "\url{" url * "}" * url.comment * urldate * "." * write$ newline$ }
if$
}
if$
}
und es hat nicht geklappt.

Ich habe von dem Zeug aber auch wirklich gar keine Ahnung und weiß folglich nicht, was ich reinschreiben soll.
Wenn Du mir nochmal helfen kannst, wäre das toll.

Xanth
22-05-2009, 15:02
Hallo Georg,

die von mir angegebene Lösung ist, wie ich feststellen musste, leider nicht ganz sauber. Ich habe allerdings mittlerweile auch dafür eine Lösung.
Um Dir helfen zu können müsste ich konkret wissen ob Du bei makebst gewählt hast:
1. url as regular block item (ergibt FUNCTION {format.url}) oder
2. url as note (ergibt FUNCTION {format.note}) oder
3. url on newline after rest of entry (ergibt FUNCTION {write.url})?
Wichtig: FUNCTION {format.note} ist immer vorhanden und bei Deinem Lösungsansatz würdest Du in jedem Fall die Ausgabe anderer notes verhindern.
So wie die von Dir zuerst gepostete FUNCTION {format.note} aussieht würde ich mal behaupten, dass Du bei makebst nicht url as note gewählt hast.
Irgendwo in der von makebst erhaltenen .bst Datei müsste etwas wie ..."\urlprefix\url{" url * "}"... stehen (Gesetz den Fall, Du hast makebst angewiesen ein Feld für urls zu integrieren). Suche mal bitte danach und poste die ganze Funktion in der die Zeile enthalten ist.

Gruß,
Xanth

Georg
22-05-2009, 19:59
Ich habe "url on newline after rest of entry" gewählt:


FUNCTION {write.url}
{ url empty$
{ skip$ }
{ "\newline\urlprefix\url{" url * "}" * write$ newline$ }
if$
}

Kann ich an der Stelle auch gleich eingeben, dass ich die Schrift ein wenig kleiner möchte? Sowohl von dem Wort "URL" als auch von urldate und der URL selber? Dann wäre meine Bibliographie nahezu perfekt.

Xanth
22-05-2009, 22:44
Hallo Georg,

bau die Funktion jetzt mal so um.

FUNCTION {write.url}
{ url empty$
{ skip$ }
{ urldate empty$
{ "\newline\small\urlprefix\url{" url * "}" * "." * "\normalsize" * write$ newline$ }
{ "\newline\small\urlprefix\url{" url * "}" * url.comment * urldate * "." * "\normalsize" * write$ newline$ }
if$
}
if$
}

Natürlich muss Du auch jetzt den ENTRY urldate alphabetisch sortiert einfügen und die Fkt. url.comment erstellen.
Wichtig auch, das Du nach dem erstellen der .bst-Datei mit makebst und dem verschieben derselben in den entsprechenden bibtex\bst Ordner Deiner Distribution (also z.B. C:\Programme\MiKTeX 2.7\bibtex\bst) darauf achtest, daß Du die file name database refresht.
Zu guter letzt sollten die bibentrys jetzt natürlich auch urldate = {xx.xx.xxxx} lauten und nicht lastchecked = {xx.xx.xxxx}.

Jetzt sollte hoffentlich alles passen.

Gruß,
Xanth

Georg
23-05-2009, 00:25
JA! Es klappt!
Vielen Dank! Das ist echt toll :) :) :)

Charlie
15-08-2013, 13:51
Hallo zusammen,
eure Unterhaltung hat mir schon sehr geholfen. Bei meinen Quellen, die als webpage definiert sind, konnte ich durch folgende .bst-optimierung die urldates miteinfügen.

FUNCTION {url.comment}
{ ", Zugriff am " }

FUNCTION {format.url}
{ url empty$
{ skip$ }
{ urldate empty$
{ "\urlprefix\url{" url * "}" * }
{ "\urlprefix\url{" url * "}" * url.comment * urldate * "." * }
if$
}
if$
}

die "write$ newline$ " musste ich löschen, weil sonst die Reihenfolge von Titel und URL verkehrt herum gewesen wäre.

JETZT MEINE FRAGE: wie schaffe ich es das urldatum auch bei quellen anzeigen zu lassen, die nicht als webpage sondern beispielsweise als book definiert sind. ich weiß, es ist eigentlich total schwachsinnig bei book, booksections usw. eine url anzufügen, aber meine Professorin hätte es gerne so, wenn eine verfügbar ist.

kann man hierfür irgendwie über FUNKTION {book} in der .bst gehen, um dort urldate miteinzufügen? Oder habt ihr vielleicht eine andere Idee? Vielleicht auch andersherum, dass man Herausgeber und Ort als output für webpages hinzufügt?

das Ziel ist eine Darstellung wie folgende:
Statistisches Bundesamt (2012): Arbeitsmärkte im Wandel. Wiesbaden: Statistische Ämter des Bundes und der Länder, URL https://www.destatis.de/DE/Publikationen/ Thematisch/Arbeitsmarkt/Erwerbstaetige/Arbeitsmaerktewandel5130001099004.pdf? __blob=publicationFile, Zugriff am 03.07.2013.

Bisher wird mir allerdings entweder...

Statistisches Bundesamt (2012): Arbeitsmärkte im Wandel. Wiesbaden: Statistische Ämter des Bundes und der Länder, URL https://www.destatis.de/DE/Publikationen/ Thematisch/Arbeitsmarkt/Erwerbstaetige/Arbeitsmaerktewandel5130001099004.pdf? __blob=publicationFile.
---> als book definiert

... ODER ...

Statistisches Bundesamt (2012): Arbeitsmärkte im Wandel. URL https: //www.destatis.de/DE/Publikationen/Thematisch/Arbeitsmarkt/Erwerbstaetige/ Arbeitsmaerktewandel5130001099004.pdf?__blob=publi cationFile, Zugriff am 10.06.2013.
---> als webpage definiert

... angezeigt.