Hallo Stefan,
Danke für die Antwort.
\UrlBreaks zu redefinieren hat ja zunächst nicht viel direkt mit der Link-Anzahl zu tun.
Doch schon. Zum Beispiel habe ich für den zweiten Link im Minimalbeispiel erlaubt, dass er an jeder Zahl umbrechen darf. Danach gab es aber Links, die dann "falsch" bzw. optisch schlecht umgebrochen wurden, sodass ich die Redefinition rückgängig machen musste (wobei ich nicht mal weiß, ob ich alle Umbrüche getroffen habe).
Das ist im übrigen auch die aktuelle Lösung. Also ein:
Code:
\newcommand{\breakurlX}{\renewcommand*\UrlBreaks{\do\;\do=\do.\do\,\do\-\do\_\do\:\do\/\do\/\do\?\do\+\do\&\do\0\do\1\do\2\do\3\do\4\do\5\do\6\do\7\do\8\do\9}}
\newcommand{\breakurl}{\renewcommand*\UrlBreaks{\do\;\do=\do.\do\,\do\-\do\_\do\:\do\/\do\/\do\?\do\+\do\&}}
\item normaler Link \breakurlX
\item zu langer Link \breakurl
\item Normaler Link
Man definiert nur weitere Stellen, an denen umgebrochen werden darf.
Hm, eigentlich definiert man doch einen Ersatz und nicht zusätzliche Stellen, oder? Also
Code:
\renewcommand*\UrlBreaks{\do\A}
bricht NUR nach A um und nicht mehr nach / oder -.
Mein obiger Code ist aber nicht optimal, da könnte expandafter vielleicht etwas helfen, um es kürzer zu halten. Mal schauen, ob ich den alten Zustand damit auch herstellen kann.
Eine andere Möglichkeit gibt es nicht außer UrlBreaks umzudefinieren?
Drei Ideen, die ich gut fände:
1. Man sagt eben, dass \url nicht über den Rand schreiben darf und umbricht, egal wo. (Aber eben nur als Notfalllösung, wenn die normale Trennung nicht will.)
2. Man kann in der \url selbst einen manuellen Umbruch angeben, also sowas wie
Code:
\url{http://www.diesisteinlanger\\Link}
und bei \\ wird umgebrochen.
3. Man kann \UrlBreaks leicht ergänzen. (Aktuell überschreibe ich es ja und muss eben die bereits funktionierenden Umbrüche auch mit definieren. Ggf. klappt das aber mit expandafter.)
Edit: Aktuelle Lösung sieht nun so aus. Ist aber eben noch sehr manuell, wovon ich gerne weg würde und vor allem immer noch nicht richtig:
Code:
\newcommand{\expandurl}[1]{\expandafter\def\expandafter\UrlBreaks\expandafter{\UrlBreaks#1}}
\begin{small}
\begin{enumerate}
\item \url{http://www.linuxdevices.com/news/articles/NS6684279122.html}
\expandurl{\do\9}
\item \url{http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cf7ee554f3a324e98181b0ea249d9d5be3a0acb8}
\expandurl{\do\h}
\item \url{http://itmanagement.earthweb.com/features/article.php/3785236/Netbook+Smackdown:+Compare+the+Six+Top+Netbooks.htm}
\expandurl{\do\s}
\item \url{http://www.gin-online.de/archive/downloads/nachwuchspreis_2007/Diplomarbeit_Neis.pdf}
\end{enumerate}
\end{small}
Das führt beim dritten Link leider dazu, dass das so umgebrochen wird:
Code:
3. http://itmanagement.earth
web.com/features/article.ph
p/3785236/Netbook+Smackdown:
+Compare+the+Six+Top+Netbooks.
htm
Der Umbruch nach "ph" in "php" ist natürlich blöd, besser wäre der Umbruch nach dem Punkt in "article.". Manuelles Definieren ist also noch nicht das Wahre (außer man testet, denn mit \do\b) klappt es besser).
Viele Grüße Dee
PS: Nur als Hinweis: Die Matroids-Links gehen ohne Cookies leider nicht.
Lesezeichen