goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Direktlinks:
Zuletzt aktive Beiträge
Unbeantwortete Beiträge
[Erweitert]

Forenstatistik:
Beiträge: 98899
Top-Poster: Johannes_B (5059)

Wir begrüßen unseren neuesten Benutzer tobi_nambur.

Links:


Mit Unterstützung von DANTE e.V.: Deutschsprachige Anwendervereinigung TeX. Danke den Mitgliedern!





Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Überlaufende URL

 

Bebbi
Forum-Fortgeschrittener
Forum-Fortgeschrittener

Beiträge: 66
Anmeldedatum: 04.01.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.08.2018, 20:15     Titel:
  Antworten mit Zitat      
Anonymous hat Folgendes geschrieben:
Wie gesagt, mit xurl kann überall umgebrochen werden, aber das wird bei URLs mit echten Wörtern wohl meist zu unschönen Trennungen führen.


Da bin ich gerade, aber es klappt nicht. Paket installiert sich nicht.

Zitat:
! LaTeX Error: File `xurl.sty' not found.Type X to quit or <RETURN> to proceed,or enter new name. (Default extension: sty)Enter file name:! Emergency stop.<read > \usepackage


Auch im MikTeX Paket Manager finde ich das Paket nicht. Da bin ich jetzt überfragt.

Anonymous hat Folgendes geschrieben:

Wenn man da manuell was basteln möchte, muss man es wohl mit \href{<URL>}{<Text>} probieren, denn wenn man im Argument von \url herumpfuscht ändert das meist das Linkziel.


Mit
Code • Öffne in Overleaf
\textsl{Gemäß der amtlichen Statistik des Landes Nordrhein-Westfalen (\href{https://www.landesdatenbank.nrw.de}{\texttt{https://www.landesdatenbank.nrw.de}}) war am 31.\,12.\,2016 Ort 1 XXX,XX und Ort II YYY,YY Quadratkilometer groß.}


wird die komplette URL in eine Zeile gesetzt.

Code • Öffne in Overleaf
\documentclass[ngerman]
              {scrbook}

\usepackage{babel}

\usepackage{scrlayer-scrpage}
\KOMAoptions{headsepline=0.8pt}

\usepackage{hyperref}

\begin{document}

\textsl{Gemäß der amtlichen Statistik des Landes Nordrhein-Westfalen (\href{https://www.landesdatenbank.nrw.de}{\texttt{https://www.landesdatenbank.nrw.de}}) war am 31.\,12.\,2016 Ort 1 XXX,XX und Ort II YYY,YY Quadratkilometer groß.}

\end{document}


Dann gibt es ja noch \UrlBreaks (Year, wiedergefunden). Aber wird sich wohl auf alle URL auswirken, funktioniert hier aber grundsätzlich. Meine Idee war, da eine länger Sequenz zu definieren wie"en" oder "daten", aber das geht nicht - auch nicht, wenn man's in geschweifte Klammern setzt.

Code • Öffne in Overleaf
\documentclass[ngerman]
              {scrbook}

\usepackage{babel}

\usepackage{scrlayer-scrpage}
\KOMAoptions{headsepline=0.8pt}

%\usepackage{xurl}
\usepackage{hyperref}
\def\UrlBreaks{\do\s\do\n}

\begin{document}

\textsl{Gemäß der amtlichen Statistik des Landes Nordrhein-Westfalen (\url{https://www.landesdatenbank.nrw.de}) war am 31.\,12.\,2016 Ort 1 XXX,XX und Ort II YYY,YY Quadratkilometer groß.}

\end{document}
Private Nachricht senden Benutzer-Profile anzeigen

Bebbi
Forum-Fortgeschrittener
Forum-Fortgeschrittener

Beiträge: 66
Anmeldedatum: 04.01.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.08.2018, 20:58     Titel:
  Antworten mit Zitat      
Anonymous hat Folgendes geschrieben:

Prinzipiell wäre es möglich, die URL auch mitten im "Wort" umzubrechen, also irgendwo in "landesdatenbank", da in URLs aber die Trennmuster der Sprachen nicht gelten, kannst Du nicht damit rechnen, dass die Trennung nach sprachlich korrekten Trennungsregeln erfolgt. Das Paket xurl zum Beispiel erlaubt Trennungen überall und würde in dem Beispiel hier
Code • Öffne in Overleaf
https://www.la
ndesdatenbank.nrw.de

trennen.

Aber das wirkt doch dann auf alle URL?

Anonymous hat Folgendes geschrieben:

Wenn Du im Text nur einen Kurzverweis gibst und die URL in ein Quellenverzeichnis aufnimmst, dann könnte man dort eventuell durch Umstellung von Blocksatz auf linksbündigen Textsatz Probleme mit Umbrüchen in der URL verhindern. In solchen Verzeichnissen ist es auch akzeptabler notfalls größere Lücken im Blocksatz zuzulassen, daher gibt es dort ein paar Möglichkeiten, die ich im Fließtext nicht unbedingt probieren wollte. https://tex.stackexchange.com/q/442308/35864


Mir noch zu hoch. Sad

Auch was es mit \burl auf sich hat, checke ich gerade nicht
s. https://tex.stackexchange.com/quest.....break-long-url-in-an-item

Anonymous hat Folgendes geschrieben:

Gibt es einen Grund, warum Du \textsl benutzt? Was ist mit \emph oder \textit?


Es sind ganze Absätze, die als Kommentar halt schräg gesetzt werden zur Unterscheidung von den "normalen" Absätzen und keine Hervorhebungen im Text.
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.08.2018, 23:07     Titel:
  Antworten mit Zitat      
Das Paket xurl ist sowohl in MikTeX (https://miktex.org/packages/xurl) als auch TeX live vorhanden. Das sollte etwa seit Ende Dezember letzten Jahres so sein (https://ctan.org/ctan-ann/id/mailma.....56.5216.ctan-ann@ctan.org).

Wenn Du das Paket also in Deinem MikTeX Package Manager nicht finden kannst, deutet das darauf hin, dass Du zumindest seit Ende Dezember kein Update mehr gemacht hast und auch die Pakedatenbank nicht mehr aktualisiert hast. Ein Update wäre also notwendig, um xurl vernünftig zu installieren. Wie immer gilt natürlich, dass ein Update kurz vor einer Deadline gut überlegt werden sollte, kleinere oder größere Problem sind gerade bei großen Aktualisierungswellen nicht ganz ausgeschlossen.

Nun ist xurl kein sehr komplexes Paket, sodass man in diese Fall durchaus auch die .sty von https://ctan.org/tex-archive/macros/latex/contrib/xurl/latex herunterladen und die Datei dann im Dokumentenverzeichnis oder in einem anderen Ordner, in dem LaTeX die Datei finden kann https://texfaq.org/FAQ-inst-wlcf, platzieren könnte. Im schlimmsten Fall kann man den Code auch einfach in die Präambel kopieren (der Code macht auch nicht viel Anderes als beispielsweise https://tex.stackexchange.com/q/102673/35864). Ich empfehle das ausgesprochen nicht und möchte dringend appellieren, die von der TeX-Distribution bereitgestellten Programme zur Installation und Aktualisierung von Paketen zu nutzen.

Ja xurl würde sich auf alle URLs auswirken. Wenn Du die \UrlBreaks selbst manipulierst, kannst Du das natürlich versuchen, lokal zu halten.

Bei dem \href-Vorschlag müsste man schon etwas mehr tun und auch manuell eingreifen.
Beispielsweise
Code • Öffne in Overleaf
\documentclass[ngerman]
              {scrbook}

\usepackage{babel}

\usepackage{scrlayer-scrpage}
\KOMAoptions{headsepline=0.8pt}

\usepackage{hyperref}

\newcommand*{\manualurlbreak}[2]{%
  \href{#1}{%
    \def\.{\penalty200}%
    \def\:{\penalty100}%
    \UrlFont
    \language\csname l@nohyphenation\endcsname
    #2}}

\begin{document}
\textsl{Gemäß der amtlichen Statistik des Landes Nordrhein-Westfahlen (\manualurlbreak{https://www.landesdatenbank.nrw.de}{https://www.lan\.des\:daten\.bank.nrw.de}) war am 31.\,12.\,2016 Ort I XXX,XX und Ort II YYY,YY Quadratkilometer groß.}
\end{document}


\: markiert bevorzugte, \. akzeptable Trennstellen. Da keine anderen Trennungen betrachtet werden, müssten hier auch sinnvolle Trennungen an Zeichensetzung selbst angegeben werden, das habe ich jetzt unterlassen. Das kann man natürlich beliebig komplizierter machen und erweitern.

Bei \UrlBreaks (darauf basiert xurl) kann man nur einzelne Zeichen angeben, hinter denen eine Trennung erlaubt ist. Digramme oder Cluster gehen nicht.

Bebbi
Forum-Fortgeschrittener
Forum-Fortgeschrittener

Beiträge: 66
Anmeldedatum: 04.01.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.08.2018, 01:46     Titel:
  Antworten mit Zitat      
Hallo,

ich habe in den letzten 2 Wochen alles mögliche geupdatet. Offensichtlich war ich dabei wohl nicht erfolgreich. Nun klappt es mit xurl.

Ich fasse für mich zusammen.

Wenn die URL in den Text soll, gibt es drei Möglichkeiten, wenn es Probleme gibt. Sie sind nicht kombinierbar.

a)
Code • Öffne in Overleaf
\usepackage{hyperref}
\def\UrlBreaks{\do\/\do\-\do\.\do\s}
 

Wirkt sich auf alle URL aus, daher macht dass nur Sinn, wenn man nur eine oder wenige URL hat, ansonsten verschlimmbessert man das Dokument.

b)
Code • Öffne in Overleaf
\usepackage{xurl}

basiert auf \UrlBreaks

Trennt halt einfach überall. Macht vielleicht Sinn, wenn man lauter nicht sprechende URL hat, z. B. bei landen Datenbank-URL. Wirkt sich auf alle URL im Dokument aus.

c)
\usepackage{hyperref}

\newcommand*{\manualurlbreak}[2]{%
\href{#1}{%
\def\.{\penalty200}%
\def\:{\penalty100}%
\UrlFont
\language\csname l@nohyphenation\endcsname
#2}}

im Text dann
{\texttt\manualurlbreak{https://www.landesdatenbank.nrw.de}{https://www.lan\.des\:daten\.bank.nrw.de}}

\: markiert bevorzugte, \. akzeptable Trennstellen - alle möglichen Trennstellen angeben

Das kann man gezielt für einzelne URL anwenden, bei denen die Standarttrennung nicht funktioniert.

Hier:
Code • Öffne in Overleaf

\documentclass[ngerman]
              {scrbook}

\usepackage{babel}

\usepackage{scrlayer-scrpage}
\KOMAoptions{headsepline=0.8pt}

\usepackage{hyperref}

\newcommand*{\manualurlbreak}[2]{%
  \href{#1}{%
    \def\.{\penalty200}%
    \def\:{\penalty100}%
    \UrlFont
    \language\csname l@nohyphenation\endcsname
    #2}}

\begin{document}

\textsl{Gemäß der amtlichen Statistik des Landes Nordrhein-Westfalen (\manualurlbreak{https://www.landesdatenbank.nrw.de}{\texttt{https://\:www.\:lan\.des\:daten\.bank.\:nrw.\.de}}) war am 31.\,12.\,2016 Ort 1 XXX,XX und Ort II YYY,YY Quadratkilometer groß.}

\end{document}


Danke für eure/deine Geduld (Warum antwortet ihr eigentlich lieber anonym? So kann man ja nie mitbekommen, wer einem so hilft.)

Grüße

Bebbi
Private Nachricht senden Benutzer-Profile anzeigen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.08.2018, 08:01     Titel:
  Antworten mit Zitat      
Bebbi hat Folgendes geschrieben:
Wenn die URL in den Text soll, gibt es drei Möglichkeiten, wenn es Probleme gibt. Sie sind nicht kombinierbar.


Die letzte Methode ist mit den ersten beiden im selben Dokument nutzbar, aber sie profitiert nicht von den ersten beiden Anpassungen der Trennstellen in der URL, da sie nur manuelle Trennungen zulässt (das ist meiner Meinung nach auch sinnvoll, wenn Du manuell umbrechen willst, ist es am besten, wenn Dir dabei nicht auch noch dutzende automatische Trennstellen zuvorkommen möchten).
Die vorgeschlagene Nutzung
Code • Öffne in Overleaf
{\texttt\manualurlbreak{https://www.landesdatenbank.nrw.de}{https://www.lan\.des\:daten\.bank.nrw.de}}

sollte unnötig sein, da der Befehl mit \UrlFont bereits die global eingestellte Schriftart der URLs übernimmt.

Du kannst \UrlBreaks auch lokal für nur eine bestimmte URL umdefinieren. Diese Methode ist aber nicht so akkurat wie vollständige manuelle Angabe der möglichen Trennstellen. Denn in \UrlBreaks gibst Du an, nach welchen Zeichen umgebrochen werden darf. Wenn Du mehrere es in Deiner URL hast, dann darf man nach allen umbrechen, obwohl der Umbruch möglicherweise nur nach einem bestimmten e wünschenswert ist.

Code • Öffne in Overleaf
\documentclass[ngerman]
              {scrbook}

\usepackage{babel}

\usepackage{scrlayer-scrpage}
\KOMAoptions{headsepline=0.8pt}

\usepackage{hyperref}

\newcommand*{\manualurlbreak}[2]{%
  \href{#1}{%
    \def\.{\penalty200 }%
    \def\:{\penalty100 }%
    \UrlFont
    \language\csname l@nohyphenation\endcsname
    #2}}


\begin{document}
\textsl{Gemäß der amtlichen Statistik des Landes Nordrhein-Westfahlen (\manualurlbreak{https://www.landesdatenbank.nrw.de}{https://\:www.\:lan\.des\:daten\.bank.\:nrw.\:de}) war am 31.\,12.\,2016 Ort I XXX,XX und Ort II YYY,YY Quadratkilometer groß.}

\begingroup
\def\UrlBreaks{\do\/\do\-\do\.\do\e}
\textsl{Gemäß der amtlichen Statistik des Landes Nordrhein-Westfalen (\url{https://www.landesdatenbank.nrw.de}) war am 31.\,12.\,2016 Ort 1 XXX,XX und Ort II YYY,YY Quadratkilometer groß.}
\endgroup

\textsl{Gemäß der amtlichen Statistik des Landes Nordrhein-Westfalen (\url{https://www.landesdatenbank.nrw.de}) war am 31.\,12.\,2016 Ort 1 XXX,XX und Ort II YYY,YY Quadratkilometer groß.}

\end{document}


xurl fügt einfach alle Buchstaben und Zahlen zu \UrlBreaks hinzu, das passiert beim Laden des Pakets ist also in der Tat global.

Bebbi
Forum-Fortgeschrittener
Forum-Fortgeschrittener

Beiträge: 66
Anmeldedatum: 04.01.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.10.2018, 00:26     Titel:
  Antworten mit Zitat      
Hallo,

danke für die Erläuterungen. Ich habe damit nun ein wenig gearbeitet.

Im Literaturverzeichnis wählte ich dann, dass ich alle Quelle in eine Umgebung (hoffe, dass ist der Richtige Ausdruck) packte:

{
Code • Öffne in Overleaf
{\sloppy


}
 


Wenn dann URL manuell getrennt wurden, habe ich entsprechende Stellen in

Code • Öffne in Overleaf
 \mbox


gepackt, und damit die unerwünschte Trennung unterdrückt. Alles andere war zu aufwendig und problembehaftet. Im Fließtext habe ich das nicht so gemacht.

Da macht LaTeX doch deutlich mehr Arbeit als Textverarbeitung ...

Grüße

Bebbi
Private Nachricht senden Benutzer-Profile anzeigen

Neues Thema eröffnen Neue Antwort erstellen Gehe zu Seite Zurück  1, 2



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de


  Datenschutzerklärung | Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2019 goLaTeX.de