Zeilenumbruch von URLs mit langen IDs

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

Markdown is OFF

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Zeilenumbruch von URLs mit langen IDs

von KOMA » Di 23. Dez 2008, 09:28

Eine goldene Regel der Typografie besagt: Blocksatz darf niemals durch Sperrung erreicht werden. Es ist IMO besser, sich vom Blocksatz zu verabschieden, als ihn dadurch zu erzwingend, dass man zwischen Buchstaben statt zwischen Wörtern Abstand einfügt. Übrigens halte ich es oftmals für vorteilhaft, das Literaturverzeichnis nicht im Blocksatz zu setzen. Ich habe auch im KOMA-Script-Buch darauf verzichtet.

Jan Tschichold beschäftigt sich übrigens in gleich drei seiner 14 Hauptregeln der Typografie (beispielsweise in Erfreuliche Drucksachen durch gute Typografie) mit dem Thema Sperren, so wichtig ist es ihm.

von Idracab » Mo 22. Dez 2008, 23:35

Danke für die Info. Werde es nächstes mal direkt mit einem Minimalbeispiel versuchen...

Das Erweitern von \UrlBreaks könnte leider Nebeneffekte haben, da ich auch einige kürzere URLs mit Zahlen im Literaturverzeichnis habe, die aber weiterhin nach den normalen Regeln von \url umgebrochen werden sollten.

An eine Tiny-URL hatte ich auch schon aus den von dir genannten Gründen gedacht. Da ist für mich aber leider die Frage, ob das mein Prof als korrektes Zitieren ansieht. Müsste ich daher erst mal abklären...

Für die beiden konkreten Einträge, bei denen ich das beschriebene Problem hatte, habe ich inzwischen eine funktionierenden Workaround gefunden. Im Prinzip funktioniert es genau wie in meinem ersten Post skizziert. Die Warnungen habe ich mittels des \textls[]{} Befehls aus dem microtype Pakets und Suchen eines passenden Wertes wegbekommen:

Code: Alles auswählen

@MISC{EXAMPLE,
   author = {example},
   title = {example},
   year = {2008},
   url = {\href{http://download.company.com/SMIDE/download.epd?context=61725C8F0C9A2DC31AD2DABE453F0C6EC1F8A5ACF75DD7DCC059F1BCD641C0925843B34F4F201D3368699B5E0B36059746A72EF7428AFD19}{\textls[28]{http://""download.""company.""com/""SMIDE/""download.""epd?""context=""6""1""7""2""5""C""8""F""0""C""9""A""2""D""C""3""1""A""D""2""D""A""B""E""4""5""3""F""0""C""6""E""C""1""F""...}}},
   lastchecked = {18.12.2008}
}
Die Lösung ist aber von recht vielen Faktoren (Seitenbreite, Texte in author und title...) abhängig. Schon bei sehr kleinen Änderungen muss unter Umständen wieder ein neuer Wert für den Parameter von \textls gesucht werden.
Wollte das eigentlich nochmal an einem kompletten Minimalbeispiel demonstrieren, aber habe dabei gemerkt, dass nicht immer ein passender Parameter-Wert gefunden werden kann. Wenn jemand trotzdem Interesse an dieser Lösung hat, versuche ich gerne nochmal ein Beispiel zu konstruieren bei dem es funktioniert.

Bin daher weiterhin an einer allgemeingültigeren Lösung interessiert...

Re: Zeilenumbruch von URLs mit langen IDs

von KOMA » Mo 22. Dez 2008, 10:08

Idracab hat geschrieben:Hat jemand eine Idee, wie man solche URLs vernünftig setzen könnte? Ich bin für jeden Hinweis dankbar!
Dann gebe ich Dir den Hinweis, dass Deine Chancen auf eine gute Antwort erheblich steigen, wenn Du zukünftig ein vollständiges Minimalbeispiel lieferst.
Ein solches könnte beispielsweise so aussehen:

Code: Alles auswählen

\begin{filecontents*}{tmp.bib}
@PREAMBLE{
  "\csname g@addto@macro\endcsname\UrlBreaks{%
    \do0\do1\do2\do3\do4\do5\do6\do7\do8\do9}" }
@MISC{EXAMPLE, 
  author = {example}, 
  title = {example}, 
  year = {2008}, 
  url = {http://download.company.com/SMIDE/download.epd?context=61725C8F0C9A2DC31AD2DABE453F0C6EC1F8A5ACF75DD7DCC059F1BCD641C0925843B34F4F201D3368699B5E0B36059746A72EF7428AFD19}, 
  lastchecked = {18.12.2008} 
}
\end{filecontents*}

\documentclass{article}
\usepackage{url}
\bibliographystyle{alphadin}
\begin{document}
Test \cite{EXAMPLE}

\bibliography{tmp}
\end{document}
Theoretisch kann man das noch um Umbrucherlaubnis für Großbuchstaben erweitern.
Vernünftigen Blocksatz darf man sich dabei natürlich nicht erwarten. Das würde ja nur funktionieren, wenn die Zeilenbreite zufällig passen würde.

Grundsätzlich ist zu bedenken, dass solche URLs in gedruckten Dokumenten geradezu unverschämt sind, da niemand die abtippen will und kaum jemand die beim ersten Versuch fehlerfrei abtippen kann. Man sollte ggf. darüber nachdenken, eine tiny-URL dafür anzulegen.

Zeilenumbruch von URLs mit langen IDs

von Gast » So 21. Dez 2008, 01:36

tscha, wenn ich das richtig sehe bleibt nur grobes abschätzen und dann in die nähe des vermeindlichen Umbruches ein paar \allowbreak{} einstreuen.

Zeilenumbruch von URLs mit langen IDs

von Idracab » Sa 20. Dez 2008, 18:17

Hallo,

ich schreibe gerade mit LaTeX meine Diplomarbeit und habe Probleme mit dem Umbruch von URLs im Literaturverzeichnis. Für das Erzeugen des Verzeichnisses benutze ich den Bib-Style natdin, der die URL-Felder der BibTeX-Einträge mittels \url{...} umsetzt. Das Problem entsteht dadurch, dass einige meiner Quellen-URLs sehr lange eindeutige IDs enthalten, die nur aus Buchstaben bestehen, und daher in diesem Bereich keine Trennstellen besitzen:

Code: Alles auswählen

@MISC{EXAMPLE,
	author = {example},
	title = {example},
	year = {2008},
	url = {http://download.company.com/SMIDE/download.epd?context=61725C8F0C9A2DC31AD2DABE453F0C6EC1F8A5ACF75DD7DCC059F1BCD641C0925843B34F4F201D3368699B5E0B36059746A72EF7428AFD19},
	lastchecked = {18.12.2008}
}
Bisher habe ich versucht den \url{...} Befehl aus der dem Bib-Style zu entfernen und stattdessen die URLs mittels \href{url}{text} und manuellen Trennstellen zu setzen:

Code: Alles auswählen

@MISC{EXAMPLE,
	author = {example},
	title = {example},
	year = {2008},
	url = {\href{http://download.company.com/SMIDE/download.epd?context=61725C8F0C9A2DC31AD2DABE453F0C6EC1F8A5ACF75DD7DCC059F1BCD641C0925843B34F4F201D3368699B5E0B36059746A72EF7428AFD19}{http://""download.""company.""com/""SMIDE/""download.""epd?""context=""6""1""7""2""5""C""8""F""0""C""9""A""2""D""C""3""1""A""D""2""D""A""B""E""4""5""3""F""0""C""6""E""C""1""F""...}},
	lastchecked = {18.12.2008}
}
Eigentlich hatte ich geofft, dass LateX auf diese Weise sinnvolle Trennstellen findet und die URL innerhalb der ID sinnvoll ohne Trennstriche umbricht. Das klappt soweit auch grundsätzlich ganz gut, jedoch entstehen weiterhin zahlreiche overfull und underfull box Warnungen und der Blocksatz sieht dadurch noch nicht vernünftig aus...

Hat jemand eine Idee, wie man solche URLs vernünftig setzen könnte? Ich bin für jeden Hinweis dankbar!

Viele Grüße,
Idracab

EDIT: Ich hoffe ich habe das richtige Unterforum erwischt, weil es ja eigentlich kein Problem mit dem Literaturverzeichnis an sich ist...

Nach oben