Literaturverzeichnis mit natbib individualisieren

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Literaturverzeichnis mit natbib individualisieren

von Johannes_B » Sa 5. Sep 2015, 13:04

Ich hätte es nun gerne, dass die Namen der Autoren im Literaturverzeichnis (nicht im Text) in Kapitälchen dargestellt werden.
Da hatte ich ein deja-vu Erlebnis. Irgendjemand wollte auch irgendwass im Verzeichnis, aber nicht der Zitation ändern. Vielleicht habe ich es aber wirklich nur in den letzten Tagen geträumt.

von Gast » Sa 5. Sep 2015, 08:52

Meinst Du vielleicht Get same layout for title-tag in misc and book using natbib?

Der Trick – oder eine Variation davon – hätte hier, glaube ich, aber nicht so leicht funktioniert, da format.btitle trotz ihres Namens eben noch mehr druckt als den Titel.
Das ist ein Problem bei .bst-Dateien, einige Lösungen lassen sich nur sehr schwer auf andere Stile übertragen. Bei biblatex ist das für bestimmte Änderungen auch der Fall (ich denke hier besonders an Änderungen der \cite-Befehle, die oft sehr unterschiedlich definiert sind, besonders die sehr komplizierten authoryear-icomp), andere sind aber universell anwendbar oder sehr leicht übertragbar.

von Johannes_B » Fr 4. Sep 2015, 21:36

An unseren fliegenden Gast: Gab es nicht quasi die gleiche Frage erst kürzlich bei TeX.SX? Ich kann diese allerdings gerade nicht finden. Weißt du was ich meine? Kannst du mir einen Link schicken? (gern auch im Chat)

von Tobias_D » Fr 4. Sep 2015, 18:52

Besten Dank für deine Hilfe.

von Gast » Fr 4. Sep 2015, 16:39

Oh je, ich weiß schon, warum ich normalerweise die Finger von .bst-Dateien lasse...
Wenn Du die Zeit hast, solltest Du wirklich darüber nachdenken, biblatex zu verwenden, da sind die notwendigen Änderungen weniger als zehn Zeilen und etwas intuitiver als diese umgekehrte polnische Notation von BibTeX.

Nun gut, die korrekten Modifikationen sind
FUNCTION {format.btitle}
{ edition empty$
  { title }
  { title empty$
    { title }
    { volume empty$     % gnp - check for volume, then don't need period
       { " " title * " (" * edition * " ed.)" * "." * }
       { " " title * " (" * edition * " ed.)" * }
      if$
    }
    if$
  }
  if$
}

FUNCTION {format.emphasize.booktitle}
{ edition empty$
  { booktitle }
  { booktitle empty$
    { booktitle }
    { volume empty$    % gnp - extra period an error if book has a volume
        { " " booktitle * " (" * edition * " ed.)" * "." *}
        { " " booktitle * " (" * edition * " ed.)" * }
      if$
      }
    if$
    }
  if$
}

von Tobias_D » Fr 4. Sep 2015, 15:48

Das Problem tritt nur auf, wenn für das Book eine Edition angegeben wird. Lässt man diese Info in der bib Datei weg, dann funktioniert alles wie es soll.

Mit der original Datei chicago.bst funktioniert es in beiden Fällen, wie es soll.

von Gast » Fr 4. Sep 2015, 15:02

Mhhh, bei mir ist das noch da, vielleicht hast Du etwas zu viel gelöscht oder geändert. Am einfachsten wird es wohl sein, Du kopierst den normalen chicago.bst nochmal und führst die Änderungen erneut durch.

von Tobias_D » Fr 4. Sep 2015, 14:55

Danke sehr, klappt alles. Nur leider ist jetzt bei einem Book im Literaturverzeichnis kein Punkt hinter dem Autor und kein Leerzeichen.

Es sieht also so aus:

NACHNAME, V. (2013)Titel des Buches. ...

Es sollte aber so aussehen:

NACHNAME, V. (2013). Titel des Buches. ...

von Gast » Fr 4. Sep 2015, 14:17

Für das "and" brauchst Du in der Redefinition von FUNCTION {format.names} statt " and " dann " \textup{and} "

also
FUNCTION {format.names}
{ 's :=
  #1 'nameptr :=               % nameptr = 1;
  s num.names$ 'numnames :=    % numnames = num.name$(s);
  numnames 'namesleft :=
    { namesleft #0 > }

    { nameptr #1 =
        {s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := }
        {s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't := }
      if$
      nameptr #1 >
        { namesleft #1 >
              { ", " * t * }
              { numnames #2 >
                  { "," * }
                  'skip$
                if$
                t "others" =
                    { " et~al." * }
                    { " \textup{and} " * t * } % from Chicago Manual of Style
                  if$
               }
               if$
             }
            't
        if$
        nameptr #1 + 'nameptr :=          % nameptr += 1;
        namesleft #1 - 'namesleft :=      % namesleft =- 1;
    }
  while$
  t "others" =
    'skip$
    { bib.name.font }
  if$
}
Wenn Du das für ein eventuelles "at al." auch möchtest, musst Du es einfach auch in \textup{...} kleiden.

von Gast » Fr 4. Sep 2015, 14:13

Upps, ich habe Deine zweite Anfrage total falsch verstanden, sorry.

Dann brauchst Du die zweite Änderung von oben nicht.

Aber Du brauchst stattdessen eine Änderung von FUNCTION {format.jour.vol} zu
FUNCTION {format.jour.vol}
{ journal empty$
    { "no journal in " cite$ * warning$
      "" }
    { journal }
    if$
  number empty$
    { volume empty$
       { "no number and no volume in " cite$ * warning$
         "" * }
       { "~{\em " * Volume * "}" * }
      if$
    }
    { volume empty$
      {"no volume for " cite$ * warning$
       "~(" * number * ")" * }
      { "~" *
        volume emphasize.space
        "(" * number * ")" * * }
      if$
    }
  if$
  pages empty$
    {"page numbers missing in " cite$ * warning$
     "" * } % gnp - place a null string on the stack for output
    { duplicate$ empty$
      { pop$ format.pages }
      { ", " *  pages n.dashify * } % gnp - removed pp. for articles
      if$
    }
  if$
}

Je nach Geschmack, kannst Du auch die anderen emphasize.space entfernen.

Dann brauchen wir für FUNCTION {format.btitle}
FUNCTION {format.btitle}
{ edition empty$
  { title }
  { title empty$
    { title }
    { volume empty$     % gnp - check for volume, then don't need period
       { title * " (" * edition * " ed.)" * "." * }
       { title * " (" * edition * " ed.)" * }
      if$
    }
    if$
  }
  if$
}
und vielleicht auch für FUNCTION {format.emphasize.booktitle} dann
FUNCTION {format.emphasize.booktitle}
{ edition empty$
  { booktitle }
  { booktitle empty$
    { booktitle }
    { volume empty$    % gnp - extra period an error if book has a volume
        { booktitle * " (" * edition * " ed.)" * "." *}
        { booktitle * " (" * edition * " ed.)" * }
      if$
      }
    if$
    }
  if$
  }

Nach oben