Seite 1 von 1

Listing macht Probleme, verlangt utf8x. Warum?

Verfasst: Do 27. Jul 2017, 18:54
von scaer93
Hallo,

ich habe ein Problem mit meinem Listing. Es gibt Fehlermeldungen heraus, ein ucs-Paket betreffend. Wie kann ich das verhindern? Also die Fehler loswerden?

Eine Lösung ist "utf8x" zu nehmen.
Eigentlich habe ich aber gelernt, dass man das vermeiden soll, deswegen ich hier die Frage stelle.

Danke für eure Hilfe

S.

PS: Ich vermute es liegt an dem (C)-Zeichen...was aber erhalten bleiben soll.

Das MWE ist hier:
\documentclass[
    a4paper,				% Papierformat          		% Zweiseitig
    12pt           		% Schriftgröße
]{scrreprt}

\usepackage[utf8]{inputenc}                                                  
% Legt die Zeichenkodierung fest, z.B UTF8
\usepackage[T1]{fontenc}                                                      
% Verwendung der Zeichentabelle T1, für deutschsprachige Dokumente sinnvoll
\usepackage[ngerman]{babel}                                           
\usepackage{xcolor}
% Zum Einbinden von Code
\usepackage{listingsutf8}


% Definiert den Stil < customc > für die Code-Darstellung in einem Listing
\lstdefinestyle{customc}{
	belowcaptionskip=1\baselineskip,
	breaklines=true,
	frame=L,
	xleftmargin=\parindent,
	language=C++,
	showstringspaces=false,
	basicstyle=\footnotesize\ttfamily,
	keywordstyle=\bfseries\color{green!40!black},
	commentstyle=\itshape\color{purple!40!black},
	identifierstyle=\color{blue},
	stringstyle=\color{orange},
}

\lstdefinestyle{customasm}{
	belowcaptionskip=1\baselineskip,
	frame=L,
	xleftmargin=\parindent,
	language=[x86masm]Assembler,
	basicstyle=\footnotesize\ttfamily,
	commentstyle=\itshape\color{purple!40!black},
}

% Sagt, dass < customc > verwendet werden soll im Listing
\lstset{escapechar=@,style=customc}

% Gibt die Sprache (C++) an und lässt Code-Kommentare wie LaTeX-Code behandeln (texcl)
\lstset{language=C++,texcl=true}

% Legt die Codierung fest und sollte mit der in der Preamble übereinstimmen
\lstset{inputencoding=utf8x}

% Nummeriert die Zeilen des Codes 
\lstset{
	numbers=left,
	stepnumber=1,    
	firstnumber=1,
	numberfirstline=true
}

\begin{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{lstlisting}[caption={Berechnung: Ablenkung von Elektronen im Magnetfeld}, label={lst:code-elektron-bfeld}]
//
//  ElektronMagnetfeldAblenkung
//
//  Created by scaer93 on 24.07.17.
//  Copyright © 2017 scaer93. All rights reserved.
//

#include <iostream>
#include <cmath>
#include <fstream>
#include <iomanip>


using namespace std;

int main()
{
    \\ some code
    output.close();
    return 0;
}
\end{lstlisting}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{document}


Verfasst: Do 27. Jul 2017, 19:03
von Gast
Du hast
\lstset{inputencoding=utf8x}
wenn ich das zu
\lstset{inputencoding=utf8}
ändere, lauft es bei mir ohne Gemecker.

(Du tust aber natürlich trotzdem anderen Leuten einen Gefallen, wenn Du (c) statt © schreibst - besonders wenn das Dokument sonst pures ASCII wäre. Wenn ich das richtig sehe, ist 'Copyright ©' eh redundant: https://en.wikipedia.org/wiki/Copyright_symbol.)

Verfasst: Do 27. Jul 2017, 19:10
von scaer93
Danke! Das habe ich vollkommen übersehen. Das erklärt es natürlich.

Grüße