Syntaxhervorhebung mit \newcommand

Schriftbild, Absätze und Auflistungen einstellen


napterk
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: So 5. Feb 2017, 20:32

Syntaxhervorhebung mit \newcommand

Beitrag von napterk »

Hallo zusammen,

ich möchte ein Dokument, welches den gleichen Text sowohl im Hoch- als auch Querformat ausgibt. Zudem brauche Syntaxhervorhebungen fürJava.

Mein jetztiges Minimalbeispiel funktioniert so nicht:
\documentclass[a4paper,10pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{microtype}
\usepackage{pdflscape}
\usepackage{typearea}
\usepackage{listings}
\pagestyle{empty}
\usepackage{listings}

\newcommand{\data}{
\begin{lstlisting}
test
\end{lstlisting}
}

\begin{document}
\lstset{language=Java}
\areaset[5mm]{150mm}{237mm}
\data
\newpage
\cleardoublepage
\storeareas\StandardArea
\KOMAoptions{paper=landscape}
\areaset[5mm]{150mm}{200mm}
\data
\end{document}
Dass newenvironment und lstlistings nicht so ein gute Idee ist, habe ich auch rausgefunden. Ich will aber gerne diese zwei Seiten mit dem gleichen Text, daher bin ich offen für jegliche Anregungen.

Danke!

napterk

Gast

Beitrag von Gast »

Den Code in eine eigene Datei auslagern. Dann kann man ihn beliebig oft mit \lstinputlisting laden. Das Auslagern geht mit Hilfe der Umgebung filecontents* (in dem Fall wäre vermutlich die Verwendung von filecontents zu empfehlen) sogar aus der TeX-Datei heraus, so dass man beim Bearbeiten der Quellen nicht einmal mit mehr Dateien hantieren muss. Die externe Datei hat darüber hinaus den Vorteil, dass man ggf. auch mit listingsutf8 arbeiten kann.

Antworten