PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Quellcode mit Sonderzeichen (listings-package)



tvogt
02-02-2007, 11:30
Hallo,

ich habe folgendes Problem:
in meinem mit dem listings-package eingebundenen Quellcode kommen Sonderzeichen aus dem erweiterten ASCII-Zeichensatz vor (insgesamt sind es grob diese alle hier: & „ Š ’ “ ” – ¡ š § ª © « ¬ ® ° · º » ¿ Ã ã ÂÀ à Á á Ä ä È è É é Í í Ð ð Ñ ñ Ó ó ô Ö ö Ú ú Ü ü ßž). Ein Teil dieser wird aber nicht angezeigt, mit der Fehlermeldung:


Package inputenc Error: Keyboard character used is undefined in inputencoding 'latin1'.

Von daher könnte es ja auch mit dem inputenc-Package zusammenhänge, das ich auch nutze (der Parameter steht hier, wie die Fehlermeldung schon sagt, auf [latin1]. Hab schon probiert, dem Paket ein andres inputencoding anzugeben [utf8] und [latin2], das bringt aber au nix.

Wie krieg ich nun also das listings bzw. das inputenc-Package dazu, dass diese Zeichen richtig importiert bzw. dann richtig angezeigt werden?

rais
04-02-2007, 20:33
Hallo und Herzlich Willkommen an Board :)


in meinem mit dem listings-package eingebundenen Quellcode kommen Sonderzeichen aus dem erweiterten ASCII-Zeichensatz vor (insgesamt sind es grob diese alle hier: & „ Š ’ “ ” – ¡ š § ª © « ¬ ® ° · º » ¿ Ã ã ÂÀ à Á á Ä ä È è É é Í í Ð ð Ñ ñ Ó ó ô Ö ö Ú ú Ü ü ßž). Ein Teil dieser wird aber nicht angezeigt, mit der Fehlermeldung:



Von daher könnte es ja auch mit dem inputenc-Package zusammenhänge, das ich auch nutze (der Parameter steht hier, wie die Fehlermeldung schon sagt, auf [latin1]. Hab schon probiert, dem Paket ein andres inputencoding anzugeben [utf8] und [latin2], das bringt aber au nix.

Wie krieg ich nun also das listings bzw. das inputenc-Package dazu, dass diese Zeichen richtig importiert bzw. dann richtig angezeigt werden?
ich weiß ja nicht, listings ist in erster Linie doch dazu gedacht, Quellcode innerhalb eines LaTeX-Dokuments darzustellen -- und dabei ist meist ein 7-bit Zeichensatz völlig ausreichend... um welche Art von Quellcode handelt es sich denn bei Dir?
Abgesehen davon: ein Ändern des inputencodings bringt nur dann etwas, wenn Dein Editor die entsprechende Datei in besagtem encoding abgespeichert hat.;)
Übrigens bleiben bei mir mal gerade drei Zeichen ``unübersetzbar´´ (utf8 bei mir: ¬, ° und ·) -- d.h. ich hab' das unter der verbatim-Umgebung getestet...
MfG,

tvogt
06-02-2007, 10:34
In meinem Quellcode werden Strings nach Sonderzeichen durchsucht und ggf. konvertiert(aus · wird z.b. ·, oder aus © wird ©). Das ist nötig, damit die überarbeiteten Strings, der Content einer XML-Datei, sich in ein CMS importieren lässt und die Sonderzeichen dort richtig dargestellt werden.

Also, du meinst, wenn ich ein anderes inputencoding verwende, muss der Editor die Datei auch entsprechend abgespeichert haben. Ich benutze den Editor "TeXnicCenter". Wo sehe ich denn da, welches encoding verwendet wird? Und wie kann ich das dann ggf. ändern?
Oder hängt das mit dem LaTeX-Kompiler zusammen? Da nutze ich MikTex und konvertiere immer mit pdflatex.

Mit "verbatim"-Umgebung meinst du die Tags begin{verbatim} und end{verbatim}? Dazwischen fügst du den Quellcode ein? Das führt bei mir layoutmässig zu einem viel schlechterem Ergebnis, weswegen ich eig. schon mit den listings-package arbeiten möchte.

Das einzigste was ich bisher noch herausgefunden habe, ist, dass ich in normalen Text mit \symbol{xxx}, wobei xxx für eine Zahl von 1-255 steht, auch ziemlich viele der von mir geforderten Sonderzeichen darstellen kann, leider aber auch nicht alle (was bedeutet, das die Zahlen nicht den entsprechenden Sonderzeichen im erweiterten ASCII-Code (http://www.torsten-horn.de/techdocs/ascii.htm) entsprechen).
Im Quellcode funktioniert dies aber nicht mehr, da das \symbol{} dort ja nicht interpretiert wird.

rais
06-02-2007, 12:00
Moin moin,


Also, du meinst, wenn ich ein anderes inputencoding verwende, muss der Editor die Datei auch entsprechend abgespeichert haben. Ich benutze den Editor "TeXnicCenter". Wo sehe ich denn da, welches encoding verwendet wird? Und wie kann ich das dann ggf. ändern?

wenn ich mich recht erinnere läuft TexnicCenter unter Windows... zwei Dinge, die es auf meinem System nicht gibt;-)


Mit "verbatim"-Umgebung meinst du die Tags begin{verbatim} und end{verbatim}? Dazwischen fügst du den Quellcode ein?

Nöö, dazwischen hab ich nur Deine Sonderzeichen eingefügt. Für Quellcodedarstellung nutze ich schon listings...aber da hab ich allenfalls mal n Umlaut -- und den auch nur innerhalb eines Kommentars.
MfG,

tvogt
06-02-2007, 13:44
Hmm, nochmal was andres: Ich bekomme in dem Zusammenhang mit dem {verbatim} dann die Warnung:

Font shape OMS/cmtt/m/n undefined using OMS/cmsy/m/n instead...

(wenn ich die Sonderzeichen in diesem {verbatim} nutze.

rais
06-02-2007, 21:13
Moin moin,
das dürfte sich hierbei um das © (copyright) Symbol handeln... Wenn Du's nachvollziehen willst, dann kannst Du den Inhalt der verbatim-Umgebung in mehrere Zeilen aufteilen, dann verschiebst Du \end{verbatim} in die Mitte, kompilierst; wenn die Meldung noch kommt, dann verschiebst Du \end{verbatim} nochmal um die Hälfte nach oben (sonst eben wieder nach unten), kompilierst... solange, bis Du die entsprechende Zeile rausgeunden hast - die unterteilst Du dann so, daß nur noch ein Zeichen pro Zeile übrigbleibt, dann treibst Du das Spiel mit dem Verschieben von \end{verbatim} innerhalb dieser Einzelzeichenzeilen, bis Du das entsprechende Zeichen identifiziert hast.;)
Ggf mußt Du dabei darauf achten, daß LaTeX-Sonderzeichen, die nun nicht mehr innerhalb der verbatim-Umgebung stehen auch entsprechend escaped werden, bei Deiner Liste dürfte das nur "&" sein (also dann \& schreiben).
MfG,

tvogt
08-02-2007, 10:21
Also erstmal danke für deine viele Hilfe, rais. Ich bin jetz schon n ganz gutes Stück weiter.

Mithilfe des packages fontenc und der Option [T1] und dem package inputenc mit der Option [ansinew] bekomme ich soweit fast alle Zeichen hin. Lediglich das ¬ ± und ³ meiner benötigten Zeichen funktioniert nicht. Die von dir monierten ° · funktionieren nun bei mir seltsamerweise.

Auf die \verbatim Umgebung habe ich jetzt verzichtet.

rais
08-02-2007, 11:52
vllt findest Du ja Ersatz für die fehlenden Zeichen in symbols-a4.pdf (http://www.ctan.org/tex-archive/info/symbols/comprehensive/symbols-a4.pdf)
MfG,