es geht um die definition einer neuen Sprache für lstlisting
hoffe mir kann fix wer helfen, ansich funktioniert es schon relativ, aber:
--> Ich würde gerne das die Ziffern im Quellcode eine andere Farbe bekommen. Numberstyle ändert nur die Ziffern am Rand.
-->Außerdem sollte das # Symbol dieselbe Farbe wie die Ziffern bekommen.
-->Obwohl es ein Kommentar ist werden : und := anderfarbig gehighlighted
-->Die beiden Punkte in der Array definition sollten ebenfalls blau sein
-->Runde Klammern ebenfalls blau, wenn ich diese integriere gehen meine mehrzeiligen Kommentare nicht mehr.
-->Achso und 16#AF ... dort sind A-F auch Ziffern sollten also ebenfalls ziffernfarbe bekommen. Aber nur hinter der Raute...ich will nicht jedes f farbig haben
Minimalbeispiel:
\documentclass[]{article} \usepackage{xcolor} \usepackage{listings} \lstdefinelanguage{ST} { % list of keywords morekeywords={ case,of,if,then,end_if,end_case,super,function_block,extends,var, constant, byte,,end_var,var_input, real,bool,var_output, dint,udint,word,dword,array, of,uint,not,adr }, otherkeywords={ :, :=, <>,;,\,.,\[,\],\^ }, sensitive=false, morecomment=[l]{//}, morecomment=[s]{(*}{*)}, morestring=[b]" morestring=[b]' } \lstset{ language=ST, numbers=left, numberstyle=\color{purple}, keywordstyle=\color{blue}, commentstyle=\color{green}, stringstyle=\color{yellow}, tabsize=3 } \begin{document} \begin{lstlisting} FUNCTION_BLOCK Name EXTENDS Name2 VAR CONSTANT (* Mehrzeiliges Kommentar *) variable : BYTE := 2#11111110; //Auskommentierte variable //variable2 : REAL := 16#AF; array1: ARRAY[0..1] OF Name3; END_VAR CASE Variable OF 0: IF SUPER^.init() THEN variable := 1; END_IF 1: variable := 10; END_CASE \end{lstlisting} \end{document}