Anzeige:
Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 15 von 33

Thema: BibTeX, Style: abstract und Breite der Keys

  1. #1
    Registrierter Benutzer
    Registriert seit
    09.07.2008
    Beiträge
    64

    BibTeX, Style: abstract und Breite der Keys

    Hallo,

    ich nutze BibTeX mit dem \bibliographystyle{abstract}-Stil und definiere meine Keys in der .bib-Datei selbst. Alles funktioniert einwandfrei, jedoch habe ich zwei Keys, die aus acht Zeichen bestehen. Alle anderen Keys bestehen aus maximal sechs Zeichen. Die Formatierung orientiert sich jedoch nicht am längsten Key. Dementsprechend ist die Breite der Spalte im Literaturverzeichnis, in der die Keys stehen, nur so breit, dass Keys mit "normaler" Länge dort reinpassen. Bei den beiden langen Keys wird einfach der dazugehörige Text etwas eingerückt, damit der Key genügend Platz hat.

    Ein angehängter Screenshot zeigt das Verhalten, da es vermutlich nicht so einfach vorstellbar ist.

    Das sieht sehr unschön aus...oder?

    Hat jemand eine Idee, wie ich das konfigurieren könnte?

    Für Hilfe wäre ich sehr dankbar...

    Viele Grüße,

    JKoenig

  2. #2
    Registrierter Benutzer
    Registriert seit
    09.07.2008
    Beiträge
    64
    Hat hier keiner eine Idee?

    Für Hilfe wäre ich sehr dankbar...

    Viele Grüße,

    JKoenig

  3. #3
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Moin moin,
    als würgaround könntest Du nach dem BibTeX-Lauf in Deiner .bbl-Datei
    Code:
     \begin{thebibliography}{<diesen String verlängern>}
    Wenn Du das automagisch haben willst, dann versuch es so:
    • Erstelle eine Kopie von `abstract.bst' in Deinem Projektordner und nenne sie z. B. `myabstract.bst'
    • ersetze in den *.label-Funktionen dieser `myabstract.bst'
      Code:
      { cite$ #1 #3 substring$ }
      zu
      Code:
      { cite$ #1 #9 substring$ }
    • nur noch \bibliographystyle entsprechend in der .tex angepasst...

    MfG
    Rainer
    There's nothing a good whack with a hammer won't fix!

  4. #4
    Registrierter Benutzer
    Registriert seit
    09.07.2008
    Beiträge
    64
    Hallo Rainer,

    erst mal vielen Dank für deine Hilfe...

    Das Verlängern des Strings in der .bbl-Datei funktioniert. Natürlich ist das etwas aufwändig, aber als workaround durchaus machbar.

    Der automatische Lösungsvorschlag funktioniert bei mir allerdings nicht, obwohl er definitiv myabstract.bst zur Erstellung heranzieht. Ich habe das "#3" in "#9" bei folgenden Funktionen geändert:

    FUNCTION {author.key.label}
    FUNCTION {author.editor.key.label}
    FUNCTION {author.key.organization.label}
    FUNCTION {editor.key.organization.label}

    ... ohne Erfolg...

    Hast du noch eine Idee?

    Vielen Dank für deine Mühe!!!

  5. #5
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Moin moin,
    versteh' ich nicht ... mit
    Code:
    \begin{filecontents}{foo.bib}
    @misc{foo,
      title={Minimalbeispiel}
    }
    
    @misc{laaaang,
      title={Minimalbeispiel},
      note={\url{http://www.minimalbeispiel.de}}
    }
    \end{filecontents}
    \documentclass{article}
    \renewcommand*\refname{References (myabstract)}
    \usepackage{url}
    \begin{document}
    \nocite*
    \bibliographystyle{myabstract}
    \bibliography{foo}
    \end{document}
    und
    Code:
    FUNCTION {author.key.label}
    { author empty$
        { key empty$
    	{ cite$ #1 #9 substring$ }  %%%<--#3->#9
    	{ key #3 text.prefix$ }
          if$
        }
        { author format.lab.names }
      if$
    }
    (stellvertretend für die 4 geänderten Funktionen in myabstract.bst) bekomme ich gleich breite Marken.
    Überzeuge Dich mal davon, ob `myabstract.bst' auch wirklich die ist, die Du angepasst hast -- vorzugsweise aus dem Pfad heraus, in dem Deine Testdatei (.tex) residiert:
    Code:
    kpsewhich myabstract.bst
    sollte den Pfad zu Deiner ausgeben: wenn Du so wie von mir zuvor vorgeschlagen vorgegangen bist also ``./myabstract.bst''.

    Du kannst ja mal dieses Beispiel laufen lassen und Dir die Ausgabe anschauen ... bzw. die erste Zeile in der entstandenen .bbl: Wenn da
    Code:
    \begin{thebibliography}{foo}
    steht, poste mal die entstandene .blg (BibTeX-Logdatei) und/oder vergleiche nochmal, was Du in der myabstract.bst wie geändert hast.
    Wenn da
    Code:
    \begin{thebibliography}{laaaang}
    steht, aber trotzdem in Deiner Datei sich nichts durch den Einsatz von myabstract.bst geändert hat, dann poste bitte ein eigenes Minimalbeispiel (wie das geht, kannst Du hier ja schon sehen).

    ... oder sind Dir einfach neun Zeichen nicht breit genug?

    MfG
    Rainer
    There's nothing a good whack with a hammer won't fix!

  6. #6
    Registrierter Benutzer
    Registriert seit
    09.07.2008
    Beiträge
    64
    Hallo Rainer!

    Basierend auf deinem Minimalbeispiel hier mein Beispiel:

    Code:
    \begin{filecontents}{foo.bib}
    	@book{BLA1,
    	  title={Ein Titel},
    	  author={Ein Author},
    	  publisher={Ein Verlag},
    	  year={Ein Jahr},
    	  month={Ein Monat},
    	  isbn={Eine ISBN},
    	}
    	
    	@book{BLA1234,
    	  title={Ein Titel},
    	  author={Ein Author},
    	  publisher={Ein Verlag},
    	  year={Ein Jahr},
    	  month={Ein Monat},
    	  isbn={Eine ISBN},
    	}
    \end{filecontents}
    
    
    \documentclass{article}
    \renewcommand*\refname{References (myabstract)}
    \usepackage{url}
    \begin{document}
    \nocite*
    \bibliographystyle{myabstract}
    \bibliography{foo}
    \end{document}
    TeXnicCenter erzeugt beim Kompilieren u. a. folgende Ausgabe:

    Code:
    [...]
    The style file: myabstract.bst
    [...]
    Das daraus resultierende Ergebnis ist als Bild im Anhang...

    Die einzigen Unterschiede zwischen abstract.bst und myabstract.bst sind vier Änderungen von "3" in "9".

    Hast du noch eine Idee?

    Vielen Dank für deine Mühe!!!

  7. #7
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Moin moin,
    da hab' ich wohl zu viel gekürzt;-)
    Auch auf die Gefahr hin, es gerade wieder zu tun, versuch mal
    Code:
    FUNCTION {calc.label}
    {
      cite$ 'label := %%%<--
      year field.or.null purify$ #-1 #4 substring$
      sortify 'sort.label :=
    }
    in Deiner myabstract.bst ... aber Vorsicht: es findet keine Begrenzung der Markenbreite mehr statt, ggf. ergänze den substring$ mit für Dich passenden Werten.
    Wenn's funzt, kannst Du so auch die vier zuvor angesprochenen Funktionen weglassen...
    aber schau Dir erstmal an, ob's damit noch -- neue? -- Probleme gibt.

    MfG
    Rainer
    There's nothing a good whack with a hammer won't fix!

  8. #8
    Registrierter Benutzer
    Registriert seit
    09.07.2008
    Beiträge
    64
    Hallo,

    im Minimalbeispiel funktioniert das einwandfrei. In meiner Life-Umgebung meiner Dokumentation bekomme ich die Fehlermeldung "... the literal stack isn't empty for entry ...".

    Laut manchen Foren-Postings ist meine Installation zu alt, wundert mich aber dann, dass es in der Minimalinstallation funktioniert.

    Wenn ich die Installation updaten muss, würde ich darauf verzichten (ist mir zu gefährlich, was ich dann sonst noch für Nebeneffekte habe) und das Workaround nutzen und in der .bbl-Datei den string zu verlängern. Oder du hast noch eine andere Idee?

    Vielen Dank und Grüße,

    JKoenig

  9. #9
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Moin moin,
    Zitat Zitat von JKoenig Beitrag anzeigen
    im Minimalbeispiel funktioniert das einwandfrei. In meiner Life-Umgebung meiner Dokumentation bekomme ich die Fehlermeldung "... the literal stack isn't empty for entry ...".
    steht in der Meldung nicht drin, auf welchen Eintrag sie sich bezieht? Was passiert, wenn Du diesen Eintrag aus Deinem Projekt in das MB überträgst?

    MfG
    Rainer
    There's nothing a good whack with a hammer won't fix!

  10. #10
    Registrierter Benutzer
    Registriert seit
    09.07.2008
    Beiträge
    64
    Ich muss mich korrigieren: Die Meldung kommt auch beim Minimalbeispiel bei JEDEM BibTeX-Eintrag (auch bei den minimalen Einträgen). Die minimale PDF-Datei wird dennoch korrekt erzeugt.

    Auch beim richtigen Dokument funktioniert es - trotz der Meldungen.

    Dennoch ist mir das irgendwie suspekt und ich weiß nicht, ob ich das so lassen sollte... Was meinst du?

  11. #11
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Moin moin,
    Zitat Zitat von JKoenig Beitrag anzeigen
    Ich muss mich korrigieren: Die Meldung kommt auch beim Minimalbeispiel bei JEDEM BibTeX-Eintrag (auch bei den minimalen Einträgen). Die minimale PDF-Datei wird dennoch korrekt erzeugt.
    das kann ich nicht nachvollziehen:
    Code:
    This is BibTeX, Version 0.99c (Web2C 7.5.6)
    The top-level auxiliary file: abstract-test.aux
    The style file: myabstract.bst
    Database file #1: foo.bib
    ist bei mir die komplette Konsolenausgabe von BibTeX (mit dem Beispiel aus Beitrag#6 als `abstract-test.tex' und nur der Anpassung von calc.label aus Beitrag#7 in myabstract.bst -- ansonsten identisch mit `abstract.bst').
    Irgend etwas hast Du wohl anders gemacht ...

    MfG
    Rainer
    There's nothing a good whack with a hammer won't fix!

  12. #12
    Registrierter Benutzer
    Registriert seit
    09.07.2008
    Beiträge
    64
    Zitat Zitat von rais Beitrag anzeigen

    Auch auf die Gefahr hin, es gerade wieder zu tun, versuch mal
    Code:
    FUNCTION {calc.label}
    {
      cite$ 'label := %%%<--
      year field.or.null purify$ #-1 #4 substring$
      sortify 'sort.label :=
    }
    mmhhh... Ich habe den Fehler gemacht und interpretiert, dass du die Funktion selbst gekürzt hast und habe nur die Änderung von

    Code:
      'label :=
    in

    Code:
      cite$ 'label := %%%<--
    geändert. Wenn ich die Funktion tatsächlich so kürze, funktioniert es einwandfrei.

    Kann das sonst noch irgendwelche Nebeneffekte haben, die ich jetzt bei einer schnellen Prüfung hätte übersehen können?

  13. #13
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.862
    Moin moin,
    Zitat Zitat von JKoenig Beitrag anzeigen
    mmhhh... Ich habe den Fehler gemacht und interpretiert, dass du die Funktion selbst gekürzt hast (...)
    ah, so gesehen hätte der Kommentar besser in die FUNCTION-Zeile gehört;-)
    Zitat Zitat von JKoenig Beitrag anzeigen
    Kann das sonst noch irgendwelche Nebeneffekte haben, die ich jetzt bei einer schnellen Prüfung hätte übersehen können?
    Möglich -- ich kenn' Deine .bib ja nicht -- schau Dir den Rest aus Beitrag#7 vllt nochmal etwa ab `aber Vorsicht' an.

    MfG
    Rainer
    There's nothing a good whack with a hammer won't fix!

  14. #14
    Registrierter Benutzer
    Registriert seit
    09.07.2008
    Beiträge
    64
    Danke für die Hilfe...

  15. #15
    Registrierter Benutzer
    Registriert seit
    11.08.2008
    Beiträge
    73
    Hallo,

    also ich habe überhaupt keine .bst Datei. Ist das eine, die ich selbst anlegen muss?

    Viele Grüße
    Sabine

Stichworte

Lesezeichen

Berechtigungen

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