Anzeige:
Ergebnis 1 bis 7 von 7

Thema: Verschiedene Listings und kryptische Zeichen

  1. #1
    Banned
    Registriert seit
    18.05.2009
    Beiträge
    112

    Arrow Verschiedene Listings und kryptische Zeichen

    Hallo,

    ich nutze C# als Programmiersprache und möchte zusätzlich SQL Code darstellen.

    Wie kann ich jeder Sprache verschiedene Stile zuweisen und diese dann einbinden? (Ich stelle mir zwei Definitonspaare in der Preamble vor, die dann mit lstinputlisting[language=SQL oder {[Sharp]C}] pro Einbindung gesteuert werden.)

    Wenn ich mit lstinputlisting C#-Code (xyz.cs) einbinde, wird in der ersten Zeile folgendes dargestellt:

    using System.Collections.Generic;

    Diese kryptischen Zeichen zu Beginn sind mir rätselhaft. Wie kann ich dies abstellen?

    Viele Grüße,

    tux

  2. #2
    Registrierter Benutzer
    Registriert seit
    20.03.2006
    Beiträge
    180
    using System.Collections.Generic;

    Diese kryptischen Zeichen zu Beginn sind mir rätselhaft. Wie kann ich dies abstellen?
    Bei den "kryptischen" Zeichen handelt es sich um eine 3 Oktetts lange Sequenz, die zu Beginn einer Textdatei (plain text) steht und mit der allen diese Datei verarbeitenden Programmen (z.B. Editoren) mitgeteilt wird, dass der Inhalt der Datei in UTF8-Kodierung vorliegt.

    Folgerichtig musst Du also in Deiner Präambel die Kodierung auf UTF8 festlegen. UTF8s sollte eigentlich "überall" Standard sein, zumindest ist dies auf qualifizierten Betriebssystemen (z.B. Linux) der Fall.

    Ich kann Dir aus dem Stegreif nicht die genauen Anweisungen herunterschreiben, wie TeX/LaTeX mitgeteilt wird, dass die Kodierung UTF8 ist. Entweder Du googelst, oder Du wartest, bis ich Dir heute abend die entsprechende Anweisung nachreiche.

    Gruss
    Dieter

  3. #3
    Registrierter Benutzer
    Registriert seit
    31.03.2010
    Beiträge
    1.039
    utf8 stellt man bei LaTeX natürlich mit
    Code:
    \usepackage[utf8]{inputenc}
    ein. Bei xelatex und lualatex ist utf8 hingegen die erwartete Codierung.

    Das Paket listings hat aber seine liebe Mühe mit utf8. Deshalb gibt es das Paket listingsutf8. Die UTF-8-BOM-Markerbytes wird man damit aber vermutlich nicht los werden. Wenn man den Quellcode nicht alternativ auch ohne diese speichern kann, wird das eventuell ein Problem werden. Dann muss man die per Nachbearbeitung entfernen.

  4. #4
    Registrierter Benutzer
    Registriert seit
    31.03.2010
    Beiträge
    1.039
    Zitat Zitat von Tux Beitrag anzeigen
    Wie kann ich jeder Sprache verschiedene Stile zuweisen und diese dann einbinden? (Ich stelle mir zwei Definitonspaare in der Preamble vor, die dann mit lstinputlisting[language=SQL oder {[Sharp]C}] pro Einbindung gesteuert werden.)
    Mach es umgekehrt. Definiere zwei Stile (siehe \lstdefinestyle in der listings-Anleitung), bei denen die Sprache bereits als Option enthalten ist, also etwas wie:
    Code:
    \lstdefinestyle{SQL}{language=SQL,basicstyle=\color{magenta}}
    \lstdefinestyle{SharpC}{language=[Sharp]C,basicstyle=\color{cyan}}
    (die Farben sind natürlich Quatsch, aber mir ist gerade nicht sinnvolles eingefallen). Dann kannst Du nachher einfach
    Code:
    \lstinputlisting[style=SQL]{foo.sql}
    und
    Code:
    \lstinputlisting[style=SharpC]{foo.c}
    verwenden.

  5. #5
    Banned
    Registriert seit
    18.05.2009
    Beiträge
    112
    ja, besten dank ... hab ne andere lösung gefunden, indem ich die quelldatei umcodiert habe "UTF-8 ohne BOM" ... dann hauts hin.

    grüße

  6. #6
    Banned
    Registriert seit
    18.05.2009
    Beiträge
    112
    toll, jetzt hab ich das problem, dass umlaute in z.b. strings nicht gescheit dargestellt werden.

    habe schon was mit listingsutf8 probiert, aber das generiert zahlreiche fehler. hat einer für den fall eine idee??

    grüße!

  7. #7
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Finde entweder raus, was bei listingsutf8 falsch läuft, oder speichere deine listings in irgendeiner 8-bit-Kodierung.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •