Anzeige:
Ergebnis 1 bis 13 von 13

Thema: Datumsformat bei vancouver.bst

  1. #1
    Registrierter Benutzer
    Registriert seit
    17.03.2008
    Beiträge
    8

    Datumsformat bei vancouver.bst

    Hallo zusammen

    Schreibe gerade meine Dissertation. Ich benutze dafür MiKTeX 2.7 und TeXnicCenter.
    Für das Literaturverzeichnis verwende ich das Paket 'natbib' und den Stil 'vancouver.bst'. Eigentlich passt auch alles perfekt, ausser bei der Ausgabe des Literaturverzeichnisses enthält die Datumsangabe das Jahr und den Monat.
    Dosluoglu H, Luna P, Herrera L. Kompartimentresektion oder erweiterte lokale Excision von Weichteilsarkomen? Der Chirurg. 1993 Jul;64(7):509-516.
    Ich möchte jedoch nur das Jahr ausgeben.
    Dosluoglu H, Luna P, Herrera L. Kompartimentresektion oder erweiterte lokale Excision von Weichteilsarkomen? Der Chirurg. 1993;64(7):509-516.
    Das müsste doch irgendwie in der *.bst-Datei zu ändern sein? Aber irgendwie steh ich auf dem Schlauch.

    Hier noch der Abschnitt aus vancouver.bst der mich relevant dünkt:
    Code:
    FUNCTION {format.journal.date}
    {
      month "month" bibinfo.check
      duplicate$ empty$
      year  "year"  bibinfo.check duplicate$ empty$
        {
          swap$ 'skip$
          { "there's a month but no year in " cite$ * warning$ }
          if$
          *
        }
        { swap$ 'skip$
            {
              " " * swap$
            }
          if$
          *
          remove.dots
        }
      if$
      duplicate$ empty$
        'skip$
        {
          before.all 'output.state :=
        after.sentence 'output.state :=
        }
      if$
    }
    
    FUNCTION {format.date}
    {
      no.blank.or.punct
      ";" 
      duplicate$ empty$
      year  "year"  bibinfo.check duplicate$ empty$
        { swap$ 'skip$
            { "there's a month but no year in " cite$ * warning$ }
          if$
          *
        }
        { swap$ 'skip$
            {
              swap$
              " " * swap$
            }
          if$
          *
        }
      if$
    }
    Ansonsten wäre der Stil vancouver.bst perfekt! Ich habe mich deshalb auch noch nicht wirklich über Alternativen (biblatex etc) schlau gemacht. Kennt jemand vielleicht bereits einen biblatex-Stil der meinen Anforderungen entspricht?

    Vielen Dank für Eure Hilfe.

  2. #2
    Registrierter Benutzer Avatar von lockstep
    Registriert seit
    31.08.2008
    Beiträge
    1.487
    Der biblatex-Stil authortitle sollte deine Anforderungen generell erfüllen; notwendige Detailanpassungen sind mit nicht allzu tiefschürfendem LaTeX-Wissen (Funktionsweise von \renewcommand etc.) zu erfüllen. biblatex liegt seit einigen Tagen in der Version 0.9 vor, ich empfehle dir den Umstieg ausdrücklich.

    Natürlich - wenn vancouver.bst bis auf eine Kleinigkeit für dich perfekt ist, hoffe ich auch, dass dein Wunsch von einem bibtex-Programmierguru erfüllt wird. Davon gibt es aber weniger als LaTeX-Kundige.

    lockstep
    idxlayout - Konfigurierbares Index-Layout, kompatibel mit KOMA-Script und memoir

  3. #3
    Registrierter Benutzer
    Registriert seit
    09.07.2004
    Beiträge
    2.365
    Du sagst nicht, wie du es machst.
    Bei mir geht es so:
    Code:
    @ARTICLE{dlh_1993,
      title = {Kompartimentresektion oder erweiterte lokale Excision von Weichteilsarkomen?},
      author = {H. Dosluoglu and P. Luna and L Herrera},
      journal = {Der Chirurg},
      volume = {64\,(7)},
      year = {1993},
      pages = {509-516},
    }
    mit
    vancouver.bst %% Copyleft 2004 Folkert van der Beek
    natbib.sty 2007/02/05 8.0 (PWD)

    edico

  4. #4
    Registrierter Benutzer
    Registriert seit
    17.03.2008
    Beiträge
    8
    Du sagst nicht, wie du es machst.
    Ähm ja, ging vergessen, sorry.

    vancouver.bst %% Copyleft 2004 Folkert van der Beek
    natbib.sty 8.31a from 2009/11/07

    Ich verwalte meine *.bib-Datei mit JabRef 2.5. Die Einträge sind jeweils relativ ausführlich, wie z.B. dieser hier:
    Code:
    @ARTICLE{Dosluoglu1993,
      author = {H. Dosluoglu and P. Luna and L. Herrera},
      title = {Kompartimentresektion oder erweiterte lokale Excision von Weichteilsarkomen?},
      journal = {Der Chirurg},
      year = {1993},
      volume = {64},
      pages = {509--516},
      number = {7},
      month = {Jul},
      institution = {Department of Surgery, Medical Center of Delaware, Wilmington.},
      keywords = {Amputation; Arm, surgery; Chemotherapy, Adjuvant; Combined Modality
    	Therapy; Humans; Leg, surgery; Neoplasm Staging; Radiotherapy Dosage;
    	Sarcoma, drug therapy/pathology/radiotherapy/surgery; Soft Tissue
    	Neoplasms, drug therapy/pathology/radiotherapy/surgery},
      language = {ger},
      medline-pst = {ppublish},
      pmid = {8375200},
      timestamp = {11.02.2010}
    }
    Ich kann natürlich den Monat einfach via JabRef in der bib löschen. Der Monat erscheint dann auch nicht in der Ausgabe des Literaturverzeichnisses, aber ich finde diese Lösung ziemlich unschön, resp. habe mir erhofft dass ich die Abfrage so ändern kann, dass dies nicht nötig wäre.
    Geändert von 4052 (16-02-2010 um 09:35 Uhr)

  5. #5
    Registrierter Benutzer
    Registriert seit
    09.07.2004
    Beiträge
    2.365
    Wenn du den Monat nicht haben willst, musst du ihn einfach 'LEER' lassen:
    month = {},

    edico

  6. #6
    Registrierter Benutzer
    Registriert seit
    17.03.2008
    Beiträge
    8
    Zitat Zitat von edico Beitrag anzeigen
    Wenn du den Monat nicht haben willst, musst du ihn einfach 'LEER' lassen:
    month = {},
    Ja, zu dieser Lösung bin ich auch gekommen. Trotzdem finde ich diese Lösung nicht optimal. Ich würde lieber die vancouver.bst so ändern, damit das Datum richtig erscheint. Scheint aber nicht ganz einfach zu sein.

    Trotzdem Danke für Deine Hilfe!

  7. #7
    Registrierter Benutzer
    Registriert seit
    09.07.2004
    Beiträge
    2.365
    Die Lösung ist sogar sehr optimal, das Ändern des style files an sich weniger.

    @ARTICLE{citation_key,
    required_fields [, optional_fields] }
    Required fields: author, title, journal, year
    Optional fields: volume, number, pages, month, note, key

    Optionale Parameter sind halt 'optional' - wenn man sie nicht haben will, lässt man sie weg.

    Das Datum wird dann so gesetzt, wie du es in post#1 gefordert hast. Wo ist das(dein) Problem?

    edico

  8. #8
    Registrierter Benutzer
    Registriert seit
    17.03.2008
    Beiträge
    8
    Zitat Zitat von edico Beitrag anzeigen
    Die Lösung ist sogar sehr optimal, das Ändern des style files an sich weniger.
    ...
    Das Datum wird dann so gesetzt, wie du es in post#1 gefordert hast. Wo ist das(dein) Problem?
    Ich habe halt insgeheim gehofft, dass ich nicht meine 200 Einträge in der Bibliothek verändern muss, sondern eine kleine Änderung der *.bst-Datei reichen würde.
    Aber du hast mich überzeugt, ist wohl der einfachste Weg.

  9. #9
    Registrierter Benutzer
    Registriert seit
    27.11.2007
    Beiträge
    375

    Nicht die bib-Datei ändern!

    Hallo,

    also ich finde die Lösung mit dem Löschend der month-Felder auch sehr unschön. Zum einen wird so Information weggeworfen, die man eventuell noch einmal braucht, z.B. wenn man sich entscheidet, den Monat doch wieder anzeigen zu wollen. Zum anderen finde ich es generell ziemlich schlecht, gewolltes Aussehen des Literaturverzeichnisses durch Manipulieren der Datenbank zu erreichen. Ich plädiere hier für eine strikte Trennung zwischen Daten (bib-Datei) und Programm bzw. Formatierung (bst- und syt-Dateien)!!!

    Christian.

    PS. Ich schau mir gleich mal vancouver.bst an. Die gewünschte Änderung kommt mir nicht all zu schwierig vor...

  10. #10
    Registrierter Benutzer
    Registriert seit
    28.05.2009
    Beiträge
    407
    das dachte ich auch ^^ aber ich kann meine Referenz nicht erzeugen mit dem Stil.

    aber ein Ansatzpunkt wäre für mich das rot markierte mal auszukommentieren (ohne das jetzt getestet zu haben):
    Code:
    FUNCTION {format.journal.date}
    {
      month "month" bibinfo.check
      duplicate$ empty$
      year  "year"  bibinfo.check duplicate$ empty$
        {
          swap$ 'skip$
          { "there's a month but no year in " cite$ * warning$ }
          if$
          *
        }
        { swap$ 'skip$
            {
              " " * swap$
            }
          if$
          *
          remove.dots
        }
      if$
      duplicate$ empty$
        'skip$
        {
          before.all 'output.state :=
        after.sentence 'output.state :=
        }
      if$
    }
    MiKTex 2.9 | TeXstudio 2.8.2 | TeXworks 0.4.5

  11. #11
    Registrierter Benutzer
    Registriert seit
    27.11.2007
    Beiträge
    375

    Smile Lösung

    Hallo,

    ändere einfach in vancouver.bst in der FUNCTION {article} folgende Zeile:

    Code:
      format.journal.date "year" output.check
    in:

    Code:
      format.date "year" output.check
    Erklärung: Für Journal wird eine spezielle Funktion zur Formatierung des Datums benutzt (format.journal.date). Diese produziert "Jahr_Monat". Durch die Änderung wird eine andere Funktion format.date ausgewählt, die nur "Jahr" ausgibt...

    Christian.

  12. #12
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von 4052 Beitrag anzeigen

    Code:
    FUNCTION {format.journal.date}
    {
      month "month" bibinfo.check
      duplicate$ empty$
      year  "year"  bibinfo.check duplicate$ empty$
        {
          swap$ 'skip$
          { "there's a month but no year in " cite$ * warning$ }
          if$
          *
        }
        { swap$ 'skip$
            {
              " " * swap$
            }
          if$
          *
          remove.dots
        }
      if$
      duplicate$ empty$
        'skip$
        {
          before.all 'output.state :=
        after.sentence 'output.state :=
        }
      if$
    }
    
    FUNCTION {format.date}
    {
      no.blank.or.punct
      ";" 
      duplicate$ empty$
      year  "year"  bibinfo.check duplicate$ empty$
        { swap$ 'skip$
            { "there's a month but no year in " cite$ * warning$ }
          if$
          *
        }
        { swap$ 'skip$
            {
              swap$
              " " * swap$
            }
          if$
          *
        }
      if$
    }
    Ansonsten wäre der Stil vancouver.bst perfekt! Ich habe mich deshalb auch noch nicht wirklich über Alternativen (biblatex etc) schlau gemacht. Kennt jemand vielleicht bereits einen biblatex-Stil der meinen Anforderungen entspricht?
    Kopiere den Stil nach vancouver2.bst und ersetze obige Funktion durch
    Code:
    FUNCTION {format.journal.date}{
      year  "year"  bibinfo.check 
    }
    Herbert

  13. #13
    Registrierter Benutzer
    Registriert seit
    17.03.2008
    Beiträge
    8

    Thumbs up

    Zitat Zitat von voss Beitrag anzeigen
    Kopiere den Stil nach vancouver2.bst und ersetze obige Funktion durch
    Code:
    FUNCTION {format.journal.date}{
      year  "year"  bibinfo.check 
    }
    Herbert
    S-E-N-S-A-T-I-O-N-E-L-L!

    Funktioniert auf Anhieb! Tausend Dank!

    Herzlichen Dank natürlich auch an alle anderen, die sich die Mühe gemacht haben einem Newbie wie mir auf die Sprünge zu helfen!

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •