PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sonderzeichen in Listings



bln-roadrunner
30-11-2005, 22:46
Hallo,

ich erstelle gerade ein Dokument mit verschiedenen Listings. Allerdings verwende ich eine Programmiersprache die nicht unterstützt wird. Dadurch werden bestimmte Zeichen des Quellcodes in den Listings nicht dargestellt. Bei den Zeichen handelt es sich um « und ». Im Tex-file selbst werden diese Zeichen über \flqq und \frqq dargestellt, nur nicht in Listings.
Hat jemand ne Idee, wie es trotzdem gehen könnte?

schlaefer2
01-12-2005, 11:59
Hallo,

versuch doch einfach die Sprache selbst zu definieren. Dadurch kannst du selber festlegen, welche Zeichen zu der Sprache gehören.

Das ganze erledigst du in der Präambel etwa so:


\usepackage{listings}
\lstdefinelanguage{NAME DER SPRACHE}
{morekeywords={HIER DIE KEYWORDS DER SPRACHE EINTRAGEN},%
sensitive,%
morecomment=[l];%
}

Weitere Einstellungen findest du in der Doku zum listings-Paket.
Im Dokument legst du deine Sprache einfach über


\lstset{language=NAME DER SPRACHE, andere Optionen}
fest. Wie du bestimmte Einstellungen (hier "andere Optionen"), zum Aussehen des Codes machen kannst weisst du sicher, ansonsten hilft ein Blick in Doku.

Viel Glück und Spaß
Jana

bln-roadrunner
02-12-2005, 11:50
Okay, dass scheint prinzipiell ja ganz einfach zu sein, habs jetzt wie folgt gelöst (steht in der Präambel):

\lstdefinelanguage{Xpand}%
{morekeywords={DEFINE, ENDDEFINE, FOR, FOREACH, ENDFOREACH, %
EXPAND, IF, ENDIF, INSTANCEOF, USING, SEPARATOR},%
sensitive=true,%
otherkeywords={«, »},%
morecomment=[s]{«REM}{»};%
}[keywords,comments]%

Wenn ich jetzt das entsprechende Listing definiere, sieht das bislang wie folgt bei mir aus.

\begingroup
\footnotesize
\renewcommand{\baselinestretch}{1}
\begin{lstlisting}[float=ht, caption={PersistentClass.tpl: Root als Metatyp}, label=lst:root, language=Xpand]
«DEFINE Root FOR Class»
\end{lstlisting}
\endgroup

Das funktioniert leider nicht. Woher weiss ich dass meine definition der sprache überhaupt genommen wird. Die Zeichen auf die es mir ankommt, werden nämlich trotzdem nicht angezeigt, allerdings bin ich mir auch nicht sicher, ob ich die als otherkeywords angeben muss. Muss ich \lstset vor jedem \begin des Listings schreiben oder wo und dann dort die entsprechende Sprache angeben oder ist es so wie oben i.O.?

Hat jemand ne Idee, warum die beiden Zeichen nicht in Listings angezeigt werden? Im normalen Dokument geht das doch über \flqq und \frqq, warum nicht im Listing, was kann ich tun?