Intento hacer un simple hola mundo de C++ en LaTeX con el paquete de listados. Mejor una vez para ver.
Aquí el código:
\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}
En la imagen puedes ver una posición extraña cerca del carácter **, parecen un guión bajo, pero ¿por qué y cómo solucionarlo? ¡Gracias de antemano!
Respuesta1
Te sugiero que pruebes el paquete piton
(requiere el uso de LuaLuaTeX).
Aquí su ejemplo formateado piton
con la fuente 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}
Respuesta2
Cuando descubrí un problema con la fuente. Utilizo la fuente JetBrains Mono. Si cambio la fuente con el código: basicstyle=\ttfamily, todo se ve bien, pero ahora necesito descubrir cómo usar JetBrains Mono dentro de las listas de códigos... Cómo se ve:
Actualizar:La solución para la fuente JetBrains Mono fue simple. La configuré solo así: \setmainfont{JetBrains Mono} y necesito agregar: \setmonofont{JetBrains Mono} ahora todo se ve bien: