Ich versuche, ein einfaches „Hallo Welt“ in C++ in LaTeX mit Listings-Paket zu erstellen. Am besten gleich nachsehen.
Hier der Code:
\begin{figure}
\begin{lstlisting}[language={[11]C++},
%float,
keepspaces=true,
escapeinside={},
showspaces=false,
showstringspaces=false,
stringstyle=\color{green},
frame=single,
numbers=left]
#include <iostream>
int main(int argc, char** argv)
{
std::cout << "hello world" << std::endl;
return std::cout.fail();
} \end{lstlisting}
\caption{C++ Hello World Example}
\label{lst:hello}
\end{figure}
Auf dem Bild sehen Sie eine seltsame Position in der Nähe von char**, sie sieht aus wie ein Unterstrich, aber warum und wie kann man das beheben? Vielen Dank im Voraus!
Antwort1
Ich empfehle Ihnen, das Paket auszuprobieren piton
(es erfordert die Verwendung von LuaLuaTeX).
Hier Ihr Beispiel, formatiert piton
mit der Schriftart JetBrains Mono.
\documentclass{article}
\usepackage{fontspec}
\usepackage{piton}
\setmonofont{JetBrains Mono}
\begin{document}
\SetPitonStyle[C]{String.Long = \color{green}}
\begin{Piton}[language = C,line-numbers]
#include <iostream>
int main(int argc, char** argv)
{
std::cout << "hello world" << std::endl;
return std::cout.fail();
}
\end{Piton}
\end{document}
Antwort2
Ich habe ein Problem mit der Schriftart festgestellt. Ich verwende die Schriftart JetBrains Mono. Wenn ich die Schriftart mit dem Code „basicstyle=\ttfamily“ ändere, sieht alles gut aus, aber jetzt muss ich herausfinden, wie ich JetBrains Mono in Codeauflistungen verwenden kann … So sieht es aus:
Aktualisieren:Der Fix für die Schriftart JetBrains Mono war einfach. Ich habe es einfach so eingestellt: \setmainfont{JetBrains Mono} und muss hinzufügen: \setmonofont{JetBrains Mono}. Jetzt sieht alles gut aus: