PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zeilenumbruch im Literaturverzeichnis



Sveta
05-03-2008, 08:06
Hallo alle,

ich hätte folgende Frage: wie kann man einen Zeilenumbruch bei der Quellen-Angabe erzwingen? Ich habe beispielsweise folgenden Eintrag in .bib:

@Misc{UniUlm,
title = {Homepage der {U}niversity of {U}lm},
note = {\url{http://www.uni-ulm.de/}}
}

als Ausgabe bekomme ich folgendes:
[uni] Homepage der University Ulm. http://www.uni-ulm.de/.

Ich möchte aber das die Internet-Adresse auf nächster Zeile steht. Wie geht das???

Und wenn ich schon dabei bin, dann noch eine Frage: warum muss ich immer mindestens 2 Mal das Projekt kompilieren, um die Literaturverweise korrekt zu bekommen? Gibts vielleicht eine Lösung dafür?

Danke im voraus für die Hilfe!

Gruß, Sveta

rais
05-03-2008, 10:43
Moin moin,
bitte keine Doppelposts (http://www.mrunix.de/forums/showthread.php?t=57070)


ich hätte folgende Frage: wie kann man einen Zeilenumbruch bei der Quellen-Angabe erzwingen? Ich habe beispielsweise folgenden Eintrag in .bib:

@Misc{UniUlm,
title = {Homepage der {U}niversity of {U}lm},
note = {\url{http://www.uni-ulm.de/}}
}

als Ausgabe bekomme ich folgendes:
[uni] Homepage der University Ulm. http://www.uni-ulm.de/.

Ich möchte aber das die Internet-Adresse auf nächster Zeile steht. Wie geht das???

und bitte Code in die entsprechenden Tags hier setzen



...
oder einfach auf das `#'-Symbol klicken;-)

Aber genug der Formalitäten...

Etwa so könnte sowas aussehen -- ich gehe mal davon aus, daß Du \url auch andernorts im Text verwendest bzw. verwenden willst, dort aber keine neue Zeile für die URL generiert werden soll:


\begin{filecontents}{bar.bib}
@Misc{UniUlm,
title = {Homepage der {U}niversity of {U}lm},
note = {\urlnewpar{http://www.uni-ulm.de/}}
}
\end{filecontents}
\documentclass{article}
\usepackage{url}
\newcommand\urlnewpar{%
\ifhmode\par\fi%
\url}
\begin{document}
\cite{UniUlm}
\bibliographystyle{plain}
\bibliography{bar}
\end{document}

Alternativ könntest Du diesen \urlnewpar auch etwa so deklarieren:


\newcommand\urlnewpar{

\url}
also mit einer Leerzeile am Anfang -- diese werden manchmal aber gerne übersehen, wenn es um eigene Befehlsdefinitionen geht;-)


Und wenn ich schon dabei bin, dann noch eine Frage: warum muss ich immer mindestens 2 Mal das Projekt kompilieren, um die Literaturverweise korrekt zu bekommen? Gibts vielleicht eine Lösung dafür?

Speichere das obige Minimalbeispiel mal als `foo.tex' ab, dann sind folgende Schritte nötig, damit die Ausgabe am Ende stimmt:

latex foo.tex
bibtex foo
latex foo.tex
latex foo.tex

Nach dem ersten latex-Lauf existiert eine `foo.aux', in der u. A. drinsteht, was alles zitiert werden soll (durch \cite eingetragene \citation-Befehle, hier nur einer), nach welchem Stil zitiert werden soll (\bibstyle) und welche .bib verwendet werden soll (\bibdata).
Hier wird auch noch der Inhalt der filecontents-Umgebung in die Datei `bar.bib' geschrieben (so diese noch nicht existiert).
Diese Informationen werden von bibtex entsprechend ausgewertet und eine `foo.bbl' wird erzeugt.
Die `foo.bbl' wird im anschließenden latex-Lauf auch beim \bibliography-Befehl eingelesen und entsprechend gesetzt; dadurch wird eine weitere Information in die `foo.aux' geschrieben: \bibcite -- diese Information hätte der entsprechende \cite-Befehl auch verwertet, hätte er sie nur gehabt ... aber dieser \cite wurde ja bereits vor \bibliography ausgeführt, d. h. zu diesem Zeitpunkt stand diese Information noch nicht zur Verfügung; wenn Du Dir jetzt einmal das Ergebnis ansiehst, solltest Du zwar eine [1] vor dem Eintrag im Literaturverzeichnis bekommen aber noch ein [?] beim \cite: erst nach dem darauffolgenden latex-Lauf erscheint auch dort eine [1].
Dann kommt noch hinzu, daß sich durch das nun eingefügte Material andere Referenzen verschieben können -- bei nicht numerischen Zitierstilen ist dieses Problem etwas anschaulicher, da hier statt `?' z. B. `Autor (Jahr)' gesetzt wird: die Strings sind dort also wesentlich länger, als so ein `?'; d. h. es kann das eine oder andere referenzierte Material auf eine andere Seite verschoben werden, wodurch noch mindestens ein latex-Lauf nötig wird, um die so verschobenen Referenzen korrekt aufzulösen.;)

MfG

Sveta
05-03-2008, 13:47
Hallo rais,

Vielen herzlichen Dank für die Hilfe!
Es hat funktioniert mit dem Zeilenumbruch :)

Also zu Formalitäten...Hier http://www.mrunix.de/forums/showthread.php?t=38129 steht:

Antwortet niemand, so erst nochmals nachfragen, wenn der Post nicht mehr sichtbar (also weit nach "hinten" gerückt ist).

Dies war auch mein Fall. So... :)

Vielen Dank auch für die Erklärung warum man 2 mal kompilieren muss.
Ist aber echt sehr ärgerlich da immer zu lang dauert :mad:

Gruß, Sveta

rais
05-03-2008, 14:51
Also zu Formalitäten...Hier http://www.mrunix.de/forums/showthread.php?t=38129 steht:

Antwortet niemand, so erst nochmals nachfragen, wenn der Post nicht mehr sichtbar (also weit nach "hinten" gerückt ist).


damit ist gemeint, den bereits bestehenden Thread wieder nach vorne zu holen, nicht einen neuen Thread zu erstellen. Stell Dir einfach vor, jmd. hat dasselbe Problem, nutzt die hiesige SuFu und findet zig Titel mit derselben Überschrift ... Ok, das kann u. U. trotzdem passieren, aber die müssen ja nicht auch noch alle vom selben Autor stammen.;)

BTW: schau Dir in dieser Liste den Punkt direkt davor mal an;-)

MfG

Sveta
05-03-2008, 15:04
Oh!.. Wie geht denn das? Sorry, ich bin da ziemlich neu...

rais
05-03-2008, 15:28
was, den Thread nach vorne holen? Genau das hast Du gerade mit diesem Thread gemacht -- also einfach im entsprechenden Thread auf "Antworten" klicken ... nach vorne kommt er dann ganz von selbst.
Bei dieser Gelegenheit auch gleich überlegen, ob vielleicht zusätzliche Informationen von Nutzen sein könnten -- kann ja sein, daß die Frage zu allgemein formuliert war und deshalb unbeantwortet blieb -- Wunder wirken hier meist sogenannte Minimalbeispiele,;) aber jede zusätzliche Information, die die Frage eindeutig(er) macht oder hilft, das Problem einzugrenzen, fallen imho in diese Kategorie.

MfG