Das ist etwas seltsam. Ich habe versucht, \url{}
Blöcke so zu gestalten, dass sie wirklich lange URLs umbrechen, und das einzige, was zu funktionieren schien, war, den \UrlBreaks
Befehl zu erneuern, um das Umbrechen bei praktisch allen Zeichen zu ermöglichen.
Dadurch wird zwar verhindert, dass die lange URL über die Seitenränder hinausragt, es werden jedoch anscheinend trotzdem Zeichen in die Bereiche für Randnotizen (definiert durch \marginparsep
und \marginparwidth
) verschoben.
Das folgende Dokument zeigt das Problem:
\RequirePackage[hyphens]{url}
\documentclass[12pt]{article}
\usepackage[hyphens]{url}
\PassOptionsToPackage{hyphens}{url}
\usepackage[colorlinks=true, urlcolor=blue]{hyperref}
\usepackage[margin=1cm, bottom=3.5cm, top=3.5cm, head=2cm]{geometry}
\usepackage{showframe}
\usepackage{blindtext}
\setlength\parindent{0pt}
\let\origUrlBreaks\UrlBreaks
\renewcommand*{\UrlBreaks}{\origUrlBreaks\do\a\do\b\do\c\do\d\do\e\do\f\do\g\do\h\do\i\do\j\do\k\do\l\do\m\do\n\do\o\do\p\do\q\do\r\do\s\do\t\do\u\do\v\do\w\do\x\do\y\do\z\do\A\do\B\do\C\do\D\do\E\do\F\do\G\do\H\do\I\do\J\do\K\do\L\do\M\do\N\do\O\do\P\do\Q\do\R\do\S\do\T\do\U\do\V\do\W\do\X\do\Y\do\Z\do\0\do\1\do\2\do\3\do\4\do\5\do\6\do\7\do\8\do\9\do\.\do\/\do\-\do\_\do\?\do\&\do\=}
\begin{document}
\blindtext
\url{http://really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-long-url.com}
\end{document}
Wenn ich es kompiliere, wird die Hälfte des 'y' und das gesamte '-' in den \marginparsep-Bereich verschoben. Bei Blöcken mit normalem Text scheint dies jedoch nicht der Fall zu sein. Siehe hier:
Weiß jemand, warum das passiert und was man tun kann, um das Problem zu beheben?
Antwort1
Ihre Zeilen sind nicht flexibel, sodass TeX nirgends unterbrochen werden kann.
Hinzufügen
\Urlmuskip = 0mu plus 1mu