Seite 1 von 1
.bst-Datei verändern
Verfasst: Mi 20. Jul 2011, 22:31
von MBM1982
Hi!
Da ich nicht viel Ahnung vom Programmieren habe, wollte ich mal fragen, wie es möglich ist, an einer bestimmten Stelle einen Text in die .bst einzufügen.
Problem ist wie folgt:
munich.bst schreib am Ende immer die Kapitel wo zitiert wurde, ich möchte aber gerne etwas davor schreiben, wie "siehe Kapitel".
Zur Not habe ich nach ewigen probieren herausgefunden wie ich die Kapitel angaben entferne. Aber das soll die letzte Option sein.
Danke im voraus,
Martin
Verfasst: Do 21. Jul 2011, 09:01
von KOMA
BibTeX-Programmierung und
BibTeX-Hacking ist schon aufgrund der Notation alles andere als einfach. Das gilt ganz besonders für Leute, die noch nie programmiert haben. Aber auch ich bekomme jedes Mal einen Knoten im Hirn, wenn ich da mal ran muss. Außerdem mache ich das so selten, dass ich selbst auch immer wieder in der Doku (siehe Links oben) nachschlagen muss.
Um eine Ausgabe zu ändern oder zu ergänzen muss man im Prinzip die Funktion ausmachen, die für diese Ausgabe verantwortlich ist und diese Funktion dann ändern. Wobei ich munich.bst noch nie verwendet habe und aus der Doku, das was Du beschreibst nicht hervorgeht. Entsprechend habe ich auf Anhieb auch keine entsprechende Stelle in der bst-Datei finden können. Eventuell meinst Du etwas ganz anderes als ich den wenigen Worten entnehme. Leider fehlen mir jegliche Daten, um das irgendwie verifizieren zu können. Siehe dazu die erste Zeile meiner Signatur.
BTW: Weil BST-Programmierung so aufwändig ist, wurde biblatex geschaffen.
Verfasst: Do 21. Jul 2011, 09:29
von MBM1982
Hi!
Danke erstmal für die Mühe in die Datei zu schauen
Die Geschichte mit dem Kapitel steht ganz hinten da wo die ganzen writes kommen. Habe die munich.bst mit einer von mir über makebst.bat generierten verglichen und das dann einfach rausgeworfen. Hat wie gesagt funktioniert, aber ich würde halt einfach gerne einfach etwas reinschreiben, so das nicht nur "2.41" oder so da steht sondern "siehe Kapitel 2.41"
FUNCTION {bib.sort.order}
{ sort.label
" "
*
year field.or.null sortify
*
" "
*
title field.or.null
sort.format.title
*
#1 entry.max$ substring$
'sort.key$ :=
}
ITERATE {bib.sort.order}
SORT
FUNCTION {begin.bib}
{ preamble$ empty$
'skip$
{ preamble$ write$ newline$ }
if$
"\begin{thebibliography}{" number.label int.to.str$ * "}" *
write$ newline$
"\providecommand{\natexlab}[1]{#1}"
write$ newline$
"\providecommand{\url}[1]{\texttt{#1}}"
write$ newline$
"\providecommand{\urlprefix}{URL: }"
write$ newline$
"\expandafter\ifx\csname urlstyle\endcsname\relax"
write$ newline$
" \providecommand{\doi}[1]{doi:\discretionary{}{}{}#1}\else"
write$ newline$
" \providecommand{\doi}{doi:\discretionary{}{}{}\begingroup \urlstyle{rm}\Url}\fi"
write$ newline$
}
EXECUTE {begin.bib}
EXECUTE {init.state.consts}
ITERATE {call.type$}
FUNCTION {end.bib}
{ newline$
"\end{thebibliography}" write$ newline$
}
EXECUTE {end.bib}
%% End of customized bst file
%%
%% End of file `MBXCEFS.bst'.
Martin
Re: .bst-Datei verändern
Verfasst: Do 21. Jul 2011, 09:51
von Sepp99
MBM1982 hat geschrieben:munich.bst schreib am Ende immer die Kapitel wo zitiert wurde, ich möchte aber gerne etwas davor schreiben, wie "siehe Kapitel".
Das ist mir aber neu, dass die Kapitel bei diesem Stil referenziert werden. Entweder ist der Stil modifiziert, oder Du verwendest irgendein Paket, welches diese produziert (Minimalbeispiel!).
Gruß, Sepp.-
EDIT: hast Du eventuell das Paket citeref geladen?
Verfasst: Do 21. Jul 2011, 10:14
von MBM1982
Also wie gesagt, wenn ich den Quatsch mit den URL aus der munich.bst rausschmeiße dann habe ich auch keine Kapitel in der Literatur. Bei anderen .bst-Dateien habe ich bis jetzt auch keine Kapitelangaben gehabt.
Verfasst: Do 21. Jul 2011, 10:27
von KOMA
Nichts von dem, was Du gepostet hast, schreibt die Kapitel in denen zitiert wurde, an das Ende des Literaturverzeichnisses. Das Ende der Literaturverzeichnisses wird vielmehr, in dem gezeigten Code lediglich mit
MBM1982 hat geschrieben:FUNCTION {end.bib}
{ newline$
"\end{thebibliography}" write$ newline$
}
EXECUTE {end.bib}
als
erzeugt, wie das normalerweise der Fall ist. Leider ignorierst Du bisher meinen Hinweis:
Siehe erste Zeile meiner Signatur! Hättest Du die beachtet, hätte sich auch Sepp seine Rückfrage sparen können, dann wüssten wir das nämlich jetzt schon sicher.
Verfasst: Do 21. Jul 2011, 10:29
von Sepp99
MBM1982 hat geschrieben:Also wie gesagt, wenn ich den Quatsch mit den URL aus der munich.bst rausschmeiße dann habe ich auch keine Kapitel in der Literatur. Bei anderen .bst-Dateien habe ich bis jetzt auch keine Kapitelangaben gehabt.
Also, wie gesagt:
munich.bst erzeugt keine Referenzen. Um weiteres herumraten zu vermeiden, wäre ein Minimalbeispiel [2] angebracht.
Sepp.-
Verfasst: Do 21. Jul 2011, 11:31
von MBM1982
Joa also wenn .bst keine Referenzen erzeugt, dann muss es wohl was anderes sein.
Habe gerade versucht ein Minimalbeispiel zu erstellen welches den Fehler darstellt, aber ich komme da nicht hin. (Habe die munich.bst ausgetauscht gegen die original)
Selbst wenn ich alles was in der Präambel steht reinhaue und dann was schreibe mit nem Zitat klappt es nicht.
?!?!?
sehr komisch
Gibt es denn solch ein package was so etwas macht?!?
Martin
Verfasst: Do 21. Jul 2011, 11:34
von Sepp99
MBM1982 hat geschrieben:Gibt es denn solch ein package was so etwas macht?!?
Wie ich in meinem ersten Beitrag schon schrieb, vermute ich
citeref
Sepp.-
Verfasst: Do 21. Jul 2011, 13:05
von MBM1982
ach in der edit stand es drin
Nee also einmal mit Suchen alles durchsucht, aber da ist nix mit "cite" drin außer im pdf teil die cite-color ...
Ich habe gerade herausgefunden, das wenn ich die original munich.bst benutze und vorher alle temporären Dateien usw. lösche, also bis auf .tex und .bib weg, klappt es auch ?!?!?
Aber irgendwann ist es immer wieder da ?!?!?!?!?
Vllt, hat sich durch das ändern der munich.bst irgendwas neuberechnet und es war ne weile weg ...
Na gut, dann vielen Dank - jetzt kann ich das Problem ja beheben!
Martin