Seite 1 von 1

Umlautprobleme beim qrcode-Paket. Workaround möglich?

Verfasst: Do 18. Apr 2019, 16:09
von deha
Hallo zusammen,

wir haben ein Template, auf dem wir aus verschiedenen Variablen einen QR-Code erzeugen lassen möchten. Die LaTeX-Umgebung wird nicht von uns betreut, sodass wir nur beschränkte Möglichkeiten haben. z.B. können wir nicht jedes beliebige Paket nutzen und es ist auch nur ein einiger LaTeX-Durchlauf zur generierung des pdf möglich.
Alles funktioniert, solange keine Sonderzeichen oder Umlaute im Text sind, für den ein QR-Code erzeugt werden soll. Der Log zeigt, dass z.B. aus "Lücke" "L\xfccke" wird. Wegen des "\" bricht das Script dann ab.
Hier die relevanten Teile des Templates:
\documentclass[a4paper]{scrartcl}
\renewcommand{\familydefault}{\sfdefault}
\usepackage{helvet}

\usepackage{ifthen}
\usepackage[german]{babel}
\usepackage{color}
\usepackage{graphicx}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{float}
\usepackage{geometry}
\usepackage[nolinks]{qrcode}

\geometry{a4paper,top=10mm,left=23mm,right=23mm,bottom=37mm}

\begin{document}

\qrcode{QRAE|\var1|\var2|\var3|}

\end{document}
Die Umgebung nutzt \usepackage[utf8]{inputenc}, darauf haben wir aber auch keinen Einfluss. Die Variablen werden ebenfalls außerhalb des Templates erstellt/definiert.

Fällt euch ein Workaraound dazu ein? Ein anderes Paket als qrcode können wir nicht nutzen.

Beste Grüße
Daniel

Verfasst: Do 18. Apr 2019, 16:25
von Gast
Du hast zwar aufgezählt, worauf ihr keinen Einfluss habt, aber worauf habt ihr denn nun Einfluss? Das Beispiel ist übrigens auch nicht lauffähig. Wenn genau das nicht definieren \var den Fehler demonstrieren soll, dann wäre eventuell
\documentclass[a4paper]{scrartcl}
\renewcommand{\familydefault}{\sfdefault}
\usepackage{helvet}

\usepackage{ifthen}
\usepackage[german]{babel}
\usepackage{color}
\usepackage{graphicx}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{float}
\usepackage{geometry}
\usepackage[nolinks]{qrcode}

\geometry{a4paper,top=10mm,left=23mm,right=23mm,bottom=37mm}

\begin{document}

\qrcode{\detokenize{QRAE|\var1|\var2|\var3|}}

\end{document}
eine Möglichkeit.
\documentclass[a4paper]{scrartcl}
\renewcommand{\familydefault}{\sfdefault}
\usepackage{helvet}

\usepackage{ifthen}
\usepackage[german]{babel}
\usepackage{color}
\usepackage{graphicx}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{float}
\usepackage{geometry}
\usepackage[nolinks]{qrcode}

\geometry{a4paper,top=10mm,left=23mm,right=23mm,bottom=37mm}

\begin{document}

\qrcode{\detokenize{Lücke}}

\end{document}
funktioniert bei mir übrigens auch.
Ich vermute daher, dass ihr zunächst dafür sorgen müsst, dass "Lücke" auch wirklich in UTF8 als Lücke in den Quellcode geschrieben wird.

Bei URLs codiert man Sonderzeichen dagegen anders. Da verwendet man diese %-Notation wie bei https://de.wikipedia.org/wiki/M%C3%BCcke

Verfasst: Do 18. Apr 2019, 18:56
von u_fischer
Das hat mich daran erinnert, dass ich immer noch den Code dazu rumliegen habe

https://github.com/u-fischer/putfenc

Verfasst: Mi 24. Apr 2019, 10:49
von deha
Super, vielen Dank für eure Hilfe!