
Ich möchte wissen, wie man ein spezielles Schlüsselwort hinzufügt,ignoriertin \lstinputlisting
dem im listings
Paket verwendet wird.
Der Screenshot zeigt mein Problem. Ich schreibe ein Tutorial-Dokument zum ROOT-Datenanalyse-Framework (https://root.cern.ch), das über einen eigenen C++-Interpreter mit einer Benutzeraufforderung wie root [n]
unten gezeigt verfügt.
In den meisten Fällen funktioniert die Verwendung der lstlisting
Umgebung und der c++
Option für den ROOT-Interpreter einwandfrei. Wenn jedoch root (cont'ed, cancel with .@)
auf dem Interpreter gedruckt wird, wird das einfache Anführungszeichen in dieser Nachricht als Beginn einer C-Zeichenfolge betrachtet und daher wird die Farbe des Codes auf Grün geändert.
\begin{lstlisting}[language=c++,breaklines=true]
root [0] TH2D* h2 = new TH2D("h2", "2D Gaussian Distribution;#it{x};#it{y};Entries", 100, -10, 10, 100, -10, 10)
(TH2D *) 0x7fe8c3615eb0
root [1] const Double_t kSigma = 2.
(const Double_t) 2.00000
root [2] for(Int_t i = 0; i < 100000; i++){
root (cont'ed, cancel with .@) [3] Double_t x = gRandom->Gaus(0, kSigma);
root (cont'ed, cancel with .@) [4] Double_t y = gRandom->Gaus(0, kSigma);
root (cont'ed, cancel with .@) [5] h2->Fill(x, y);
root (cont'ed, cancel with .@) [6] }
root [7] TCanvas* can = new TCanvas("can", "can", 600, 600)
(TCanvas *) 0x7fe8c359a9a0
root [8] h2->Draw("colz")
\end{lstlisting}
Ich möchte wissen, wie ich dem listings
Paket befehle, dieses einfache Anführungszeichen zu ignorieren. Gibt es eine Möglichkeit, die Zeichenfolge cont'ed
zu einer Art „Ignorieren“-Liste hinzuzufügen?
Antwort1
Ich habe eine vorläufige Lösung gefunden, die verwendet mathescape
, suche aber immer noch nach einer besseren Lösung.
\newcommand{\conted}{\texttt{cont'ed}} % for ROOT 6 prompt
\begin{lstlisting}[language=c++,breaklines=true,mathescape]
root [0] TH2D* h2 = new TH2D("h2", "2D Gaussian Distribution;#it{x};#it{y};Entries", 100, -10, 10, 100, -10, 10)
(TH2D *) 0x7fe8c3615eb0
root [1] const Double_t kSigma = 2.
(const Double_t) 2.00000
root [2] for(Int_t i = 0; i < 100000; i++){
root ($\conted$, cancel with .@) [3] Double_t x = gRandom->Gaus(0, kSigma);
root ($\conted$, cancel with .@) [4] Double_t y = gRandom->Gaus(0, kSigma);
root ($\conted$, cancel with .@) [5] h2->Fill(x, y);
root ($\conted$, cancel with .@) [6] }
root [7] TCanvas* can = new TCanvas("can", "can", 600, 600)
(TCanvas *) 0x7fe8c359a9a0
root [8] h2->Draw("colz")
\end{lstlisting}