Ich muss Code in den Anhang meiner Arbeit aufnehmen. Der Code enthält Kommentare und die Kompilierung bricht sofort ab und gibt Folgendes zurück:
Unicode char �\lst@FillFixed@ (U+5A8)
(inputenc) not set up for use with LaTeX.
l.160 if (lastArg < 0, lastArg = 360°
+ lastArg);
Dies ist nur eines von vielen Zeichen, die Probleme verursachen. Ich kann meinen gesamten Code nicht ändern, da er sich nicht kompilieren lässt. Gibt es eine Möglichkeit, Code mit beliebigen Unicode-Zeichen einzubinden? Vielen Dank.
Bearbeiten:vollständiger Beispielcode, wie angefordert.
\RequirePackage[l2tabu,orthodox]{nag}
\documentclass[headsepline,footsepline,footinclude=false,oneside,fontsize=11pt,paper=a4,listof=totoc,bibliography=totoc]{scrbook} % one-sided
\usepackage[toc,page]{appendix}
\usepackage{listings}
\usepackage[utf8]{inputenc}
\lstset{
inputencoding=utf8,
extendedchars=true,
basicstyle=\footnotesize\ttfamily,
showstringspaces=false,
showspaces=false,
numbers=left,
numberstyle=\footnotesize,
numbersep=9pt,
tabsize=2,
breaklines=true,
showtabs=false,
captionpos=b,
literate={ö}{{\"o}}1 {ä}{{\"a}}1 {ü}{{\"u}}1
}
\begin{document}
\begin{appendices}
\lstinputlisting{code/power_series.html}
\end{appendices}
\end{document}
Relevante Inhalte von power_series.html
:
if (lastArg < 0, lastArg = 360° + lastArg);
Zu diesem Problem gibt es eigentlich nicht viel zu sagen. Ich möchte lediglich alle Unicode-Zeichen in einer Auflistung verwenden können. Vielen Dank.
Antwort1
Definieren Sie das Unicode-Zeichen auf die richtige Weise.
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{listingsutf8}
\protected\def\dg{\ensuremath{^\circ}}
\DeclareUnicodeCharacter{05A8}{\dg}
\lstset{
inputencoding=utf8,
extendedchars=true,
basicstyle=\footnotesize\ttfamily,
showstringspaces=false,
showspaces=false,
numbers=left,
numberstyle=\footnotesize,
numbersep=9pt,
tabsize=2,
breaklines=true,
showtabs=false,
captionpos=b,
literate={ö}{{\"o}}1 {ä}{{\"a}}1 {ü}{{\"u}}1 {°}{\dg}1
}
\begin{document}
\lstinputlisting{\jobname.html}
\end{document}
Die \jobname.html
Datei enthält
if (lastArg < 0, lastArg = 360° + lastArg);
Hier ist die Ausgabe.