Wiederherstellen der Deafult-Werte beim listings Package?
Verfasst: Mi 22. Okt 2014, 14:08
Hallo Allerseits.
Ich schreibe derzeit an einem Dokument, in dem ich Code in mehreren Sprachen habe. Dabei habe ich mir für jede Sprache eine eigene Highlight Syntax gebastelt.
Das Problem ist nur, dass die von der vorherigen Sprache geänderten Werte bei der Benutzung des nächsten Styles bzw. Sprache einfach mit übernommen werden, solange ich sie nicht explizit überschreibe. Dies macht das wechseln zwischen den verschieden Sprachen teilweise sehr mühselig.
Daher suche ich einen Befehl oder ähnliches, mit dem ich einfach die Default Werte wieder herstellen kann. Per Google habe ich so etwas leider nicht gefunden, aber gibt es da eine Möglichkeit?
Falls es sowas nicht gibt, kennt jemand einen Trick, um es doch so hinzukriegen?
Ich bedanke mich bereits im Vorraus für Antworten. Hier ein Minimalbeispiel:
Ich schreibe derzeit an einem Dokument, in dem ich Code in mehreren Sprachen habe. Dabei habe ich mir für jede Sprache eine eigene Highlight Syntax gebastelt.
Das Problem ist nur, dass die von der vorherigen Sprache geänderten Werte bei der Benutzung des nächsten Styles bzw. Sprache einfach mit übernommen werden, solange ich sie nicht explizit überschreibe. Dies macht das wechseln zwischen den verschieden Sprachen teilweise sehr mühselig.
Daher suche ich einen Befehl oder ähnliches, mit dem ich einfach die Default Werte wieder herstellen kann. Per Google habe ich so etwas leider nicht gefunden, aber gibt es da eine Möglichkeit?
Falls es sowas nicht gibt, kennt jemand einen Trick, um es doch so hinzukriegen?
Ich bedanke mich bereits im Vorraus für Antworten. Hier ein Minimalbeispiel:
\documentclass[ngerman,12pt,bibtotoc]{scrartcl} \usepackage[usenames,dvipsnames]{color} \usepackage{listings} \lstdefinelanguage{custompython}{ language=Python, % literate=*{1}{{{\color{red}1}}}1 } \lstdefinelanguage{custommatlab}{ language=Matlab, % stringstyle=\color{green}, % } \begin{document} \lstset{language=custompython} \begin{lstlisting} a=1 stri='hello' \end{lstlisting} Python 1: richtig\\\\ \lstset{language=custommatlab} \begin{lstlisting} a=1 stri='hello' \end{lstlisting} Matlab 1: falsch (Zahlen rot)\\\\ \lstset{language=custompython} \begin{lstlisting} a=1 stri='hello' \end{lstlisting} Python 2: falsch (Strings gruen) \end{document}