PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Paket "listing" - Problem mit Sonderzeichen



manuelkuehner
18-11-2008, 09:21
Hallo!

Ich verwende folgende Listing-Konfiguration (und TeXnicCenter):

---------------------------------------------------
%wörtliche Ausgabe ermöglichen (für Kommentar)
\usepackage{listings}
\lstset{
language={}, % {} für normalen Klartext
backgroundcolor=\color{white},
linewidth=\linewidth, % Zeilenbreite
breaklines=true, % Zeileumbruch
breakatwhitespace=true, %Umbruch an Leerzeichen
extendedchars=true, %Umlaute etc. erlauben
basicstyle=\normalsize,
stringstyle=\ttfamily,
inputencoding=ansinew,
keepspaces=true,
breaklines=true,
breakindent=0pt,
frame=single,
inputencoding=ansinew
}
---------------------------------------------------

Dann binde ich eine Datei ein:

---------------------------------------------------

\lstinputlisting[linewidth=114mm]{handover_Kommentar.txt}

---------------------------------------------------

Enthält die Datei ein µ (mü), so erscheint folgende Fehlermeldung:

---------------------------------------------------

("C:\Programme\MiKTeX 2.7\tex\latex\base\ansinew.def"
File: ansinew.def 2006/05/05 v1.1b Input encoding file
) (handover_Kommentar.txt
! Missing $ inserted.
<inserted text>
$
l.1 µ

I've inserted a begin-math/end-math symbol since I think
you left one out. Proceed, with fingers crossed.

! Extra }, or forgotten $.
\lst@OutputToken ...@token \@empty \lst@righthss }
\lst@CalcLostSpaceAndOutpu...
l.1 µ

I've deleted a group-closing symbol because it seems to be
spurious, as in `$x}$'. But perhaps the } is legitimate and
you forgot something else, as in `\hbox{$x}'. In such cases
the way to recover is to insert both the forgotten and the
deleted material, e.g., by typing `I$}'.

! Extra }, or forgotten $.
\lst@OutputToken ...}\lst@CalcLostSpaceAndOutput }
}\lst@ResetToken
l.1 µ

I've deleted a group-closing symbol because it seems to be
spurious, as in `$x}$'. But perhaps the } is legitimate and
you forgot something else, as in `\hbox{$x}'. In such cases
the way to recover is to insert both the forgotten and the
deleted material, e.g., by typing `I$}'.

! Extra }, or forgotten $.
\lst@OutputToken ...\lst@CalcLostSpaceAndOutput }}
\lst@ResetToken
l.1 µ

I've deleted a group-closing symbol because it seems to be
spurious, as in `$x}$'. But perhaps the } is legitimate and
you forgot something else, as in `\hbox{$x}'. In such cases
the way to recover is to insert both the forgotten and the
deleted material, e.g., by typing `I$}'.

)
! Missing $ inserted.
<inserted text>
$
l.122 ...[linewidth=114mm]{handover_Kommentar.txt}

I've inserted a begin-math/end-math symbol since I think
you left one out. Proceed, with fingers crossed.

---------------------------------------------------

Die Ausgabe wird dann erstellt, aber das Zeichen wird nicht dargestellt.

Ich dachte, dass Sonderzeichen mit der oben gezeigten Konfiguration möglich sind.

Setze ich hingegen:

---------------------------------------------------

extendedchars=false,

---------------------------------------------------

Dann wird das Zeichen dargestellt und es gibt trotzdem eine Fehlermeldung:

---------------------------------------------------

("C:\Programme\MiKTeX 2.7\tex\latex\base\ansinew.def"
File: ansinew.def 2006/05/05 v1.1b Input encoding file
) (handover_Kommentar.txt
! Missing $ inserted.
<inserted text>
$
l.1 µ

I've inserted a begin-math/end-math symbol since I think
you left one out. Proceed, with fingers crossed.

)
! Missing $ inserted.
<inserted text>
$
l.122 ...[linewidth=114mm]{handover_Kommentar.txt}

---------------------------------------------------

Vielleicht habt Ihr einen Rat?!

Beste Grüße
manu

fix
18-11-2008, 09:30
Hi Manuel,

das µ ist ein Mathesymbol, versuchs mal daher mit $\mu$.

Viele Grüße

fix

manuelkuehner
18-11-2008, 10:42
Hallo! Danke für die rasche Antwort. Eigentlich wollte ich mit der Listing-Umgebung beliebige Zeichen (Tastatureingaben) uninterpretiert darstellen - so wie es ein Benutzer (in ein Kommentarfeld) eingegeben hat.

Wenn das nicht geht, dann muss ich eben den Benutzern die Verwendiung dieses Zeichens "untersagen" - das Euro-Symbol geht auch nicht.

fix
18-11-2008, 13:44
Hi, also ich habe es nun mit folgendem Minimalbeispiel problemlos zum Laufen gebracht:

\documentclass[10pt,a4paper]{article}
\usepackage[latin1]{inputenx}
\usepackage[ngerman]{babel}
\usepackage{listings}
\lstset{language={},
linewidth=\linewidth,
breaklines=true,
breakatwhitespace=true,
extendedchars=true,
basicstyle=\normalsize,
stringstyle=\ttfamily,
keepspaces=true,
breaklines=true,
breakindent=0pt,
frame=single}

\begin{document}
\lstinputlisting{handover_Kommentar.txt}
\end{document}

Probiere es mal damit.

manuelkuehner
18-11-2008, 14:42
Wusste gar nicht, dass es einen inputenc-Nachfolger gibt - Danke!