Auflistungen und Unicode-Zeichen

Auflistungen und Unicode-Zeichen

Ich möchte einige Unicode-Zeichen in die lstlistingUmgebung schreiben, aber sie werden in der Ausgabe inline angezeigt, was nicht meinen Erwartungen entspricht. Wie kann ich dafür sorgen, dass es wie Standardzeichen funktioniert? Danke.

\documentclass{article}

\usepackage{fontspec}
\setmonofont{Consolas}

\usepackage{listings}
\lstset{
    basicstyle=\ttfamily
}

\begin{document}
    \begin{lstlisting}
    \end{lstlisting}    
\end{document}

Antwort1

Es tut mir leid, wenn Sie meine Antwort unangemessen finden, aber nachdem ich eine Weile mit Ihrem Code herumgespielt habe, ist die einfachste Variante, die ich gefunden habe, der Wechsel vom lstlistingPaket zu minted.

Warum minted?

Vorteile:

  • Funktioniert hervorragend mit pdflatex, xelatex usw.
  • Unterstützt viel mehr Sprachen zum Hervorheben, alslstlisting
  • Manchmal sieht Hervorhebung besser aus
  • Hat standardmäßig keine Probleme mit UTF-8-Zeichen

Nachteile:

  • Erfordert zusätzliche Software (die Installation dauert allerdings 2-5 Minuten)
  • Die Befehlsflags für die Kompilierung müssen bearbeitet werden (weitere 30 Sekunden)

Die gute Nachricht ist, dasszusätzliche SoftwareOben erwähnt wurde Python, das wahrscheinlich auf Ihrem System vorinstalliert ist, wenn Sie OS X oder eine andere gängige Linux-Distribution verwenden, und dessen Paket Pygments, das mit einer Zeile in der Shell installiert werden kann.

Sie können zuminted Handbuchund sehen Sie sich Abschnitt 2.1 an. Die Anweisungen sind sehr kurz und informativ.

Außerdem müssen Sie die Einstellungen Ihres TeX-Editors überprüfen und etwas ändern wie

/Library/tex/texbin/xelatex -synctex=1 %.tex

Flagge hinzufügen -shell-escape, also sieht es jetzt ungefähr so ​​aus

/Library/tex/texbin/xelatex -shell-escape -synctex=1 %.tex

Dadurch kann XeLaTeX Dinge außerhalb seiner „Sandbox“ aufrufen (in unserem Fall Python aufrufen).

Nach diesen Schritten sind Sie einsatzbereit minted. Eine erneute Einrichtung ist nicht mehr erforderlich.


Jetzt Ihr MWE, angepasst für minted:

\documentclass{article}

\usepackage{fontspec}
\setmonofont{Consolas}

\usepackage{minted}

\begin{document}
    \begin{minted}{text}
    \end{minted}    
\end{document}

Beachten Sie die Option {text}– sie dient zur Angabe der Sprache (in unserem Fall Nur-Text).

Und das Ergebnis:

Bildbeschreibung hier eingeben


P.S.: Ich habe noch nie zuvor damit gearbeitet minted, aber beim Versuch, Ihr Problem zu lösen, habe ich über 40 Minuten damit verbracht, herumzuspielen lstlistingund mich nur 2 Minuten mit der Installation und Einarbeitung zu beschäftigen minted. Es ist also definitiv einen Versuch wert.

verwandte Informationen