Formatação incorreta do código C++ do ponteiro próximo a char usando o pacote de listagens e lstlistings

Formatação incorreta do código C++ do ponteiro próximo a char usando o pacote de listagens e lstlistings

Eu tento fazer um simples hello world of C++ em LaTeX com o pacote de listagens. Melhor uma vez para ver. insira a descrição da imagem aqui

Aqui o 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}

Na imagem você pode ver uma posição estranha perto de char** eles parecem sublinhados, mas por que e como consertar isso? Desde já, obrigado!

Responder1

Sugiro que você experimente o pacote piton(requer o uso do LuaLuaTeX).

Aqui está seu exemplo formatado pitoncom a fonte 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}

Saída do código acima

Responder2

Como descubro problema com a fonte. Eu uso a fonte JetBrains Mono. Se eu alterar a fonte com o código: basicstyle=\ttfamily, tudo ficará bem, mas agora preciso descobrir como usar o JetBrains Mono dentro das listagens de código... Como fica: insira a descrição da imagem aqui

Atualizar:a correção para a fonte JetBrains Mono foi simples. Acabei de definir apenas assim: \setmainfont{JetBrains Mono} e preciso adicionar: \setmonofont{JetBrains Mono} agora tudo parece bom: insira a descrição da imagem aqui

informação relacionada