suse hat geschrieben:leider sitze ich hier an einem rechner der nur geliehen ist und auf dem ich keine adminrechte habe und darum kann ich das package babelbib sowie die anderen packages nicht installieren...
gibt es evtl noch eine andere möglichkeit?
Falls die tatsächlich nicht installiert sein sollten, gibt es immer die Möglichkeit, alle benötigten Dateien eines Pakets in das Dokumentverzeichnis zu kopieren.
ACHTUNG: Bei dem Folgenden handelt es sich um eine theoretische Abhandlung, die einige wenige Einblicke in die BibTeX-Programmierung gibt. Alle aufgeführten Beispiele und Einlassungen sind rein theoretischer Natur und wurden von mir nicht getestet. Es steht jedem frei, die Erklärungen fortzuführen, die Beispiele zu testen und daraus beispielsweise einen Wiki-Artikel zu machen. Mir selbst fehlt dazu schlicht die Zeit.
olverinspace hat geschrieben:Zusätzlich hab ich bei den Angaben in der bib Datei
title={{Die Geschichte des Universums}},
z.B. 2 Klammern verwendet,
damit wird verhindert, dass Latex die folgenden Wörter mit kleinen Buchstaben schreibt, wie man das im angloamerikanischen machen würde.
Konkret betrachtet BibTeX dann den gesamten Titel als ein einziges Symbol. Ich finde es ja immer merkwürdig, die Datenbank an das gewünschte Ergebnis anzupassen, statt aus der Datenbank, das gewünschte Ergebnis erzeugen zu lassen.
Kursiv wird bei unsrt.bst per Funktion emphasize erzeugt. Will man überhaupt kein kursiv, dann kann man in einer umbenannten Kopie von unsrt.bst einfach
FUNCTION {emphasize}
{ duplicate$ empty$
{ pop$ "" }
{ "{\em " swap$ * "}" * }
if$
}
in
FUNCTION {emphasize}
{ duplicate$ empty$
{ pop$ "" }
{ "{" swap$ * "}" * }
if$
}
ändern.
Will man nur an einer bestimmten Stelle kein Kursiv, dann muss man dort den Aufruf der Funktion verhindern. Wer nicht weiß, ob er beispielsweise bei der Funktion format.btitle einfach das emphasize entfernen kann, darf auf die (wenn man obiges bereits gelesen hat) naheliegende Möglichkeit:
FUNCTION {title.emphornot}
{ duplicate$ empty$
{ pop$ "" }
{ "{" swap$ * "}" * }
if$
}
FUNCTION {format.btitle}
{ title title.emphornot
}
kommen. Dann hat man auch noch die Möglichkeit, sich später anders zu entscheiden und einfach title.emphornot weiter zu ändern, beispielsweise in
FUNCTION {title.emphornot}
{ duplicate$ empty$
{ pop$ "" }
{ "\textbf{" swap$ * "}" * }
if$
}
Achja, zurück zur der Frage, wie man unsrt.bst das Ändern der Groß-/Kleinschreibung abgewöhnt. Dafür ist die in BibTeX eingebaute Funktion change.case$ zuständig. Das oberste Argument auf dem Stack bestimmt dabei, ob und wie geändert werden soll:
- »t« - Der erste Buchstabe bei den Wörtern des zweiten Arguments auf dem Stack bleibt unverändert, alle weiteren Buchstaben werden in Kleinbuchstaben gewandelt.
- »l« - Alle Buchstaben werden in Kleinbuchstaben gewandelt.
- »u« - Alle Buchstaben werden in Großbuchstaben gewandelt.
Bei allen anderen Zeichen passiert nichts, außer dass sich BibTeX darüber beschwert. Das Ergebnis landet wieder auf dem Stack.
Will man also beispielsweise in
FUNCTION {format.title}
{ title empty$
{ "" }
{ title "t" change.case$ }
if$
}
die Änderung der Groß-/Kleinschreibung des Titels weg haben, dass muss man nur wissen, dass bei
{ title "t" change.case$ }
zunächst der Titel (Variable title) auf den Stack gelegt wird, dann der String »t«, dann holt sich change.case$ diese beiden vom Stack und legt das geänderte Ergebnis wieder auf den Stack. Um stattdessen nur den unveränderten titel auf den Stack zu legen würde es genügt also:
FUNCTION {format.title}
{ title empty$
{ "" }
{ title }
if$
}
Entsprechende Änderungen kann man an allen Stellen, an denen man sie nicht haben will, vornehmen.
Ganz nebenbei habe ich damit eigentlich auch die Frage beantwortet, ob man oben ggf. den Aufruf von emphasize einfach weglassen kann. Dazu muss man ggf. noch wissen, was duplicate$, pop$, swap$, if$, empty$ und * tun. Wer sich tatsächlich dafür interessiert, findet nützliche Informationen wie diese in btxhak.pdf, einem der wenigen Dokumente zur BibTeX-Programmierung. AFAIR gibt es auch noch einen deutsches Tutorium von Bernd Raichle, der sich mit dieser Thematik befasst. Ich selbst habe BibTeX nie wirklich gelernt, sondern mich dabei auf meinen Instinkt und mein Wissen um andere Stack orientierte Programmiersprachen verlassen.
Es sei noch einmal darauf hingewiesen, dass man nicht unsrt.bst selbst ändern sollte. Stattdessen sollte man die Datei kopieren, ihr einen neuen Namen, beispielsweise markus.bst, geben, diese neue Datei ändern und dann statt \bibliographystyle{unsrt} eben \bibliographystyle{markus} verwenden.