PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : BST Datei ändern



roadrunner87
23-08-2012, 10:50
Hallo alle zusammen,
mir gefallen die von bibtex definierten Kürzel für mein Literaturverzeichnis nicht.
Hier werden ab und zu "seltsame" Kürzel definiert und geschrieben.
Ich würde gerne in der bst Datei ein weiteres Attribut definieren, mit dem ich selbst ein Label definieren kann.

Bspw so:


@booklet{the_eclipse_foundation_textual,
title = {Textual Modeling Framework {(TMF)} proposal},
url = {http://www.eclipse.org/proposals/tmf/},
journal = {Textual Modeling Framework {(TMF)} proposal},
author = {{The Eclipse Foundation}},
lastchecked = {07.08.2012},
label = {TMF}
}



Finde mich aber momentan nicht wirklich im bst-File zurecht.
Ich nutze alphadin.

Kann mir da jemand helfen?

bobmalaria
23-08-2012, 11:26
hi,

du kannst mal schauen ob alphadin sowas wie 'shorthand' unterstuetzt. ich vermute aber nicht. ein kurzer blick in alphadin.bst erhaertet meine vermutung.

wenn es eine option fuer dich sein sollte, dann koenntest du den umstieg auf biblatex durchziehen. dort gibt es das 'shorthand' feld mit dem man beliebige eigene abkuerungen definieren kann.

auch das sonstige aussehen von alphadin sollte man recht schnell nachbauen koennen.

biblatex hat den vorteil, dass du volle kontrolle ueber das aussehen des verzeichnises und der zitate hast - und zwar mit LaTeX kommandos und nicht mit der stack-language von bst-stilen.

den umstieg wuerde ich empfehlen wenn noch genung zeit bis zur abgabe ist (fuer dan fall das es sich hier um eine arbeit mit deadline handelt). viele sagen biblatex ist super einfach, aber der teufel kann manchmal sehr im detail stecken. allerdings habe ich bisher immer alles hinbekommen was ich selbst benoetigst habe.

gruss

roadrunner87
23-08-2012, 11:50
Danke für die schnelle Antwort.
Ich habe nur noch vier Tage für die Abgabe. Daher würde ich ungerne noch etwas verändern.
Kann ich nicht "einfach" im bst-File die zusätzliche Option hinzufügen und diesen Stiel als myalphadin.bst bereitstellen?

bobmalaria
23-08-2012, 13:58
hi,

also ich kann es zumindest nicht.
du kannst dir hier (http://www.google.co.uk/url?sa=t&rct=j&q=btxhak&source=web&cd=2&cad=rja&ved=0CEYQFjAB&url=http%3A%2F%2Fmirror.ctan.org%2Fbiblio%2Fbibtex %2Fbase%2Fbtxhak.pdf&ei=zxk2UL3lAcqX0QX0vYCABg&usg=AFQjCNH3p-OnfL68Pc81U4hlIouFrtEkKw) mal durchlesen wie die stile funktionieren.

ich glaube man nennt den aufbau der sprache der stildateien "umgekehrte polnische notation"

du schreibst also beispielsweise nicht 3 + 5 sondern 3 5 +

wenn du damit erfahrung hast kannst du sicher was basteln. wenn nicht wird es eventuell schwer. ich glaube hier sind wenige unterwegs die gut bibtex stile hacken koennen.

eventuell kannst du auf tex.stackexchange (http://tex.stackexchange.com/) dein glueck versuchen da dort sehr viele entwickler unterwegs sind.

gruss

rais
23-08-2012, 14:58
Moin moin,


Kann ich nicht "einfach" im bst-File die zusätzliche Option hinzufügen und diesen Stiel als myalphadin.bst bereitstellen?
der Witz ist, es gibt bereits ein Eintragsfeld dafür: key -- allerdings wird dieser nicht ausgewertet, sobald author oder editor gegeben ist.
Für @booklet kannst Du in Deiner myalphadin.bst


FUNCTION {author.editor.key.label}
{ author empty$
{ editor empty$
{ key empty$
{ cite$ #1 #3 substring$ }
{ key #3 text.prefix$ }
if$
}
{ editor format.lab.names }
if$
}
{ author format.lab.names }
if$
}

in


FUNCTION {author.editor.key.label}
{ key empty$
{ author empty$
{ editor empty$
{ cite$ #1 #3 substring$ } %%% weder Key noch author noch editor
{ editor format.lab.names } %%% kein key/author, aber editor
if$
}
{ author format.lab.names } %%% kein key, aber author
if$
}
{ key #3 text.prefix$ } %%% key gegeben
if$
}

ändern, dann hat das Feld `key' Vorrang. Für andere Eintragstypen müsstest Du die entsprechenden Funktionen analog anpassen, so Du das nicht nur für booklet (, book und inbook) brauchst.


\documentclass{article}
\usepackage{url}
\usepackage{filecontents}

\begin{filecontents}{lit.bib}
@booklet{foo,
title = {Textual Modeling Framework {(TMF)} proposal},
url = {http://www.eclipse.org/proposals/tmf/},
journal = {Textual Modeling Framework {(TMF)} proposal},
author = {{The Eclipse Foundation}},
lastchecked = {07.08.2012},
key = {TMF}
}
\end{filecontents}
\begin{document}
\cite{foo}
\bibliographystyle{myalphadin}
\bibliography{lit}
\end{document}

Theoretisch auch mit `label' möglich, diesen müsstest Du dann zusätzlich im ersten Argument zu `ENTRY' ergänzen.

MfG

roadrunner87
23-08-2012, 16:57
Danke,
das hilft und funktioniert

UlliLustig
16-03-2013, 06:45
Hallo, ich häng mich mal hier ran, weil meine Frage in die ähnliche Richtung geht.
Ich nutze unsrt.bst, das einzige was mir nicht passt ist, dass alle Autoren ausgegeben werden und ich das gern auf die ersten 3 Autoren beschneiden will. Kann mir jemand einen Hinweis geben, welche Stellen in der bst ich ändern kann?

Danke