PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hervorhebungen in Listing



ein_jan
31-01-2006, 16:10
Hallo,

jetzt bin ich ganz neu registriert und hab schon eine große Frage.

Ich schreibe grade an der Dokumentation für ein Projekt. Dabei habe ich verschiedene Konfigurationsdateien, in denen Änderungen gemacht werden müssen.

Damit man die Änderungen schneller findet, ohne jedemal den vollständigen Text, in dem die Änderungen erklärt sind, lesen zu müssen, will ich die entsprechenden Zeilen bold setzen.

Ich hab schon etwas mit der listing Umgebung experimentiert, bekomme es bisher aber nicht hin, dass ich bestimmte Zeilen bold setze.

Da die Änderungen nicht von einem bestimmten Schlüsselwort o.ä. abhängen, bringt mir das Highlighting der Listing-Umgebung glaub ich nicht soviel, auch wenn es teilweise xml-Files sind.

Es währe super, wenn ihr mir helfen könntet, ich experimentiere zwar schon ein paar Monate immer wieder mit LaTeX, hierfür hab ich aber noch keine Lösung gefunden.

Schonmal besten Dank

Jan

countbela666
31-01-2006, 16:13
Hallo jan,

herzlich willkommen erstmal. Meinst du so etwas in der Art:

\documentclass{article}
\usepackage{listings}
\begin{document}
\lstset{moredelim=[is][\bfseries]{[*}{*]}}
\begin{lstlisting}
bla bla bla
blupp
[*wichtiger hervorzuhebender text*]
weiter im text
\end{lstlisting}
\end{document}Grüße,
Marcel

ein_jan
31-01-2006, 16:34
Vielen Dank für die schnelle Antwort. :-) Habs grade mal ausprobiert, genau sowas hab ich gesucht.
Ich hab das von Dir jetzt mal mit meinen bisherigen Einstellungen für die Listings kombiniert (wegen Kasten drum rum und Numerierung) und hab jetzt sowas (was tut):


\documentclass{article}
\usepackage{listings}
\begin{document}

\lstset{stringstyle=\ttfamily\small,
breaklines=true,
frame=tlbr,
moredelim=[is][\bfseries]{[*}{*]},
numberstyle=\small,
stepnumber=2,
numbersep=5pt,
numbers=left}
\begin{lstlisting}
bla bla bla
blupp
[*wichtiger hervorzuhebender text*]
weiter im text
\end{lstlisting}


Ich musste bei dem was ich hatte nur noch basicstyle=\ttfamily\small rausschmeissen (wobei ich gar nicht mehr weis wofür das drin war), und das von Dir reinsetzen.
Jetzt tut es bestens.

moredelim kannte ich bisher nicht, sehe ich das richtig, dass ich mit dem moredelim und dem was danach kommt Markierungen dfinieren kann, zwischen denen in dem Fall der Text bold gesetzt wird?

Noch mal vielen Dank

Jan

countbela666
31-01-2006, 16:43
Vielen Dank für die schnelle Antwort.kein Problem

sehe ich das richtig, dass ich mit dem moredelim und dem was danach kommt Markierungen dfinieren kann, zwischen denen in dem Fall der Text bold gesetzt wird?Richtig. Der Delimitertyp wird durch [is] angegeben; das i bedeutet, dass die Delimiter nicht mit ausgegeben werden. Das s bedeutet, dass der Delimiter zweiteilig ist (mit l könntest du Delimiter definieren, die jeweils zeilenweise gelten). Der ganze Spaß ist in der listings-Doku (ftp://tug.ctan.org/pub/tex-archive/macros/latex/contrib/listings/listings-1.3.pdf) (ab S. 21 Abs. 3.3) recht ausführlich beschrieben.

Grüße,
Marcel

ein_jan
08-02-2006, 19:32
Hallo,

der vorige Tipp war super und funktioniert auch gut.
Ich hab nur noch ein wahrscheinlich ehr kleines Problem.
Ich hab jetzt nämlich rausgefunden (hat etwas gedauert ;) ), warum ich vorher immer basicstyle=\ttfamily\small gesetzt hatte. Ich wollte, dass alle Zeichen die selbe Breite haben.

Da ich das basicstyle wie oben aber rausnehmen muss, um die Hervorhebungen benutzen zu können (ttfamily ist nicht mit bold kombinierbar), ist der Code in den Listings etwas verschoben, was ich aber gerne vermeiden möchte.

Da meine Experimente mit columns=... bisher nicht erfolgreich waren, jetzt die Frage, ob ich meine Wünsche, wie das Listing aussehen soll verwirklichen kann.

Jan

countbela666
08-02-2006, 20:05
Hallo Jan,

wie hier (http://www.mrunix.de/forums/showthread.php?t=41620) schon einmal angesprochen, liegt es an dem standardmäßig eingestellten Monospace-Font, dass ttfamily und bfseries nicht kombiniert werden können. Der Font "Computer Modern Typewriter" besitzt schlicht keinen fetten Schnitt. Das kannst du umgehen, indem du einen anderen Monospace-Font nutzt, wie z.B. courier (\renewcommand{\ttdefault}{pcr}).

Grüße,
Marcel