PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : URL in BibTex (Zeilenumbruch funktioniert nicht richtig und Leerzeichen in der URL)



whitecobra82
09-08-2007, 16:27
Hallo! Irgendwie bekomm ich sehr lange URLs nicht richtig in mein Literaturverzeichnis eingefügt. Der zeilenumbruch funktioniert zwar, aber er stzt die erste Zeile rechtsbündig und die nachfolgenden linksbündig. Auch wird anch jeden "/" ein Leerzeichen eingefügt, obwohl in der *.bib keine Leerzeichen vorhanden sind. Ich benutze das url package. Hier das Minimalbeispiel:



\documentclass[pdftex,a4paper,parskip]{scrreprt}
\usepackage{ngerman}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{url}
\urlstyle{rm}
\usepackage{bibgerm}
\bibliographystyle{plaindin}

\begin{document}
\chapter{Testkapitel}
Testzitat \cite{url}
\bibliography{literatur}
\end{document}


und die literatur.bib



@BOOKLET{url,
title = {\url{http://www.chemgapedia.de/vsengine/vlu/vsc/de/ph/14/ep/einfuehrung/magnetfeld/materie.vlu/Page/vsc/de/ph/14/ep/einfuehrung/magnetfeld/materie/materie01.vscml.html}},
owner = {Thomas Nentwig},
timestamp = {2007.08.09}
}


Gruß
Thomas

edico
10-08-2007, 07:41
Dein File bekomme ich nicht zum Laufen; ich vermute, dass die packages nicht besonders 'glücklich' sind.

Ich habe es so geändert, so dass ein Lösung generiert wird mit einem Zeilenumbruch, der doch vollkommen i.O. ist:

\begin{filecontents*}{literatur.bib}
@url{url,
title = {\url{http://www.chemgapedia.de/vsengine/vlu/vsc/de/ph/14/ep/einfuehrung/magnetfeld/materie.vlu/Page/vsc/de/ph/14/ep/einfuehrung/magnetfeld/materie/materie01.vscml.html}},
author = {Thomas Nentwig},
Urldate = {2007/08/09}
}
\end{filecontents*}
%
\documentclass[pdftex,a4paper,parskip]{scrreprt}
\usepackage{ngerman}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{mathptmx,helvet,courier}
\usepackage{url}
\urlstyle{rm}
%\usepackage{bibgerm}
%\bibliographystyle{plaindin}
\usepackage[sort]{natbib}
\bibliographystyle{plainnat}

\begin{document}
\chapter{Testkapitel}
Testzitat \cite{url}
\bibliography{literatur}

\hrule% just_4_testing
\end{document}

edico

P.S. alles Weitere habe ich mir nicht angeschaut ...

whitecobra82
10-08-2007, 13:05
Ich würd aber gern den plaindin Stil verwenden. Das Problem liegt da an der Ausrichtung der ersten Zeile der URL und der nachfolgenden Zeilen. Die erste Zeile der URL wird am rechten Dokumentenrand ausgerichtet, die umgebrochenen Zeilen werden ganz normal links ausgerichtet. Ich möchte aber, dass alle Zeilen am linken Rand ausgerichtet werden. Ahso den Autor hab ich aus deiner literatur.bib Datei rausgenommen, weil ich die URLs nur so ohne Zusatzinformationen angeben möchte. Hab zusätzlich mal was "Text" eingegeben, damit man besser sieht, wo der Dokumentenrand ist. Im die bei mir erzeugte PDF Datei.

\begin{filecontents*}{literatur.bib}
@url{url,
title =
{\url{http://www.testseite.de/start/start2/sehrlangeswortalstestindieserurl/hiergehtdieurljetztweiter/test.html}},
}
\end{filecontents*}
%
\documentclass[pdftex,a4paper,parskip]{scrreprt}
\usepackage{ngerman}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{mathptmx,helvet,courier}
\usepackage{url}
\urlstyle{rm}
%\usepackage{bibgerm}
\usepackage[sort]{natbib}
%\bibliographystyle{plainnat}
\bibliographystyle{plaindin}

\begin{document}
\chapter{Testkapitel}
Testzitat \cite{url} test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test
\bibliography{literatur}

\hrule% just_4_testing
\end{document}

edico
10-08-2007, 17:02
Dein PDF document unterschlägt den Autor in der Litaraturliste (hinter der Zahl, vor dem Link). Deswegen die 'grosse Lücke. Du must andere Fonts wählen oder laden.

Wenn Du den style behalten willst, dann ist es so ... IMHO aber durchaus ok.

edico

whitecobra82
10-08-2007, 17:21
Bei URLs gebe ich ja in der *.bib Datei überhaupt keinen Autor an. Die Frage ist, ob man den Stil des Literaturverzeichnisses so anpassen kann, dass bei Literatur vom Typ BOOKLET (den Typ verwende ich nur für URLs) direkt hinter der Zahl mit dem Titel (in dem Fall also der URL) begonnen wird. Für mich sieht es aber dennoch eher so aus, als ob die erste Zeile am rechten Rand ausgerichtet wird. Wenn ich nämlich einen Autor unterschiedlicher Länge angebe, hab ich zwischen Autor und URL einen Abstand der immer variiert, und zwar so, dass das Ende der ersten URL Zeile bündig mit dem rechten Rand abschließt (siehe Anhang).

whitecobra82
10-08-2007, 18:49
Hab hier im Forum nun selber eine (Teil-)Lösung gefunden:

Mit dem Packet \usepackage{ragged2e} im Header setzt man vor und hinter den Eintrag des Literaturverzeichnisses ein raggedright, also:
\begin{raggedright}
\bibliography{kapitel/literatur}
\end{raggedright}

Dadurch ist das Literaturverzeichnis dann nicht mehr im Blocksatz sondern Linksbündig. Jetzt würd mich nur noch die Frage interessieren, ob ich dieses raggedright nur für bestimmte Einträge im Literaturverzeichnis verwenden kann. Also quasi URLs mit raggedright linksbündig und alle anderen Quellen im Blocksatz. Hat da vielleicht wer eine Idee?

rais
10-08-2007, 20:35
Moin moin,

Hab hier im Forum nun selber eine (Teil-)Lösung gefunden:

Mit dem Packet \usepackage{ragged2e} im Header setzt man vor und hinter den Eintrag des Literaturverzeichnisses ein raggedright, also:
\begin{raggedright}
\bibliography{kapitel/literatur}
\end{raggedright}

AFAIK ist \raggedright ein Schalter, keine Umgebung -- und wenn Du das ragged2e-Paket ohne newcommands-Option einbindest, dann lautet der bessere Befehl \RaggedRight (bzw. als Umgebung auch FlushLeft)


Dadurch ist das Literaturverzeichnis dann nicht mehr im Blocksatz sondern Linksbündig. Jetzt würd mich nur noch die Frage interessieren, ob ich dieses raggedright nur für bestimmte Einträge im Literaturverzeichnis verwenden kann. Also quasi URLs mit raggedright linksbündig und alle anderen Quellen im Blocksatz. Hat da vielleicht wer eine Idee?
Trenne Deine Literatur doch einfach nach URLs und sonstigen Verweisen, z. B. mit multibib -- und nur das URL-Verzeichnis bindest Du dann innerhalb {\RaggedRight .. } ein.
MfG,

whitecobra82
10-08-2007, 21:06
AFAIK ist \raggedright ein Schalter, keine Umgebung -- und wenn Du das ragged2e-Paket ohne newcommands-Option einbindest, dann lautet der bessere Befehl \RaggedRight (bzw. als Umgebung auch FlushLeft)

Hmm wenn ich das ganze aber mit

\begin{FlushLeft}
\bibliography{kapitel/literatur}
\end{FlushLeft}

mache oder auch mit

\begin{RaggedRight}
\bibliography{kapitel/literatur}
\end{RaggedRight}

dann ist die erste Zeile von umbrochenen URLs im Literaturverzeichnis nicht Bündig mit den ganzen adneren ersten Zeilen...da is dann irgendwie ein kleiner Abstand.


Trenne Deine Literatur doch einfach nach URLs und sonstigen Verweisen, z. B. mit multibib -- und nur das URL-Verzeichnis bindest Du dann innerhalb {\RaggedRight .. } ein.

Ahso...von multibib hab ich noch nix gehört...werd mich diesbezüglich dann mal im Forum umschauen. Danke für den Tip. Brauch ich dann zwei *.bib Dateien? Oder kann ich sagen Typ A, B, C von Literatur ins erste Verzeichnis und Typ D, E ins zweite Verzeichnis?

rais
11-08-2007, 14:52
Moin moin,

Hmm wenn ich das ganze aber mit

\begin{FlushLeft}
\bibliography{kapitel/literatur}
\end{FlushLeft}

mache oder auch mit

\begin{RaggedRight}
\bibliography{kapitel/literatur}
\end{RaggedRight}

dann ist die erste Zeile von umbrochenen URLs im Literaturverzeichnis nicht Bündig mit den ganzen adneren ersten Zeilen...da is dann irgendwie ein kleiner Abstand.

wenn Du den vertikalen Abstand meinst, dann solltest Du auf die Umgebung verzichten -- und wie gesagt, \RaggedRight ist eigentlich nicht als solche definiert und sollte deshalb nur als Schalter verwendet werden:


{\RaggedRight
\bibliography{kapitel/literatur}}


Brauch ich dann zwei *.bib Dateien?
Nein. Du kannst Deine Quellen entsprechend aufteilen, es zwingt Dich aber keiner dazu.;-)
MfG,

whitecobra82
13-08-2007, 00:40
Hab jetzt die zwei Literaturverzeichnisse mit dem Packet bibtopic realisiert und bin eigentlich auch sehr zufrieden. Es gibt nur noch ein winzig kleines Problem: ich habe RaggedRight als Schalter vor das Internetquellenverzeichnis gesetzt.


\addchap{Literaturverzeichnis}
\begin{btSect}{lit}
\section*{Allgemeine Literaturquellen}
\btPrintCited
\end{btSect}
{\RaggedRight
\begin{btSect}{url}
\section*{Internetquellen}
\btPrintCited
\end{btSect}}

Jetzt bleibt bei mehrzeiligen URLs zwischen der Quellenzahl und dem Beginn der Internetadresse leider immer ein kleiner Abstand. Bei URLs die nur über eine Zeile gehen ist das nicht der Fall (siehe Screenshot Quelle 16). Gibt es hierfür auch noch eine Lösungsmöglichkeit?