ubuntuusers.de

Syntax Highlighter als LaTeX package

Status: Gelöst | Ubuntu-Version: Ubuntu 10.04 (Lucid Lynx)
Antworten |

FUZxxl

Anmeldungsdatum:
4. Juni 2009

Beiträge: Zähle...

Hallo!

Ich wollte mal fragen, ob es ein LaTeX-Packet gibt, mit dem man einfach und unkompliziert Syntax-Highlighting machen kann. Am besten wäre eine Lösung so ungefähr wie folgende:

\begin[html]{code}
<p>
Hello, <b>World</b>!
</p>
\end{code}

Ich bin noch ein ziemlicher Anfänger mit LaTeX, wahrscheinlich bin ich nicht der erste, der das fragt. Trotzdem würde ich mich sehr freuen.

MFlops

Avatar von MFlops

Anmeldungsdatum:
19. Juni 2010

Beiträge: 216

FUZxxl schrieb:

...Ich wollte mal fragen, ob es ein LaTeX-Packet gibt, mit dem man einfach und unkompliziert Syntax-Highlighting machen kann....

Die alte LaTeX-FAQ gibt dazu folgendes her:

7.3.4 Wie kann ich Programm-Code in mein LaTeX-Dokument einbinden?

Neben der Möglichkeit, kurze Abschnitte `verbatim' einzubinden, gibt es
verschiedene Tools, die automatisch LaTeX-Code mit den entsprechenden
Syntaxhervorhebungen erzeugen:

* `listings'
  Reine LaTeX-Lösung; unterstützt viele Programmiersprachen; in neueren
  Versionen kann `listings' zusätzlich einige der Möglichkeiten des
  Pakets `fancyvrb' nutzen.
* `lgrind'
  C-Programm und LaTeX-Style, für LaTeX2e; unterstützt sehr viele
  Programmiersprachen.
* `tiny_c2l'
  lex-Programm und LaTeX-Style; unterstützt neben C auch C++ und Java;
  kann überlange Zeilen umbrechen.

listings:  CTAN: macros/latex/contrib/listings/
lgrind:    CTAN: nonfree/support/lgrind/
tiny_C2l:  CTAN: support/tiny_c2l/

Ich selber habe listings.sty noch nicht benutzt. Du kannst Dich aber im TeX Catalogue unter listings weiter hierzu informieren. Dort findest Du auch eine Anleitung als pdf-Datei.

Für TeXlive musst Du u.U. textlive-latex-recommended nachinstallieren.

Zu den anderen beiden Paketen findest Du ebenfalls etwas im TeX Catalogue.

Eventuell findest Du auch die ein oder andere Information im LaTeX-Forum.

mfG

FUZxxl

(Themenstarter)

Anmeldungsdatum:
4. Juni 2009

Beiträge: Zähle...

Danke für die schnelle Antwort. Ich hab allerdings gelesen, das listings leider Probleme mit Unicode hat. Auf verschiedenen Seiten wurde ich auch auf Pygments hingwiesen. Ich werde einfach mal schauen. Danke!

MFlops

Avatar von MFlops

Anmeldungsdatum:
19. Juni 2010

Beiträge: 216

FUZxxl schrieb:

... Probleme mit Unicode...

Vielleicht hilft ja listingsutf8.

mfG

FUZxxl

(Themenstarter)

Anmeldungsdatum:
4. Juni 2009

Beiträge: Zähle...

Danke übrigens nochmal. Pygmentize geht übrigens ziemlich gut. Man sollte es allerdings mit der full-Option aufrufen, sonst parst LaTeX die Datei nicht. Außerdem wird Unicode fälschlicherweise zu utf-8 konvertiert, was zu merkwürdigen Fehlern führt.

Marc_BlackJack_Rintsch Team-Icon

Ehemalige
Avatar von Marc_BlackJack_Rintsch

Anmeldungsdatum:
16. Juni 2006

Beiträge: 4677

Wohnort: Berlin

@FUZxxl: Mit der full-Option muss man es aufrufen wenn man ein eigenständiges, komplettes LaTeX-Dokument erstellen will. Sonst bekommt man nur den Teil der den Quelltext setzt, den man in ein vorhandenes Dokument einfügen kann.

Das mit Unicode zu UTF-8 verstehe ich nicht!? Irgendwie muss Unicode ja kodiert werden und UTF-8 deckt alles ab, macht also irgendwie Sinn, oder!?

FUZxxl

(Themenstarter)

Anmeldungsdatum:
4. Juni 2009

Beiträge: 89

Das Problem, was ich meinte, war folgendes:

Wenn die Datei, die zu pygmentieren ist, mit UTF-8 Zeichenkodierung ausgeliefert ist, und mit der full-Option kompiliert wird, dann wird mit in der resultierenden .tex-Datei folgender Eintrag erstellt:

\usepackage[utf-8]{inputenc}

welcher aber falsch ist, denn richtig wäre:

\usepackage[utf8]{inputenc}
Antworten |