C++ Code: Listings gibt UTF8-Fehlermeldung aus, Lösung?

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: C++ Code: Listings gibt UTF8-Fehlermeldung aus, Lösung?

von Johannes_B » So 17. Mai 2015, 14:54

Bleib bei pdfLaTeX.

von scaer93 » So 17. Mai 2015, 14:53

Naja, Formeln, Listings, Verzeichnisse (Lit, Abb ...) und Umlaute brauche ich immer.

Was ist dann also die beste Wahl?

von Johannes_B » So 17. Mai 2015, 14:47

scaer93 hat geschrieben:Was empfehlt ihr eigentlich? pdflatex oder xelatex?
Kommt ganz drauf an, was du willst oder brauchst. Irgendwo haben alle; XeLaTeX, LuaLaTeX und pdfLaTeX; Vorteile und Nachteile untereinander.

von scaer93 » So 17. Mai 2015, 14:44

Dann werde ich es mit dem literate probieren.

Was empfehlt ihr eigentlich? pdflatex oder xelatex?

von u_fischer » So 17. Mai 2015, 12:37

Johannes_B hat geschrieben: Wie kann denn LaTeX dir sagen, dass das Wurzelzeichen nicht definiert ist, wenn es gar nicht im Code ist?
Nun, die Anzeige im Terminal (oder in der log-Datei) bei utf8-Fehlern zeigt ja nicht immer den betroffenen Buchstaben -- das macht es ja manchmal etwas mühsam den Schuldigen zu finden. Ich bekomme einen Fehler wegen des "ä" und mit literate klappt es dann:
\documentclass[a4paper,11pt]{article}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{xcolor}

\usepackage{tgtermes}
\usepackage{amsmath,amssymb,amsthm,textcomp}

\usepackage{listings}
\lstset{extendedchars=true,literate=%
    {Ä}{{"A}}1%
    {Ö}{{"O}}1%
    {Ü}{{"U}}1%
    {ä}{{"a}}1%
    {ö}{{"o}}1%
    {ü}{{"u}}1%
    {ß}{{\ss}}1%
}


%%%----------%%%----------%%%----------%%%----------%%%

\begin{document}



\begin{lstlisting}
#include <iostream>
#include <cmath>
#include <fstream>
#include <sstream>
#include <string>
#include <cstdlib>
using namespace std;

        gamma=1+(E[n]/ma); // Erklärung siehe Protokoll
        beta=pow((1-(1/(gamma*gamma))),0.5);
        Ac=(vorN*6*4)/(12.011*beta*beta)*(log((2*me*beta*gamma*beta*gamma)/Ic)-beta*beta); // Erklärung siehe Protokoll
        Ah=(vorN*1*4)/(1.008*beta*beta)*(log((2*me*beta*gamma*beta*gamma)/Ih)-beta*beta);
        Ao=(vorN*8*4)/(15.999*beta*beta)*(log((2*me*beta*gamma*beta*gamma)/Io)-beta*beta); // Ac, Ah und Ao sind in MeV*cm^2/g
        dE=0.6250*Ac+0.0420*Ah+0.3331*Ao; // in MeV*cm^2/g
        dE=rhoMylar*dE*dx; // in MeV
        E[n+1]=E[n]-dE; // in MeV
        n++; // Laufindex wird um 1 erhöht
        R=dx*n; // Berechnung Reichweite in cm
        cout << R << "  " << dE << "  " << E[n-1] << "  " << E[n] <<
\end{lstlisting}
\end{document}

von Johannes_B » So 17. Mai 2015, 12:06

Zeig mal die Log-Datei, die mein Beispiel oben bei dir produziert.

von scaer93 » So 17. Mai 2015, 10:59

Naja, ich war auch nicht ganz fair.

Danke für die Antwort. Und ja, leider bekomme ich immer noch die gleichen Fehlermeldungen mit deinem Beispiel.

von Johannes_B » So 17. Mai 2015, 09:51

Erhältst du mit dem Beispiel, welches ich oben gepostet habe den beschriebenen Fehler? Klick mal auf Öffne in Online Editor.


Übrigens stimm ich dir mit der Grammatik voll und ganz zu, aber es gibt so Momente im Support ... in denen ich mir meine eigene Signatur durchlesen muss. Durchatmen, Pause machen.

von scaer93 » So 17. Mai 2015, 08:40

Zunächst heißt es "Weißt du". Trotz Forum sollte eine gewisse Grammatik und Ausdruck beibehalten werden.

Deine Kritik kann ich nicht nachvollziehen, da bei mir genau mit diesem Minimalbeispiel die obigen Fehlermeldungen kommen. Woher soll ich bitte wissen, woher die Wurzel da kommt.

Da ich aber vermute, dass die Wurzel in der Fehlermeldung nichts mit dem eigentlichen Wurzel-Zeichen der Tastatur bzw. des Befehls "sqrt" zu tun hat, ist es klar, dass im Text keine Wurzel kommt.

von Johannes_B » Sa 16. Mai 2015, 14:10

Weisde, irgendwie, ich versteh das nich?

Wie kann denn LaTeX dir sagen, dass das Wurzelzeichen nicht definiert ist, wenn es gar nicht im Code ist? Für soetwas sind doch Minimalbeispiele da?
\begin{filecontents*}{\jobname.test}
#include <iostream>
#include <cmath>
#include <fstream>
#include <sstream>
#include <string>
#include <cstdlib>
using namespace std;

gamma=1+(E[n]/ma); // Erklärung siehe Protokoll
beta=pow((1-(1/(gamma*gamma))),0.5);
Ac=(vorN*6*4)/(12.011*beta*beta)*(log((2*me*beta*gamma*beta*gamma)/Ic)-beta*beta);
// Erklärung siehe Protokoll
Ah=(vorN*1*4)/(1.008*beta*beta)*(log((2*me*beta*gamma*beta*gamma)/Ih)-beta*beta);
Ao=(vorN*8*4)/(15.999*beta*beta)*(log((2*me*beta*gamma*beta*gamma)/Io)-beta*beta);
// Ac, Ah und Ao sind in MeV*cm^2/g
dE=0.6250*Ac+0.0420*Ah+0.3331*Ao; // in MeV*cm^2/g
dE=rhoMylar*dE*dx; // in MeV
E[n+1]=E[n]-dE; // in MeV
n++; // Laufindex wird um 1 erhöht
R=dx*n; // Berechnung Reichweite in cm
cout << R << " " << dE << " " << E[n-1] << " " << E[n] <<
\end{filecontents*}

\documentclass[a4paper,11pt]{article}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage{listingsutf8}
\lstset{ inputencoding=utf8/latin1 }

\begin{document}



\lstinputlisting{\jobname.test}
\end{document} 

Nach oben