chris21
09-05-2007, 17:44
Hallo,
ich möchte in meiner Doku SystemC Codeausschnitte einfügen.
Also habe ich mir ein bischen selber was definiert:
\lstdefinelanguage{systemc}
{
keywords={sc\_uint,<,>,SC\_MODULE,
sc\_main,sc\_start,sc\_stop,
SC\_CTOR,SC\_THREAD,SC\_METHOD,SC\_CTHREAD,
sc\_port,sc\_in,sc\_out,sc\_inout,sc\_port
},
sensitive=false,
comment=[l]{ // }
}
Da SystemC auf C++ beruht, mache ich das immer so
\begin{lstlisting}[language=systemc,alsolanguage=c++,defaultdialect=g nu, ... ]
\lstset{
numbers=left,
stepnumber=1,
numbersep=5pt,
numberstyle=\tiny,
breaklines=true,
breakautoindent=true,
postbreak=\space,
tabsize=2,
%basicstyle=\ttfamily\footnotesize,
%basicstyle=\ttfamily\scriptsize,
basicstyle=\ttfamily\footnotesize,
showspaces=false,
showstringspaces=false,
extendedchars=true,
backgroundcolor=\color{white},
keywordstyle=\color{meinblau},
%keywordstyle=\color{meinblau}\bfseries,
%commentstyle=\color{meingruen}\itshape\small,
commentstyle=\color{meingruen}\itshape ,
stringstyle=\color{meinrosa},
frame=Tb
}
Leider macht er mir nun alle C++ und alls SystemC keywords in der gleichen Farbe.
Also ich möchte das die C++ und due SystemC keywords unterschiedliche Farben haben, habe es so pobbiert :
\lstdefinelanguage{systemc}
{
classoffset=0,
morekeywords={sc\_uint,<,>,SC\_MODULE,
sc\_main,sc\_start,sc\_stop,
SC\_CTOR,SC\_THREAD,SC\_METHOD,SC\_CTHREAD,
sc\_port,sc\_in,sc\_out,sc\_inout,sc\_port
},keywordstyle=\color{cyan}
sensitive=false,
comment=[l]{ // },
classoffset=0
}
jetzt macht er eben alle keywords beider Sprachen cyan :-(
mit classoffset = 1 bekomme ich eine viele Fehler.
*************************************************
Hab gleich noch eine Frage zum Listings Paket, ich habe noch andere Programmiersprachen, jetzt wird aber nur eine Listingsverzeichnis erstellt,
kann ich irgendwie für jede Sprache ein eigenes Listingverzeichniss erstellen ?
************************************************** *****
Vielen Dank,
Chris
ich möchte in meiner Doku SystemC Codeausschnitte einfügen.
Also habe ich mir ein bischen selber was definiert:
\lstdefinelanguage{systemc}
{
keywords={sc\_uint,<,>,SC\_MODULE,
sc\_main,sc\_start,sc\_stop,
SC\_CTOR,SC\_THREAD,SC\_METHOD,SC\_CTHREAD,
sc\_port,sc\_in,sc\_out,sc\_inout,sc\_port
},
sensitive=false,
comment=[l]{ // }
}
Da SystemC auf C++ beruht, mache ich das immer so
\begin{lstlisting}[language=systemc,alsolanguage=c++,defaultdialect=g nu, ... ]
\lstset{
numbers=left,
stepnumber=1,
numbersep=5pt,
numberstyle=\tiny,
breaklines=true,
breakautoindent=true,
postbreak=\space,
tabsize=2,
%basicstyle=\ttfamily\footnotesize,
%basicstyle=\ttfamily\scriptsize,
basicstyle=\ttfamily\footnotesize,
showspaces=false,
showstringspaces=false,
extendedchars=true,
backgroundcolor=\color{white},
keywordstyle=\color{meinblau},
%keywordstyle=\color{meinblau}\bfseries,
%commentstyle=\color{meingruen}\itshape\small,
commentstyle=\color{meingruen}\itshape ,
stringstyle=\color{meinrosa},
frame=Tb
}
Leider macht er mir nun alle C++ und alls SystemC keywords in der gleichen Farbe.
Also ich möchte das die C++ und due SystemC keywords unterschiedliche Farben haben, habe es so pobbiert :
\lstdefinelanguage{systemc}
{
classoffset=0,
morekeywords={sc\_uint,<,>,SC\_MODULE,
sc\_main,sc\_start,sc\_stop,
SC\_CTOR,SC\_THREAD,SC\_METHOD,SC\_CTHREAD,
sc\_port,sc\_in,sc\_out,sc\_inout,sc\_port
},keywordstyle=\color{cyan}
sensitive=false,
comment=[l]{ // },
classoffset=0
}
jetzt macht er eben alle keywords beider Sprachen cyan :-(
mit classoffset = 1 bekomme ich eine viele Fehler.
*************************************************
Hab gleich noch eine Frage zum Listings Paket, ich habe noch andere Programmiersprachen, jetzt wird aber nur eine Listingsverzeichnis erstellt,
kann ich irgendwie für jede Sprache ein eigenes Listingverzeichniss erstellen ?
************************************************** *****
Vielen Dank,
Chris