Ich möchte mit dem Paket listings Codebeispiele darstellen. Enthalten diese allerdings Umlaute, oder sonstige Sonderzeichen, so erhalte ich die Fehlermeldung: Open in writeLaTeX
! Package inputenc Error: Unicode char \u8:Ã\lst@FillFixed@ not set up for use with LaTeX. See the inputenc package documentation for explanation. Type H <return> for immediate help. ... l.8 \chapter{Test} %Ãberschrift der Ebene chapter ? Wie kann ich in meinen Programmen trotzdem Umlaute verwenden? Open in writeLaTeX
\documentclass{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{listings} \begin{document} abc äöüß \begin{lstlisting} \chapter{Test} %Überschrift der Ebene chapter %ä Ö ß \end{lstlisting} \end{document} Auch Code anderer Anwendungen/Sprachen sollte so darstellbar sein, beispielsweise Matlab, C, C++, Java und LaTeX, um nur einige zu nennen, gefragt 24 Mär '14, 22:22 Johannes |
Für deutsche Umlaute in Öffne in Overleaf
\documentclass{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage{listings} \lstset{basicstyle=\ttfamily} \lstset{literate=% {Ö}{{\"O}}1 {Ä}{{\"A}}1 {Ü}{{\"U}}1 {ß}{{\ss}}1 {ü}{{\"u}}1 {ä}{{\"a}}1 {ö}{{\"o}}1 } \begin{document} Umlaute und Sonderzeichen im normalen Text: äöüß und als inline Codeschnipsel: \lstinline|\emph{Sütterlinstraße}| \begin{lstlisting} \chapter{Test} %Überschrift der Ebene chapter %ä Ö ß \end{lstlisting} \end{document} beantwortet 25 Mär '14, 00:10 esdd |
Eine weitere Möglichkeit besteht darin, XeLaTeX oder LuaLaTeX zu verwenden. Da diese beiden UTF8 nativ beherrschen, sind UTF8-Zeichen dann ebenfalls einzelne Zeichen und werden nicht mehr über aktive Zeichen + weitere Zeichen (also letztlich mehrere Zeichen) realisiert. Daher kann Open in writeLaTeX
\documentclass{article} \usepackage{fontspec} \usepackage{listings} \begin{document} abc äöüß \begin{lstlisting} \chapter{Test} %Überschrift der Ebene chapter %ä Ö ß \end{lstlisting} \end{document} Natürlich darf man dann weder beantwortet 18 Aug '14, 14:51 gast3 |
Das Paket Zu beachten ist dabei, dass die Pakete Open in writeLaTeX
% XeLaTeX or LuaLaTeX \documentclass{article} \usepackage{fontspec} \usepackage{listings} \begin{document} Umlaute und Sonderzeichen im normalen Text: äöüß und als inline Codeschnipsel: \lstinline|\emph{Sütterlinstraße}| \begin{lstlisting} \chapter{Test} %Überschrift der Ebene chapter %ä Ö ß \end{lstlisting} \end{document} Um Während der Kompilation wird eine Codedatei binär eingelesen, in einen String mit singlebit-encoding umgewandelt (in diesem Fall latin1), welcher dann wieder eingelesen wird. Momentan kann man mit Open in writeLaTeX
%\RequirePackage{filecontents} \begin{filecontents*}{\jobname.lst} \chapter{Test} ö ä \end{filecontents*} \begin{filecontents*}{inlinecode.lst} \emph{Sütterlinstraße} \end{filecontents*} \documentclass{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{listingsutf8} \lstset{inputencoding=utf8/latin1}%hier passiert die Magie \begin{document} Umlaute und Sonderzeichen im normalen Text: äöüß und als inline Codeschnipsel: \lstinputlisting{inlinecode.lst} \lstinputlisting{\jobname.lst} \end{document} beantwortet 24 Mär '14, 22:26 Johannes |