PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : listings Umlautproblem



Jollero
08-06-2005, 23:31
Hallo!

Möchte in meiner Praxissemesterarbeit gern Quellcode einbinden.
Benutze das Listings-Package und habe alle Optionen, wie unten zu sehen ist,
gesetzt.



%Source-Code einbinden können
\usepackage{listings}

%Sprachen reinladen
\lstloadlanguages{XML, Java, HTML}

%Einstellungen für Listings setzen
\lstset{ basicstyle=\small,
keywordstyle=\color{red}\bfseries\underbar, %Keywords farbig...
commentstyle=\color{blue},
breaklines=true,
backgroundcolor=\color{gray},
%framer ound=ffff,
stringstyle=\ttfamily,
extendedchars=true,
numbers=left, %links Zeilennummern
numberstyle=\tiny, %kleine Schrift für Nummern
numbersep=5pt,
stepnumber=2,%alle 2 Zeilen anzeigen
tabsize=3,
showstringspaces=false %keine Leerzeilen anzeigen
}



Jedoch bekomme ich einen Fehler, wenn ich eine XML-Datei (utf-8 Kodierung!) mit Umlauten einbinden möchte!



%Struts-Config reinladen
\lstinputlisting[language=XML]{listings/XML/struts-config.xml}


In allen Zeilen, in dem ein Umlaut (hauptsächlich Kommentare) steht, bekomme ich einen Fehler-> bei einer Datei ohne Umlaute klappte es wunderbar!!

Habt ihr eine Idee??

Danke im Voraus für Eure Mühe...

akamp
09-06-2005, 11:30
vermutlich nicht die eleganteste Lösung:

Würde im Editor einfach über search/replace --> replace all die Umlaute ersetzen: also suche:ä, ersetze: "a u.s.w

Jollero
09-06-2005, 11:52
Hallo akamp!

Danke für deinen Vorschlag!!!
Leider gibt er mir das "A auch so in dem pdf aus und nicht als Ä...

Weitere Vorschläge sind willkommen :)

Gruß
Jens

Jollero
10-06-2005, 10:10
Ist das denn bisher niemanden aufgefallen???
Ich habe eigentlich nicht vor, alle Texte mit einem Editor zu durchlaufen und die ganzen Umlaute ersetzen zu lassen...

Bitte helft mir!

Gruß
Jens

daswaldhorn
10-06-2005, 10:19
Hallo,

du musst LaTeX die Codierung deiner Daeien mitteilen. Mit
\usepackage[latin1]{inputenc} % direkte Eingabe von Umlautengeht das bei mir, habe aber auch kein utf8. Schau dir mal die Doku an, da sollte eingentlich die Option für uft8-Dateien drinnstehen.

Grüße, Carsten

Jollero
10-06-2005, 10:59
Das habe ich gemacht- ansonsten funzen die Umlaute in meinem Dokument! Trotzdem danke für den Vorschlag!



\usepackage[utf-8]{inputenc}


Ich denke eher, dass es ein package-spezifisches "Problem" ist! Die einzubindenden Dateien kommen von Windows und ich habe mit recode ihre Zeichenkodierung geändert.
Ich dachte erst, es liegt daran, bis ich direkt in dem tex-file auch Umlaute in der lstlisting-Umgebung probiert habe!
Ergebnis: Das gleiche Problem!!

Ich weiß echt nicht mehr weiter...

Gruß
Jens

udokrass
10-06-2005, 11:30
http://groups.google.com/groups?hl=de&lr=&threadm=m3smw1f54z.fsf%40pc-e21-23.frm2.tu-muenchen.de&rnum=4&prev=/groups%3Fq%3Dlatex%2520umlaute%2520listings%26hl%3 Dde%26lr%3D%26sa%3DN%26tab%3Dwg
http://groups.google.com/groups?hl=de&lr=&threadm=39EF4535.FD98B682%40physik.rwth-aachen.de&rnum=8&prev=/groups%3Fq%3Dlatex%2520umlaute%2520listings%26hl%3 Dde%26lr%3D%26sa%3DN%26tab%3Dwg

Du hat zwar die Option, aber funktioniert des bei dir nicht? Probier mal die Option [extendedchars=true] true und false zu setzen. Da muss man doch was merken!

Also bei mir funktioniert des Beispiel vom 2.Link. Vielleicht versuchst du mal das Problem einzugrenzen, indem du einfache Dateien verwendest...

Poste doch mal dein XML-File. Vielleicht liegts ja daran.

Jollero
13-06-2005, 10:32
Danke für die Links- leider funktioniert das auch nicht! extendedchars=true ist nur dafür da, dass Umlaute an der richtigen Stelle des Wortes landen und nicht wie bei extendedchars=false am Anfang des Wortes...

Folgenden Workaround habe ich nun entwickelt:

Da meine tex-dateien im utf-8-format (Suse) kodiert sind, binde ich die Datei-Listings mit der option input-encoding=latin1 und extendedchars=true ein, nachdem ich mit recode und einem kleinen shellskript die entsprechenden Dateien von utf-8 ins iso-8859-1 umgewandelt habe.

Leider scheint es anders nicht zu gehen- oder kann man den utf-8-support von latex im neuen tetex (3) anders einstellen und nicht mehr über das ucs-package!?

Danke
Gruß
Jens

System:

SuSE 9.3
kile 1.8.3
Kodierung utf-8
tetex 3

udokrass
15-06-2005, 19:16
Hi,

da ich auch Listings in meine Seminararbeit einbinde interessiert mich dein Problem.
Kannst du mal ein struts-XML File hier posten, das bei dir Probleme bereitet? Muss ja nicht des von deiner Arbeit sein, sondern nur ein Beispiel...

Jollero
15-06-2005, 20:35
<!-- ********************************* -->
<!-- Form-Beans der Benutzerverwaltung -->
<!-- Daten für die Sprachenänderung -->
<form-bean name="languageForm"
type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="language" type="java.lang.String"/>
</form-bean>

Wenn ich dies in eine Datei packe und als UTF-8 kodiere, dann funktioniert das Einfügen via


\lstinputlisting[name=struts-config,label=struts-config,
caption={die Konfigurationsdatei struts-config.xml},
language=XML,inputencoding={utf8}]
{listings/XML/struts-config.xml}

nicht- der Compiler bringt in der Zeile 3 beim Umlaut irgendwas von utf8command not found...

Vielleicht hast du eine Idee??

Gruß
Jens

udokrass
16-06-2005, 12:56
Hallo,

schau mal folgenden Link an.
Habe den Tipp wegen Zeitmangel noch nicht ausprbieren können.
http://groups.google.de/group/de.comp.text.tex/browse_thread/thread/ffd42c7717819d9e/beb700b00d0f4999?q=latex+xml+utf8+listings&rnum=1&hl=de#beb700b00d0f4999
Gruß!

Jollero
16-06-2005, 13:32
Danke für den Link- werde mal ein wenig danach googeln!

Jedoch habe ich noch folgendes gefunden, was meinem Vorgehen weitestgehend entspricht (Source-Dateien von UTF-8 in Latin1 umwandeln und einfügen...)


Listings UTF8 (http://groups.google.de/group/de.comp.text.tex/browse_thread/thread/26b40bea0eedd7c9/fe3ec1809ce0ee8e?q=latex+utf8+listings&rnum=2&hl=de#fe3ec1809ce0ee8e)