.bst Datei Modifikation Thema ist als GELÖST markiert

Erstellung eines Literaturverzeichnisses mit BibTeX, Biber, BibLaTeX und Co.


ruberda
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Sa 11. Feb 2023, 11:53

.bst Datei Modifikation

Beitrag von ruberda »

Hi!
Ich bin gerade ich richtig froh, dass ich einige Sachen selber lösen konnte.
Jetzt fehlt mir aber doch das Verständnis in der .bst eine eigene function einzufügen.
Mir wird für mein Literaturverzeichnis vorgegeben, dass ich den Ort und Verlag folgendermaßen angeben muss: ..., Köln: Springer.

Ich habe in der apalike.bst den Eintrag für book beispielsweise einfach in der Reihenfolge ändern müssen:
FUNCTION {book}
{ output.bibitem
  author empty$
    { format.editors "author and editor" output.check
      editor format.key output
    }
    { format.authors output.nonnull
      crossref missing$
        { "author and editor" editor either.or.check }
        'skip$
      if$
    }
  if$
  output.year.check                             
  new.block
  format.btitle "title" output.check
  crossref missing$
    { format.bvolume output
      new.block
      format.number.series output
      new.sentence
      address output						%Diese Zeile wurde getauscht
      publisher "publisher" output.check		%Diese Zeile wurde getauscht
    }
    { new.block
      format.book.crossref output.nonnull
    }
  if$
  format.edition output
  new.block
  note output
  fin.entry
}
Jetzt ist die Reihenfolge schon mal wie vorgegeben. Mir fehlt jetzt jedoch noch das Trennzeichen ":"

Wie sieht dazu die richtige Funktion aus?

Für Sammelwerke gibt es bereits folgende Funktion:
FUNCTION {format.editors}
{ editor empty$
    { "" }
    { editor format.names
      editor num.names$ #1 >
        { " (Hrsg.)" * }				% vorher:  { ", editor" * }
        { " (Hrsg.)" * }				% vorher:  { ", editors" * }
      if$
    }
  if$
}
Da konnte ich jetzt schon den Herausgeber anpassen.
Aber anzupassen, dass zwischen beiden Einträgen kein Komma sondern ein Doppelpunkt ist, ist mir noch nicht gelungen. Hat jemand eine Idee?? Danke!


Mein Minimalbeispiel:
\documentclass[a4paper]{scrbook}

\usepackage{hyperref}
\usepackage{natbib}				
\bibliographystyle{apalike-mod}	

\usepackage[german=quotes]{csquotes} 	

\usepackage{makeidx}
\makeindex

\begin{document}						

Test\,\citep[S. 6]{schmidt_shorttitle_2022}

Mehrere Autorinnen\,\citep{werner_fachkraft_2022}

Buchkapitel\,\citep{schonherr_hrsg_lebenslanges_2014}
	
\bibliography{Quellen_Masterarbeit}		

\end{document}
Quellenverzeichnis (teilweise mit Workaround):


@book{schmidt_shorttitle_2022,
	title = {Titel vom Buch ist kursiv},
	publisher = {Verlag},
	author = {Schmidt, Gustav},
	year = {2022},
	address = {Wiesbaden}, 
}


@book{werner_fachkraft_2022,
	title = {Titel von Buch mit mehreren AutorInnen},
	publisher = {Köln: Institut der deutschen Wirtschaft},
	author = {Werner, Dirk and Hickmann, Helen and Malin, Lydia and Schirner, Sebastian},
	year = {2021},
}


@incollection{schonherr_hrsg_lebenslanges_2014,
	author= {Sebastian Czaja},
	title = {Kapitel in Sammlung},
	booktitle = {Kursiver Buchtitel der Sammlung},
	publisher = {Wiesbaden: Springer VS},
	editor = {Schönherr, Kurt Willibald and Tiberius, Victor and Elsholz, Uwe},
	year = {2014},
}


MoeWe
Forum-Meister
Forum-Meister
Beiträge: 802
Registriert: Fr 30. Aug 2019, 15:35
Kontaktdaten:

Re: .bst Datei Modifikation

Beitrag von MoeWe »

Gibts keine Möglichkeit, Dich zu biblatex zu überreden, wie in Deinem anderen Beitrag schon probiert wurde? Wie Du sicher festgestellt hast, ist die stack-basierte BibTeX-Programmiersprache mit umgekehrter polnischer Notation etwas unhandlich. Mit biblatex kannst Du in mehr oder weniger an klassische LaTeX-Syntax angelehnter Syntax programmieren.

Ich sehe mir Dein eigentliches Problem gleich noch genauer an, ich kann aber nichts versprechen. (Nur, dass es mit biblatex für mich einfacher wäre.)

MoeWe
Forum-Meister
Forum-Meister
Beiträge: 802
Registriert: Fr 30. Aug 2019, 15:35
Kontaktdaten:

Re: .bst Datei Modifikation

Beitrag von MoeWe »

Füge Deiner .bst-Datei vor FUNCTION {article} den folgenden Block hinzu
FUNCTION {address.publisher}
{
  mid.sentence 'output.state :=
  address output
  publisher empty$
    'skip$
    { write$ ": " publisher * }
  if$
}
ersetze dann alle Blöcke
      new.sentence
      publisher "publisher" output.check
      address output
mit
      address.publisher
sowie
      address output                                    % for apalike
      new.sentence                                      % there's no year
      organization output                               % here so things
      publisher output                                  % are simpler
mit
      address.publisher
      organization output
Einfacher zu sehen sind die Änderungen in https://gist.github.com/moewew/68d2a55376908c1a6bc72ecb7eb2ffd5/revisions. Dort kannst Du auch eine Version von apalike-mod.bst herunterladen, die sich von der Original apalike.bst nur in diesen Änderungen unterscheidet.

ruberda
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Sa 11. Feb 2023, 11:53

Re: .bst Datei Modifikation

Beitrag von ruberda »

Vielen Dank für deine Zeilen!

Da das nirgendwo so richtig gefunden werden kann, ist das eine wichtige Ergänzung für alle, die es so machen müssen :)

ich meine ja nur

Re: .bst Datei Modifikation

Beitrag von ich meine ja nur »

Da du Umlaute in deiner bib-Datei verwendest, sei darauf hingewiesen, dass BibTeX nicht wirklich damit umgehen kann. Das Programm ist nur für 7-Bit-Codierungen (also US ASCII) ausgelegt. Zwar gibt es auch ein BibTeX8, aber das kann ebenfalls nicht mit UTF-8 umgehen. Zwar wird das Ergebnis oft trotzdem korrekt, aber eben nicht immer. Gerade bei Autor-Jahr-Sortierung sollte man das unbedingt kontrollieren, wenn man Autoren mit Sonderzeichen im Namen hat.

Schon aus diesem Grund, ist es eigentlich immer besser biblatex mit biber zu verwenden. Weitere Gründe sind u. a. die Mehrsprachigkeit, die Unterstützung für deutlich mehr Felder, dass man für Änderungen in bst-Dateien mit einer seltsamen Programmiersprache hantieren muss, sondern alles in LaTeX realisieren kann u. v. m.

Aus diesem Grund würde ich anderen, »die es so machen müssen«, eben genau nicht empfehlen, es so zu machen, sondern, wie schon mehrfach empfohlen, biblatex zu verwenden.

ruberda
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Sa 11. Feb 2023, 11:53

Re: .bst Datei Modifikation

Beitrag von ruberda »

Ich bin jetzt auf biblatex umgestiegen, siehe: viewtopic.php?f=15&t=24960
Habe auch da noch Probleme.

Aber ich finde es schon sehr wertvoll, dass hier eine tiefgreifendere Darstellung gegeben wird, wie etwas in einer .bst Datei anzupassen ist. Das habe ich bei meinen Recherchen einfach nicht finden können.

Antworten