von Master1991 » So 24. Jan 2016, 14:37
Hi,
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}
Hi,
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:
[code]
\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}
[/code]