Anzeige:
Ergebnis 1 bis 13 von 13

Thema: Problem mit Perl in Listing

  1. #1
    Registrierter Benutzer Avatar von #cousin#
    Registriert seit
    13.08.2009
    Beiträge
    18

    Problem mit Perl in Listing

    Hi Zusammen,

    ich möchte gerne ein Perl-Skript in meine Diplomarbeit packen. Leider machen die $ Zeichen darin ziemliche Probleme.

    Ich habe es in folgende Umgebung gepackt:
    Code:
    \begin{lstlisting}[breaklines, frame=shadowbox, framerule=2pt, framexleftmargin=5mm, rulesepcolor=\color{darkblue}, basicstyle=\small, language=perl]
    aber leider interpretiert er die $ als Anfang/Ende einer Mathe-Umgebung. Das Escapen brachte leider auch nichts.

    Habt ihr noch eine Idee, wie man Latex abgewöhnen kann, die $ zu interpretieren? bzw. wie man ein Perl-Skript in Latex anständig abbilden kann?

    Für Antworten bin ich wie immer sehr dankbar!

  2. #2
    Registrierter Benutzer Avatar von Stefan_K
    Registriert seit
    05.04.2007
    Ort
    Hamburg
    Beiträge
    3.534

    $-Symbol in Listings

    Hallo,

    versuche es mal mit der Option mathescape=false.

    Viele Grüße,

    Stefan

  3. #3
    Registrierter Benutzer Avatar von #cousin#
    Registriert seit
    13.08.2009
    Beiträge
    18
    kommt die in die listings-Umgebung, oder wo setze ich diese Option?

  4. #4
    Registrierter Benutzer Avatar von Stefan_K
    Registriert seit
    05.04.2007
    Ort
    Hamburg
    Beiträge
    3.534

    mathescape

    Setze es in die eckigen Klammern nach \begin{lstlisting} oder mit \lstset.

    Stefan

  5. #5
    Registrierter Benutzer Avatar von #cousin#
    Registriert seit
    13.08.2009
    Beiträge
    18
    ok, das hab ich mir schon fast gedacht und auch gemacht.

    Code:
    \begin{lstlisting}[breaklines, frame=shadowbox, framerule=2pt, framexleftmargin=5mm, rulesepcolor=\color{grey}, basicstyle=\small, language=perl, mathescape=false]
    Leider ohne Erfolg, er bringt mir immernoch die Meldung "! Missing $ inserted"

  6. #6
    Registrierter Benutzer Avatar von Stefan_K
    Registriert seit
    05.04.2007
    Ort
    Hamburg
    Beiträge
    3.534

    Arrow Minimalbeispiel

    Dann zeig am besten ein Minimalbeispiel, das wir testen und korrigieren können.

    Stefan

  7. #7
    Registrierter Benutzer Avatar von #cousin#
    Registriert seit
    13.08.2009
    Beiträge
    18
    Danke für die Mühe!

    Im Anhang ist ein Minimalbeispiel (ich hoffe zumindest das es eins ist), mit den nötigsten Paketen und einem Auszug aus dem Perl-Skript.

  8. #8
    Registrierter Benutzer Avatar von Stefan_K
    Registriert seit
    05.04.2007
    Ort
    Hamburg
    Beiträge
    3.534

    Arrow Eingabecodierung

    Das kann ein encoding-Problem sein. Du verwendest applemac- Eingabecodierung, versuch es mal mit latin1, damit lässt sich das Minimalbeispiel bei mir übersetzen.

    Stefan

  9. #9
    Registrierter Benutzer Avatar von #cousin#
    Registriert seit
    13.08.2009
    Beiträge
    18
    bei latin1 gehen bei mir leider keine Umlaute und Sonderzeichen (sind einige deutschen Quellen im Text mit solchen Zeichen), gibt es ein Encoding für Mac das Umlaute und Perl kann?

    bzw. kann ich das Encoding für Teile der Arbeit ändern? Also applemac bis zum Perl-Script, dann latin1 für das eine Listing und danach wieder applemac?
    Geändert von #cousin# (14-09-2009 um 23:56 Uhr)

  10. #10
    Registrierter Benutzer Avatar von Stefan_K
    Registriert seit
    05.04.2007
    Ort
    Hamburg
    Beiträge
    3.534

    Eingabecodierung

    latin1 beherrscht auch Umlaute. Man könnte die Datei mit recode oder iconv umwandeln, denn die Codierung der Datei muss mit der Codierungsangabe für inputenc zusammenpassen. Auf dem Mac geht auch utf8, doch das Problem ist wahrscheinlich das gleiche - das Grad-Symbol.
    Bei mir funktionierte es, als ich die originale Datei in Kile auf Linux mit ISO8859-1 öffnete und mit latin1 übersetzte. utf8 hingegen gab das genannte Problem, applemac ebenfalls.

    Stefan

  11. #11
    Registrierter Benutzer Avatar von Stefan_K
    Registriert seit
    05.04.2007
    Ort
    Hamburg
    Beiträge
    3.534

    Eingabecodierung

    Zitat Zitat von #cousin# Beitrag anzeigen
    bzw. kann ich das Encoding für Teile der Arbeit ändern? Also applemac bis zum Perl-Script, dann latin1 für das eine Listing und danach wieder applemac?
    Mischen geht vmtl. nicht so einfach. Man könnte jedoch das perl-Listing mit anderer Codierung in ein separates pdf file compilieren und das mit pdfpages einbinden.

    Stefan


    --
    TeXblog

  12. #12
    Registrierter Benutzer Avatar von #cousin#
    Registriert seit
    13.08.2009
    Beiträge
    18
    Vielen vielen Dank Stefan!!!!

    der Tip mit dem Grad-Symbol war die Lösung. Einfach das Symbol geändert (war zuvor eh das Falsche) und schon läuft es auch mit applemac wunderbar durch!

  13. #13
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Falls das Gradsymbol wirklich ein Gradsymbol sein sollte, dann war das Listing nicht als applemac kodiert, sondern latin1 oder ansinew oder sowas. Es war nämlich das Zeichen ASCII 176, das in applemac zu \infty wird. Daher versuchte listings auch immer in den Mathemodus zu wechseln.

    Du kannst für listings lokal das Encoding wechseln mit
    \begin{lstlisting}[inputencoding=ansinew, ...

Lesezeichen

Berechtigungen

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