latex und listings: Hervorhebung einiger Teile des Codes

8

Ich benutze Latex und das listings -Paket, um C ++ - Code (mit Syntaxhervorhebung) in einem Dokument anzuzeigen.

Ich muss einige Teile des Codes hervorheben. Dieses spezielle Highlight hat nichts mit Syntax-Hervorhebung zu tun, es sind nur einige Teile des Codes, die ich hervorheben möchte, damit sich der Leser darauf konzentrieren kann.

Ich wünschte, ich könnte einen Variablennamen erstellen, zum Beispiel fett und auf gelbem Hintergrund. Hier ist etwas, was ich mit MS Word gemacht habe. Ich möchte mit Latex reproduzieren (natürlich nicht die rote und grüne Unterstreichung):

Ссылка .

Ich habe keine Möglichkeit gefunden, es mit dem listings -Paket zu machen. Ist es möglich?

    
Jérôme 05.05.2010, 09:07
quelle

3 Antworten

6

Sie können beliebige LaTeX-Befehle in Ihrer listings -Region aktivieren:

%Vor%

\highlight ist Ihr Hervorhebungs-Makro (Sie müssen es selbst schreiben). Weitere Informationen finden Sie in der Listing-Dokumentation, Abschnitt 4.14 ("Escape zu LaTeX"). Beachten Sie, dass Sie nun jedem anderen Vorkommen der Sonderzeichen in Ihrem Code entkommen müssen - für C ++ - Code ist {} wahrscheinlich eine schlechte Wahl.

    
Konrad Rudolph 05.05.2010, 09:12
quelle
10

Leider @ Konrads Ansatz entkommt wirklich vollständig von listings Formatierung. Wenn der markierte Text Programmschlüsselwörter enthält, werden diese Schlüsselwörter nicht vom Paket listings hervorgehoben, wie dies bei nicht hervorgehobenen Zeilen der Fall wäre. Das Ideal wäre möglicherweise, \highlight{\lstinline{...}} zu verwenden, aber es scheint, dass Sie ein \lstinline -Makro nicht in eine listings -Umgebung verschachteln können.

Die TeX StackExchange-Site hat im Wesentlichen die gleiche Frage , mit einem nette Antwort basierend auf dem Tikz-Paket und einem weitere Verfeinerung davon . Es überlagert die Hervorhebung, während listings den hervorgehobenen Text automatisch formatieren kann.

Dieser ganze tikz -basierte Ansatz nahm ein Eigenleben an und führte schließlich zu einem gute, robuste Lösung . Dies ist derzeit der bekannteste (mir bekannte) Ansatz, ausgewählte listings -Linien hervorzuheben, während die automatische Syntaxhervorhebung beibehalten wird. Es funktioniert auch genauso gut, um Highlights zwischen jedem Paar von Orten auf einer bestimmten Seite zu markieren.

    
Ben Liblit 23.05.2011 17:33
quelle
3

In C- oder C ++ - Code ist das Zeichen ' das Escape-Zeichen.

%Vor%

Dann können Sie es wie

verwenden %Vor%

Das Wort exception wird dann Ausnahme . BTW, Zeichen ' ist das Markdown-Format Zeichen für Code, so ist es sehr einfach, es in C oder C ++ wie Code-Auflistung zu verwenden.

    
coanor 16.12.2012 15:25
quelle

Tags und Links