PDA

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



tvogt
02-02-2007, 10: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 knnte es ja auch mit dem inputenc-Package zusammenhnge, 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, 19: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 knnte es ja auch mit dem inputenc-Package zusammenhnge, 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 vllig 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 ``unbersetzbar (utf8 bei mir: , und ) -- d.h. ich hab' das unter der verbatim-Umgebung getestet...
MfG,

tvogt
06-02-2007, 09:34
In meinem Quellcode werden Strings nach Sonderzeichen durchsucht und ggf. konvertiert(aus wird z.b. ·, oder aus wird ©). Das ist ntig, damit die berarbeiteten Strings, der Content einer XML-Datei, sich in ein CMS importieren lsst 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 hngt 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 fgst du den Quellcode ein? Das fhrt bei mir layoutmssig zu einem viel schlechterem Ergebnis, weswegen ich eig. schon mit den listings-package arbeiten mchte.

Das einzigste was ich bisher noch herausgefunden habe, ist, dass ich in normalen Text mit \symbol{xxx}, wobei xxx fr 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, 11: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 luft 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 fgst du den Quellcode ein?

N, dazwischen hab ich nur Deine Sonderzeichen eingefgt. Fr 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, 12: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, 20:13
Moin moin,
das drfte 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 Hlfte 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 mut Du dabei darauf achten, da LaTeX-Sonderzeichen, die nun nicht mehr innerhalb der verbatim-Umgebung stehen auch entsprechend escaped werden, bei Deiner Liste drfte das nur "&" sein (also dann \& schreiben).
MfG,

tvogt
08-02-2007, 09:21
Also erstmal danke fr deine viele Hilfe, rais. Ich bin jetz schon n ganz gutes Stck 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 bentigten Zeichen funktioniert nicht. Die von dir monierten funktionieren nun bei mir seltsamerweise.

Auf die \verbatim Umgebung habe ich jetzt verzichtet.

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