Umlaute in httplink - morderncv

Schriftbild, Absätze und Auflistungen einstellen


werdas34
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Do 16. Aug 2018, 17:12

Umlaute in httplink - morderncv

Beitrag von werdas34 »

Hallo,

ich habe einen Verweis auf einen Link mit Umlaute die werden jedoch nicht richtig dargestellt.

Minimalbeispiel (in Overleaf):

\documentclass[a4paper,11pt]{moderncv}
\moderncvstyle{casual}
\moderncvcolor{blue}

\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{inputenc}
\usepackage[paper=a4paper,left=20mm,right=10mm,top=10mm,bottom=20mm]{geometry}

\begin{document}
\cvitem{10/2020 03/2021}{\textbf{Hilfreiche Links} \newline
\httplink[Göögle.com]{https://www.google.com} \newline
\httplink[Sehr hilfreich für Probleme]{https://golatex.de} \newline
\httplink[Sehr hilfreich f{\"u}r Probleme]{https://golatex.de} \newline
}
\end{document}

Statt "Google.com" und "Sehr hilfreich für Probleme", stehen:
GÃűÃűgle.com
Sehr hilfreich fÃijr Probleme
Sehr hilfreich f{\"u}r Probleme

Kann mir da jemand helfen?

mfg werdas34


Gast.

Beitrag von Gast. »

Ein Wechsel zu Xe/LuaLaTeX wäre eine Option.


gast.

Re: Umlaute in httplink - morderncv

Beitrag von gast. »

Das Beispiel ist (nicht nur in einem aktuellen TeX Live) leider nicht lauffähig deshalb kann ich da auch nichts testen. Kannst du mit dem LaTeX-Ausgabe-Knopf selbst überprüfen. Siehe dazu auch die Minimalbeispiel-Anleitung.

Grundsätzlich sind URLs im Argument eines anderen Befehls problematisch. Das wird schon in der url-Anleitung erklärt und gilt umso mehr für hyperref. Und moderncv macht das nicht wirklich besser. Ich würde statt der Verwendung von \httplink direkt \href aus hyperref probieren. Dann hast du etwas mehr Kontrolle, was da passiert, und damit auch etwas mehr Eingriffsmöglichkeiten. Ob und wie das dann zum Erfolg führt, kann ich aber – wie gesagt – nicht ermitteln.

Ach übrigens: Braucht man \usepackage[utf8]{inputenc}?


Grummelgast

Re: Umlaute in httplink - morderncv

Beitrag von Grummelgast »

Ich rate seit Jahren von der Verwendung von moderncv ab. Die Klasse ist schlecht implementiert und schlecht dokumentiert. Meine Bug-Reports noch zu Zeiten von Xavier Danaux wurden allesamt ignoriert. Beispielsweise ist \httplink wie folgt definiert:

\newcommand*{\httplink}[2][]{%
  \ifthenelse{\equal{#1}{}}%
    {\href{http://#2}{#2}}%
    {\href{http://#2}{\detokenize{#1}}}}

Das \detokenize im zweiten Argument von \href ist kompletter Unfug und für das Problem hier verantwortlich. Wenn überhaupt, würde \detokenize im ersten Argument einen Sinn ergeben, nämlich den Versuch, zu das erwähnte Problem mit Links im Argument eines anderen Befehls ein wenig abzuschwächen. Tatsächlich kann \detokenize aber auch Schaden anrichten, beispielsweise zusätzliche Leerzeichen erzeugen. Für einige Probleme wie das bekannte %-Problem hilft es ohnehin nicht. Daher dürfte es in der Tat besser sein, hyperref-Befehle direkt zu verwenden, beispielsweise:

documentclass[a4paper,11pt]{moderncv}
\moderncvstyle{casual}
\moderncvcolor{blue}

\usepackage[utf8]{inputenc}% Überflüssig seit LaTeX 2018/04/01.
\usepackage[ngerman]{babel}% Ich empfehle, die Sprachoption global bei
                           % \documentclass zu setzen.
\usepackage[T1]{fontenc}
%\usepackage{inputenc}% Bitte Pakete nie mehrfach (und dann noch mit
                     % unterschiedlichen Optionen) laden!
\usepackage[paper=a4paper,left=20mm,right=10mm,top=10mm,bottom=20mm]{geometry}
\firstname{John}% Ergänzt, damit das Beispiel lauffähig wird.
\familyname{Doe}% Ergänzt, damit das Beispiel lauffähig wird.


\begin{document}
\cvitem{10/2020 03/2021}{\textbf{Hilfreiche Links} \newline
\href{https://www.google.com}{Göögle.com} \newline
\href{https://golatex.de}{Sehr hilfreich für Probleme} \newline
\href{https://golatex.de}{Sehr hilfreich f{\"u}r Probleme} \newline
}
\end{document}

Übrigens sollte man das http:// im obligatorischen Argument von \httplink ohnehin weg lassen. Wie man an obiger Definition sieht, hat man sonst Links der Art http://http://…. Aber ja, das ist in der Anleitung ganz schlecht dokumentiert.

Es gibt übrigens massenhaft Alternativen zu moderncv. Ich selbst würde für einen Lebenslauf aber einfach eine Tabelle (eventuell mit xltabular) oder eine Listenumgebung (eventuell labeling aus KOMA-Script oder irgendwas mit enumitem) verwenden. Vermutlich würde ich das Anschreiben mit scrletter machen. Den Lebenslauf kann man dann entweder als eigenes Dokument setzen oder alles zusammen in einem. Bunte Striche sind ja nun wirklich kein Problem. Dafür genügt xcolor und \rule. Wenn man es besonders schön mit abgerundeten Enden haben will, kann man dafür natürlich auch TikZ verwenden.

Achja: Die Links oben sind unbedingt zu empfehlen! Überhaupt ist der Beitrag absolut korrekt. Ich wollte den nur etwas ergänzen.


Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Re: Umlaute in httplink - morderncv

Beitrag von KOMA »

Ich habe dazu einmal einen Issue gemeldet. Es nützt ja nichts, Dinge in irgendwelchen Foren zu bemängeln aber nie zu melden. Wäre natürlich optimal, wenn das diejenigen, die das Problem haben, direkt tun würden. Aber leider habe ich die Erfahrung gemacht, dass die meisten das nicht tun, wenn sie erst einmal einen Workaround für ihr Problem gefunden haben. Mir geht diese nach-mir-die-Sintflut-Mentalität zwar gewaltig auf den Senkel, aber das löst das Problem auch nicht. Leider habe ich meist einfach nicht die Zeit, mich um die dauerhafte Lösung der Probleme anderer Leute zu kümmern.


Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4266
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Re: Umlaute in httplink - morderncv

Beitrag von u_fischer »

Grummelgast hat geschrieben:
Fr 19. Nov 2021, 09:16

Für einige Probleme wie das bekannte %-Problem hilft es ohnehin nicht. Daher dürfte es in der Tat besser sein, hyperref-Befehle direkt zu verwenden, beispielsweise:

Da die Befehle innerhalb des \cvitem-Arguments ausgeführt werden, sind die Catcodes sowieso eingefroren. Da macht es keinen großen Unterschied, ob man die hyperref-Befehle oder was eigenes verwendet.


Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Re: Umlaute in httplink - morderncv

Beitrag von KOMA »

u_fischer hat geschrieben:
Fr 19. Nov 2021, 11:02

Da macht es keinen großen Unterschied, ob man die hyperref-Befehle oder was eigenes verwendet.

In dem Fall schon. Das liegt aber daran, dass die ganzen \…link-Befehle in moderncv buggy definiert sind. Die von gast genannten Probleme mit bestimmten Zeichen in URLs löst die Verwendung der hyperref-Befehle natürlich nicht. Die vom OP genannten Probleme mit Sonderzeichen im angezeigten Text löst es hingegen durchaus.


Grummelgast

Re: Umlaute in httplink - morderncv

Beitrag von Grummelgast »

Ich sehe gerade, dass bei meinem Beispiel oben ein Backslash fehlt, wodurch der Online-Compiler nicht anspringt. Hier noch einmal korrekt:

\documentclass[a4paper,11pt]{moderncv}
\moderncvstyle{casual}
\moderncvcolor{blue}

\usepackage[utf8]{inputenc}% Überflüssig seit LaTeX 2018/04/01.
\usepackage[ngerman]{babel}% Ich empfehle, die Sprachoption global bei
                           % \documentclass zu setzen.
\usepackage[T1]{fontenc}
%\usepackage{inputenc}% Bitte Pakete nie mehrfach (und dann noch mit
                     % unterschiedlichen Optionen) laden!
\usepackage[paper=a4paper,left=20mm,right=10mm,top=10mm,bottom=20mm]{geometry}
\firstname{John}% Ergänzt, damit das Beispiel lauffähig wird.
\familyname{Doe}% Ergänzt, damit das Beispiel lauffähig wird.


\begin{document}
\cvitem{10/2020 03/2021}{\textbf{Fehlerhafte Linktexte mit moderncv-Befehlen} \newline
\httplink[Göögle.com]{https://www.google.com} \newline
\httplink[Sehr hilfreich für Probleme]{https://golatex.de} \newline
\httplink[Sehr hilfreich f{\"u}r Probleme]{https://golatex.de} \newline
}
\cvitem{10/2020 03/2021}{\textbf{Korrekte Linktext mit hyperref-Befehlen} \newline
\href{https://www.google.com}{Göögle.com} \newline
\href{https://golatex.de}{Sehr hilfreich für Probleme} \newline
\href{https://golatex.de}{Sehr hilfreich f{\"u}r Probleme} \newline
}
\end{document}

damit auch Ulrike Fischer mit einem raschen Klick sehen, kann, dass diese Lösung mit \href im Vergleich zur Verwendung von \httplink eben sehr wohl einen großen Unterschied macht – nämlich korrekte Texte vs. verpfuschte Umlaute für die Links.

@KOMA sei erklärt, dass ich das Problem nicht selbst habe, da ich, wie ich bereits erklärt habe, die Klasse selbst nicht verwende. Daher sehe ich mich auch nicht in der Verantwortung einen Bug-Report zu verfassen. Das überlasse ich denen, die das Problem tatsächlich haben. Mit meinen Erklärungen oben und den Beispielen hier, wäre das sicher möglich gewesen. Aber danke für die Unterstützung.


Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4266
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Re: Umlaute in httplink - morderncv

Beitrag von u_fischer »

Grummelgast hat geschrieben:
Sa 20. Nov 2021, 17:45

damit auch Ulrike Fischer mit einem raschen Klick sehen, kann, dass diese Lösung mit \href im Vergleich zur Verwendung von \httplink eben sehr wohl einen großen Unterschied macht – nämlich korrekte Texte vs. verpfuschte Umlaute für die Links.

Das \detokenize Unsinn ist, habe ich nicht bestritten. Mein Kommentar bezog sich nur auf deinen Satz "Für einige Probleme wie das bekannte %-Problem hilft es ohnehin nicht.".

@KOMA sei erklärt, dass ich das Problem nicht selbst habe, da ich, wie ich bereits erklärt habe, die Klasse selbst nicht verwende. Daher sehe ich mich auch nicht in der Verantwortung einen Bug-Report zu verfassen. Das überlasse ich denen, die das Problem tatsächlich haben.

Markus verwendet die Klasse auch nicht. Er hat sich trotzdem die Mühe gemacht. Es gibt halt Leute, die übernehmen auch Verantwortung für etwas, das sie nicht direkt angeht.


Grummelgast

Re: Umlaute in httplink - morderncv

Beitrag von Grummelgast »

u_fischer hat geschrieben:
Sa 20. Nov 2021, 18:43

"Für einige Probleme wie das bekannte %-Problem hilft es ohnehin nicht.".

Und was genau stimmt daran nicht? Das \detokenize zudem im falschen Argument von \href hilft da ja wohl wirklich nicht. Ich habe ja nicht behauptet, dass man dieses Problem mit Verwendung von \href selbst in diesem Fall lösen kann. Ich habe nur gezeigt, dass man mit der direkten Verwendung von \href das Problem des OP lösen kann. Du interpretierst da offenbar irgendwelche Dinge in meine Erklärung, die ich nie geschrieben habe und kommentierst zumindest missverständlich.

Und mir vorzuwerfen, ich würde keine Verantwortung für Dinge übernehmen, die mich nicht direkt selbst betreffen, ist ja wohl lächerlich. Ich habe hier durch das Auffinden des Bugs, dessen Erklärung und das Aufzeigen einer Lösungsmöglichkeit, ja wohl deutlich Verantwortung übernommen. Ich finde es sehr beleidigend, was du hier abziehst!


Antworten