Listing macht Probleme, verlangt utf8x. Warum?

Formelsatz für Mathematik, Naturwissenschaften und Technik


scaer93
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 68
Registriert: Mi 30. Apr 2014, 20:12

Listing macht Probleme, verlangt utf8x. Warum?

Beitrag 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}


Gast

Beitrag 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.)

scaer93
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 68
Registriert: Mi 30. Apr 2014, 20:12

Beitrag von scaer93 »

Danke! Das habe ich vollkommen übersehen. Das erklärt es natürlich.

Grüße

Antworten