Sie sind hier

Manuellen Zeilenumbruch in Bibtex erzwingen

Hallo Leute,

ich weiß, dass das kein spezielles KOMA-Script Problem ist, aber in anderen Foren konnte man mir bisher auch nicht helfen.

Ich würde gerne wissen, ob es eine Möglichkeit gibt generell in Bibtex einen manuellen Zeilenumbruch zu erzwingen. Manchmal sind die Quellen 3zeilig und mehr, oder ich habe eine so lange URL, dass die Quelle einfach auseinander gerissen wird und auf zwei Seiten verteilt wird. Das sieht natürlich recht bescheiden aus.

Daher meine Frage: Weiß jemand von euch wie man das generell machen kann? Ich glaube, dass die Lösung vom Paket unabhängig ist (hoffe ich zumindest, da ich sie öfter wechsle), aber ich verwende:

Bibtex mit \cite{}

\bibliographystyle{gerplain}
\bibliography{literatur}

Vielen Dank,

Miriam

forum: 

evtl. gibt's da nen Befehl wie \newblock oder sowas. Wenn du den dann umdefinierst, also \renewcommand{\newblock}{\newline}, dann gibt's nen Zeilenumbruch an der Stelle.

Bild von Markus Kohm

Und falls da kein \newblock steht, wird vermutlich die URL wenigstens mit irgend einer Anweisung realisiert. Da könnte man natürlich diese Anweisung so umdefinieren, dass sie zunächst ein \par\nobreak oder \newline\nobreak ausführt. Dann gibt es vor der URL generell einen Zeilen- aber keinen Seitenumbruch. Ohne das \nobreak ist hingegen der Seitenumbruch an der Stelle dann ebenfalls erlaubt.

Hmm wenn man renewcommand macht, dann ist doch der \newblock Befehl dann für alle folgenden umformuliert, oder?

Habe dann mal das Beispiel mit dem \renewcommand angewendet um zu schauen, ob das denn generell klappt. Manchmal möchte man halt auch einen gesamten Eintrag auf die andere Seite, manchmal einen Teil in die neue Zeile schreiben.

Habe das wie unten in der .bbl Datei realisiert, aber hat sich nichts geändert. Habe es geändert, dann gespeichert, dann 1x latex, 1x bibtex und 2x latex gemacht.

\bibitem{41}
{\sc Wiater, Werner}: {\em Schulbuchforschung in Europa - Bestandsaunahme und
Zukunftsperspektive}.
\renewcommand{\newblock}{\newline}\newblock \btxpagelong{}\ 24f. Bad Heilbrunn, 2003.

Hab ich das was falsch verstanden?

Bild von Markus Kohm

Wenn man die bbl-Datei editiert, darf man danach nie wieder bibtex aufrufen, ohne diese Editieraktion erneut auszuführen.

Mir ist bis heute übrigens noch nicht ganz klar, was Du den eigentlich willst, weil Du bereits in der Eröffnung dieser Diskussion zwar im Betreff von einem manuellen Zeilenumbruch sprichst, dann aber in der Erklärung, dass Du verhindern willst, dass ein Eintrag auf zwei Seiten verteilt wird.

Die Verhinderung eines Seitenumbruchs innerhalb eines Literaturverzeichniseintrags hatten wir hier übrigens dieser Tage bereits. Die dortige Lösung mit einer Box funktioniert.

Theoretisch kann man natürlich für manuelle Zeileumbrüche in der bib-Datei {\linebreak} o. ä. einfügen. Das wäre aber extrem gegen den Gedanken einer Literaturdatenbank. Eigentlich sollte man entweder das Literaturverzeichnis so gestalten, dass man keinen manuellen Umbruch innerhalb von Feldern benötigt (das ist die Idee, \newblock generell neue Zeilen erzeugen zu lassen) oder man muss das gesamte Literaturverzeichnis manuell nachbearbeiten. Letzteres kann man erst machen, wenn man sicher ist, bibtex nicht mehr aufrufen zu müssen. Letztlich läuft es darauf hinaus, dass man zumindest in der Endbearbeitung nicht mehr mit \bibliography arbeitet. Am besten benennt man dann auch die bbl-Datei um, gibt ihr die Endung tex und lädt sie mit \InputIfFileExists.

Hallo zusammen,

ich glaube, dass ich mit diesem Artikel bereits etwas in die gleiche Richtung gehendes Problem entdeckt habe.

Ich finde, dass das Problem noch nicht wirklich eindeutig gelöst worden ist.

Womit kann ich - um die Frage nochmals herauszustellen - einen Literatureintrag manuell

1.) entweder an einem Stück lassen und Ihn auf die darauffolgende Seite bringen (mittels Protect etc.) ODER

2.) zusätzliche Zeilen einfügen, damit ich den Eintrag eben mittels den zusätzlichen Zeilen

auf die darauffolgende Seite bringen kann.

Ich habe derzeit das gleiche Problem, dass Latex mir quasi einen Literatureintrag zerreißt und auf zwei Seiten verteilt. Wie der Thread - Ersteller bereits sagte, ist das visuell nicht schön.

Falls ich die Antwort aus den vorherigen Antworten überlesen haben sollte, verzeiht mir das bitte.

Ansonsten freue ich mich bereits auf eure Antworten :)

Grüßle
André

Bild von Markus Kohm

Du greifst hier eine uralte Diskussion wieder auf, anscheinend ohne diese komplett auszuwerten und bisher ohne etwas erkennbar Neues dazu beizutragen.

Wie bereits erwähnt, kann man – nicht über die bib-Datei, sondern über einen passenden BibTeX-Stil und ggf. die Anpassung von Makros, die ein BibTeX-Stil in die Literatureinträge einbaut oder durch nachträgliches Editieren der erzeugten bbl-Datei – jeden Literatureintrag in einer Box verpacken. Da LaTeX eine Box niemals über mehrere Seiten umbricht, sondern immer am Stück lässt, ist der Eintrag dann ebenfalls am Stück. Aus meinen früheren Äußerungen entnehme ich, dass im Forum eine solche Lösung bereits zu finden ist.

Zusätzliche Zeilen kann man in das Literaturverzeichnis nur einbauen, wenn man das fertige Verzeichnis (thebibliography-Umgebung beispielsweise in den erzeugten bbl-Dateien) editiert, da BibTeX selbst bei der Erstellung hier keinen Ansatz bietet.

Im scrguide, dessen Quellcode jedermann zur freien Verfügung steht, wird der Weg über die Änderung von Makros, die vom verwendeten BibTeX-Stil und dem verwendeten Paket babelbib eingesetzt werden, verwendet. Konkret werden dort alle Vorkommen von \par innerhalb der Makros eines Literaturverzeichnis-Eintrags durch \par\nobreak ersetzt. Vergleichbares muss man ggf. auch mit \\ (zu ersetzen durch \\*) machen. Diese präventive Maßnahme übersteht in der KOMA-Script-Anleitung auch die Neuerzeugung der bbl-Dateien. Ob eine solche Lösung überhaupt in Frage kommt und wie sie auszusehen hat, hängt von vielen Umständen ab.

Darüber hinaus kann man Feintuning, das man ggf. bei jeder Neuerstellung des Literaturverzeichnisses anpassen muss, auch über \enlargethispage erreichen. Dabei ergibt sich das Problem, dass man entweder wiederum die bbl-Datei editieren muss oder auf irgend einem Weg vor \bibliography dafür sorgen muss, dass diese Anweisung erst einige Seiten später ausgeführt wird. Hier könnten eventuell Pakete wie afterpage oder begshi zum Einsatz kommen, um die Ausführung zu verzögern. Für die Frage, wie das konkret geschehen kann, fehlt es wie so oft an einem konkreten Beispiel.

Sollten sich tatsächlich neue Aspekte zu dieser Problem ergeben, so hielte ich es für sinnvoll, diese auch neu aufzubereiten, also eine neue Diskussion mit sehr konkreten Ausführungen zu eröffnen. Ohne neue Aspekte und ohne neue Ausführungen zu der Problemstellung, habe ich auch nichts weiteres zu meinen bisherigen Ausführungen über Lösungsmöglichkeiten hinzuzufügen.

Natürlich habe ich mich vorab genügend informiert. Jedenfalls habe ich mich dann auf die Möglichkeit beschränkt, am Ende der Diplomarbeit die Bibtex-Einträge manuell anzupassen.

Zu der Kritik zum Öffnen einer "uralten Diskussion". Ist es nicht erwünscht, sinn- und themenverwandte Einträge fortzuführen, damit die Übersicht und das Gedankenknowhow und Ausführungen nicht in zahlreichen, unterschiedlichen Threads versickert?

Ich denke doch.

Grüßle
André

Bild von Markus Kohm

Ich kann nur auf das antworten, was Du in Deinen Fragen an Informationen lieferst. Aus Deiner Frage ging weder hervor, was Du genau getan oder probiert hast, noch was genau an den bisherigen Vorschlägen das Problem war.

Doppelklick, sry

Comments for "Manuellen Zeilenumbruch in Bibtex erzwingen" abonnieren