Formato de código C++ incorrecto del puntero cerca de char usando el paquete de listados y lstlistings

Formato de código C++ incorrecto del puntero cerca de char usando el paquete de listados y lstlistings

Intento hacer un simple hola mundo de C++ en LaTeX con el paquete de listados. Mejor una vez para ver. ingrese la descripción de la imagen aquí

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 pitoncon 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}

Salida del código anterior

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: ingrese la descripción de la imagen aquí

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: ingrese la descripción de la imagen aquí

información relacionada