
Ich möchte einige Unicode-Zeichen in die lstlisting
Umgebung 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 lstlisting
Paket zu minted
.
Warum minted
?
Vorteile:
- Funktioniert hervorragend mit pdflatex, xelatex usw.
- Unterstützt viel mehr Sprachen zum Hervorheben, als
lstlisting
- 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:
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 lstlisting
und mich nur 2 Minuten mit der Installation und Einarbeitung zu beschäftigen minted
. Es ist also definitiv einen Versuch wert.