ubuntuusers.de

Latex - inputencoding - Problem

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

mathfreak

Anmeldungsdatum:
16. November 2008

Beiträge: 10

Hallo Leute, schreibe gerade meine Abschlussarbeit mit LaTex und habe Probleme mit dieser Zeile

1
\usepackage[inputencoding=utf8/latin1]{listingsutf8} 

Diese bewirkt, dass Listing im UTF8 Format eingefügt werden. Nur so kann ich in externen Quellcodedateien Umlaute verwenden. Unter Windows mit MikTex hat das auch immer geklappt.

Unter Ubuntu mit Kile und installiertem TeTex und Texlive bekomme ich eine Fehlermeldung

bericht.tex:32:File `listingsutf8.sty' not found. ^^M

Wenn ich danach google komme ich auf diverse Bug Reports die aber schon ein paar Monate alt sind. Ist das Problem bekannt? Ist es schon irgendwie behoben? Gibts einen Workaround?

Viele Grüße Micha

Stefan_K

Anmeldungsdatum:
6. Februar 2007

Beiträge: 161

Wohnort: Hamburg

Hallo Micha,

listingsutf8.sty gehört zum oberdiek-Paket, dieses ist in texlive-latex-recommended enthalten, was Du über Synaptic oder apt-get installieren kannst. Sonst findest Du das Paket hier auf CTAN. Ich habe das oberdiek-Paket über dem MiKTeX Paketmanager installiert. Bei Interesse findest Du Infos über den mpm und eine konkrete Installationsbeschreibung in: The MiKTeX Package Manager 2.7 on Ubuntu Linux, mittlerweile gibt es schon die Version 2.8.

Stefan

mathfreak

(Themenstarter)

Anmeldungsdatum:
16. November 2008

Beiträge: 10

Hallo Stefan, danke für die schnelle Antwort. Die Installation von des mpm hat funktioniert. Dieses Fehlermeldung erscheint auch nicht mehr. Das PDF wird auch vollständig gebaut. Wenn man dann allerdings reinschaut stehen die umlaute nicht da wo sie sein sollen.

Dieses Dokument:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
\documentclass[a4paper,12pt,chapterprefix,pdftex]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{listings}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[inputencoding=utf8/latin1]{listingsutf8} 
\lstset{inputencoding=utf8, extendedchars=\true, breaklines=true}
\begin{document}
\begin{lstlisting}[]
test mit umlautenü
\end{lstlisting}

\end{document}

(Diese Datei habe ich im utf8 Format gespeichert) Erzeugt den Output "test mit üumlauten"...der Umlaut wird immer an den Anfang des Wortes gesetzt. hat man mehrere Zeilen werden die Umlaute auch über die Zeilengrenzen hinaus versetzt. Total komisch! Allerdings musste ich feststellen, dass wenn ich den LaTex-Code unter Windows mit MikTex und LEd kompiliere genau das gleiche passiert.

Evtl. könnte es an diesem Stück liegen "extendedchars=\true", da bin ich mir nicht sicher, ob es nicht "extendedchars=true" heißen sollte. Ohne "\" führt das kompilieren aber zu einer Fehlermeldung, der Art "Unicode char xxxx expand after not set up for use with latex"

Kann mir jemand einen Tipp geben was an dem Code falsch ist?

Beste Grüße Micha

Nachtrag: Außerhalb eines Listings funktioniert die Positionierung der Umlaute einwandfrei

mathfreak

(Themenstarter)

Anmeldungsdatum:
16. November 2008

Beiträge: 10

Nochmal was...in der debian group wird von diesem texlive problem berichtet...hier steht auch ein kleiner workaround http://groups.google.com/group/linux.debian.bugs.dist/browse_thread/thread/5ddfcc41e022ff76/17817ee8a08671a1?lnk=raot

\inputencoding{latin1}
\lstinputlisting[]{mycodefile_IN_LATIN1_ENCODING.java}
\inputencoding{utf8}

...häßlich...aber wenn man anders keine Umlaute in Listings darstellen kann, dann ists vom Aufwand vertretbar

achja...und "extendedchars=true" sollte richtig sein, also nicht "\true"

Stefan_K

Anmeldungsdatum:
6. Februar 2007

Beiträge: 161

Wohnort: Hamburg

Hallo Micha,

listingsutf8 unterstützt nur \lstinputlisting, nicht die lstlisting-Umgebung.

Stefan

DSIW

Avatar von DSIW

Anmeldungsdatum:
17. März 2011

Beiträge: Zähle...

Wohnort: GER

Hallo zusammen,

eine andere Möglichkeit, ohne das Konvertieren nach latin1 ist, indem man folgendes

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

benutzt.

Alternativ gibt es noch ein gepatchtes listings-maku.sty unter http://www.tu-chemnitz.de/urz/anwendungen/tex/faq/rsrc/listings-maku.sty. Dies habe ich aber nicht ausprobiert.

Mir erscheint die obige Lösung am einfachsten...

Gruß DSIW

Magublafix

Anmeldungsdatum:
3. März 2011

Beiträge: Zähle...

Also ich mach Umlaute immer so

\usepackage[utf8]{inputenc} \usepackage[ngerman]{babel}

DSIW

Avatar von DSIW

Anmeldungsdatum:
17. März 2011

Beiträge: 24

Wohnort: GER

Hallo,

das mache ich ja auch. Aber hier ging es um Umlaute in Listings, das von einer utf8-encodierten Datei importiert wird.

Gruß

Magublafix

Anmeldungsdatum:
3. März 2011

Beiträge: 14

DSIW schrieb:

Hallo,

das mache ich ja auch. Aber hier ging es um Umlaute in Listings, das von einer utf8-encodierten Datei importiert wird.

Gruß

Oh hab mich in meinem Tex file verschaut der Umlaut war schon außerhalb des listings hast Recht geht bei mir auch nicht sry

Antworten |