Abstand zwischen Kürzel und Beschreibung ändern?

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


dotwinx
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Sa 9. Mai 2015, 18:17

Abstand zwischen Kürzel und Beschreibung ändern?

Beitrag von dotwinx »

Moin,

nach über einer Stunde Suchen im Internet und ausprobieren bin ich leider gescheitert und hoffe um eure Unterstützung. In meinem Dokument habe ich ein Literaturverzeichnis als Bibtex eingelesen. Komplett Standard, ohne biblatex etc. Ergo habe ich eine eigene bibtex-Vorlage (*.bst).

Das funzt auch ganz gut, sieht so etwa aus:
[Fil07] Filice, L.; Micari, F.; Rizzuti, S.; Umbrello, D.: A critical analysis on the
        friction modelling in orthogonal machining. International Journal of
        Machine Tools and Manufacture 47(2007), Nr. 3-4, S. 709–714
oder so
[Bou03] Bouzakis, K.-D.; Aichouh, P.; Efstathiou, K.: Determination of the chip geometry,
        cutting force and roughness in free form surfaces finishing milling, with ball
        end tools. International Journal of Machine Tools & Manufacture 43(2003), S. 499–514.
Manchmal passiert aber, dass die erste Zeile eingerückt wird, wenn die Abkürzung zu groß ist (Übertrieben dargestellt)
[Bre11a]    Brecher, C.; Klocke, F.; Breitbach, T.; Do-Khac, D.; Heinen, D.; Karlberger, A.;
        Rosen, C.-J.: A hybrid machining center for enabling new die manufacturing
        and repair concepts. Production Engineering 5(2011), Nr. 4, S. 405–413. 
Ich dachte ich müsste einfach den Vertikalen Abstand zwischen dem Kürzel und der Beschreibung vergrößern und habe das gefunden:
\usepackage{etoolbox}
\patchcmd{\thebibliography}{\advance\leftmargin\labelsep}
  {\labelsep=1.7cm \advance\leftmargin\labelsep}{}{}
Klappt leider nicht, weil dann sieht es so aus:
[Bre11a]           Brecher, C.; Klocke, F.; Breitbach, T.; Do-Khac, D.; Heinen, D.; Karlberger, A.;
               Rosen, C.-J.: A hybrid machining center for enabling new die manufacturing
               and repair concepts. Production Engineering 5(2011), Nr. 4, S. 405–413. 
Ich würde mich wahnsinnig freuen, wenn jemand hier einen guten Tipp hätte!
Das Ziel wäre es, einfach den Tabstop nach rechts zu ziehen, sodass die Zeilen alle gleich ausgerichtet sind.

VG

Dennis

Gast

Beitrag von Gast »

\patchcmd{\thebibliography}
  {\leftmargin\labelwidth}
  {\leftmargin\labelwidth\labelsep=20pt}
  {}{}
Scheint bei mir ganz gut zu funktionieren. (Der Code kommt von http://tex.stackexchange.com/q/122529/)

Ohne ein Minimalbeispiel kann ich allerdings nicht sagen, ob das bei Dir auch das tut, was es in dem Link getan hat, ich bin da aber ganz guter Dinge.

dotwinx
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Sa 9. Mai 2015, 18:17

Beitrag von dotwinx »

Moin,

danke für deine Hilfe. Der Befehl von dir zusammen mit der etoolbox macht (leider) genau das gleiche wie der von mir gepostete Befehl. Ja, er verändert die Breite, aber der Umbruch wird nicht verhindert, siehe Bild im Anhang.

Ist das ein generelles Problem von Bibtex?

Bild
Dateianhänge
dotwinxBiblatexEinzug.jpg
dotwinxBiblatexEinzug.jpg (130.39 KiB) 2563 mal betrachtet

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4300
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

dotwinx hat geschrieben: Ist das ein generelles Problem von Bibtex?
Nein, es ein Problem deines speziellen (unbekannten) Codes/bst-Stil.

Gast

Beitrag von Gast »

Nun, mit dem Bild kann ich nun wenigstens Dein Problem nachvollziehen, und denke ich habe es jetzt verstanden. Das Problem war also nicht der Einzug an sich (und auch nicht ein "Umbruch", von dem Du in Deinem letzten Post sprachst), sondern der durch das etwas längere Label erzeugte zusätzliche Leerraum, der die erste Zeile ein wenig weiter in das Blattinnere befördert.

Ohne ein funktionierendes Beispiel sind wir natürlich in unserer Empfindungslos ein wenig eingeschränkt und müssen raten und hoffen, dass die Lösung funktioniert. Du könntest uns mit einem Minimalbeispiel (siehe zum Beispiel www.texwelt.de/wissen/fragen/569/ und http://golatex.de/wichtige-hinweise-ers ... 11964.html) helfen, den Enthusiasmus an dieser Frage nicht zu verlieren.

Gast

Beitrag von Gast »

Auf ein Neues.

Ich bitte um Verzeihung, dass ich hier rumrate, ich kann keinerlei Garantie für die Funktionsfähigkeit übernehmen.

Zunächst möchte ich feststellen, dass, falls Du manuell thebibliography nutzt, Du das erste Argument vernünftig befüllen möchtest (hier http://www.weinelt.de/latex/thebibliography.html Tiefenmuster genannt), dort sollte man idealerweise einfach das längste Label eintragen und schon wird der Platz automatisch angepasst.

Für normale BibTeX-Stile in Verbindung mit normalen Dokumentklassen ist das eigentlich nicht notwendig, denn die können das automatisch.

Unter der Annahme, dass die Berechnung irgendwie schief läuft, kannst Du mit dem folgenden Code Extraplatz einbauen
\patchcmd{\thebibliography}
  {\settowidth\labelwidth{\@biblabel {#1}}}
  {\settowidth\labelwidth{\@biblabel {#1}}%
   \addtolength{\labelwidth}{1cm}}
  {}{}
Das hilft natürlich nur, wenn dein Dokument dies unterstützt.

Nach allem was ich sehe, könnte es auch sein, dass jemand die Länge ein für alle mal manuell bestimmt und hardcoded hat.

dotwinx
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Sa 9. Mai 2015, 18:17

Beitrag von dotwinx »

Moin, erstmal vielen Dank für deine Unterstützung! Leider gibt mir der Code 5 Fehler raus und zwar folgende:
! Undefined control sequence.
l.20 \patchcmd
{\thebibliography}
! Argument of \thebibliography has an extra }.
<inserted text>
\par
l.20 \patchcmd{\thebibliography}
2 mal den:
! Paragraph ended before \thebibliography was complete.
<to be read again>
\par
l.20 \patchcmd{\thebibliography}
! You can't use `macro parameter character #' in restricted horizontal mode.
<argument> \@biblabel {##
1}
l.21 {\settowidth\labelwidth{\@biblabel {#1}}

Was ich vergessen habe zu erwähnen ist, dass ich eine "spezielle *.bst" Datei habe mit einem eigenen Stil. Diesen nutze ich nur und habe ich nicht selber erstellt.

Ich bin aber dem Vorschlag eines Minimalbeispiels gefolgt und habe herausgefunden, dass der Abstand verringert wird, wenn es Einträge im LIteraturverzeichnis gibt die vom Typ her "Standard", also Normen, sind.

Wenn ich alle \cite{} mit Normungen rausnehme ist der Abstand normal und kein Einrücken findet mehr statt. Daher glaube ich, dass die *.bst was damit zu tun haben könnte?

Gast

Beitrag von Gast »

Nun gut, das \usepackage{etoolbox} hättest Du natürlich drinlassen sollen... Nach allem, was ich jetzt gesehen habe, bin ich aber nicht sehr zuversichtlich, dass es funktioniert.

Ein manueller Ansatz könnte auch gehen
usepackage{etoolbox}
\patchcmd{\thebibliography}
  {\settowidth\labelwidth{\@biblabel {#1}}}
  {setlength{\labelwidth}{1cm}}
  {}{}

Es mag durchaus sein, dass die .bst schuld ist, es könnte aber auch deine Dokumentenklasse sein (wenn die nicht-standard ist).
Das können wir aber, ohne dass Du uns das Beispiel, das zu erstellt zu haben scheinst, zeigst, überhaupt nicht beurteilen. Wenn die .bst-Datei auf CTAN nicht zu finden ist, müsstest Du uns ein Link dazu bereitstellen oder (falls sie gar nicht im Internet ist) sie uns sonst irgendwie zur Untersuchung bereitstellen.

dotwinx
Forum-Newbie
Forum-Newbie
Beiträge: 7
Registriert: Sa 9. Mai 2015, 18:17

Beitrag von dotwinx »

Es funktioniert!! Vielen lieben Dank!

Zwei Backslash musste ich noch einfügen und nun ist das Eingerückte weg! Super, vielen Dank für deine Unterstützung!

Natürlich könnte ich unsere *bst-Datei auch hergeben, aber so die ideallösung isses eh nicht. ggf. versuchen wir mal was mit biblatex aufzubauen...

Mini-Beispiel habe ich nicht erstellt, weil ich ja klar nachweisen konnte, dass die "Standard" das Problem waren. Dokumentenklasse war und ist scrbook

Gast

Beitrag von Gast »

Ja die Backslashes habe ich im Eifer des Gefechts tatsächlich vergessen, sorry.

Bitte beachte aber, dass diese Lösung lediglich ad hoc ist: Der Abstand wird jetzt nicht mehr von TeX selbst berechnet (was die Ideallösung ist, bei Dir aber Probleme verursachte), sondern von Dir manuell vorgegeben (in dem Code oben 1 cm), Du musst jetzt also immer selbst schauen, ob die Abstände in Ordnung sind und den Abstand gegebenenfalls per Hand anpassen.

Nur weil das Problem nur bei Standards auftritt, heißt das natürlich nicht lange nicht, dass wir das Problem wirklich diagnostiziert haben, lediglich, dass Du das Symptom nur bei Standards feststellen könntest. Aber wenn die .bst selbstgebacken ist, ist es vielleicht nicht so einfach, das Problem dingfest zu machen.

Wenn Du die Zeit hast würde ich Dir auf jeden Fall empfehlen, das ganze mit biblatex nachzubauen, da ist die Syntax wesentlich näher an LaTeX als an der umgekehrten polnischen Notation der .bst-Dateien, das erleichtert einiges, außerdem besitzt biblatex eine Vielzahl an Features, für die man mit BibTeX lange arbeiten muss.

Antworten