incluindo um código C++ no meu documento de látex

incluindo um código C++ no meu documento de látex

Estou tentando incluir um código C++ em meu documento látex. No entanto, o que tentei não está funcionando. Todo o resto funciona bem, mas não estou vendo o C++ aparecendo como um código C++. Está escrito apenas no mesmo formato do texto "Partículas alfa .."

Aqui está o MWE: O tex é:

\documentclass{article}  
 \usepackage{listings}
\usepackage{xcolor}
\lstset { 
language=C++,
backgroundcolor=\color{black!5}, % set backgroundcolor
basicstyle=\footnotesize,% basic font setting
}

\begin{document}  
Alpha particles \cite{wikip} (named \cite{Comp} after and denoted by the first letter     in the
Greek alphabet,\[\alpha\]) consist of two protons and two neutrons bound
together.
This means that an particle is a helium nucleus. 

\begin{lstlisting}
int size =1;
*ptr = Mole:getMole(size + 1);
\end{lstlisting}

\bibliographystyle{plain}
\bibliography{BibName}

\end{document}

Resultado esperado:

insira a descrição da imagem aqui

Responder1

Você deseja usar uma família de fontes diferente para a listagem. Como as palavras-chave estão em negrito no estilo, as fontes padrão da Computer Modern Typewriter não são adequadas, porque não têm negrito.

Uma boa família de fontes monoespaçadas que distingue bem entre séries médias e negrito é a BeraMono.

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{listings}
\usepackage{xcolor}
\usepackage[scaled=.85]{beramono}

\lstset{
  language=C++,
  backgroundcolor=\color{black!5}, % set backgroundcolor
  basicstyle=\footnotesize\ttfamily,% basic font setting
  columns=fullflexible,
}

\begin{document}

Alpha particles (named after and denoted by the first letter in the Greek alphabet,
$\alpha$) consist of two protons and two neutrons bound together. This means that an
particle is a helium nucleus.

\begin{lstlisting}
int size =1;
*ptr = Mole:getMole(size + 1);
\end{lstlisting}

\end{document}

Observe que, para uma fórmula embutida, você usa $\alpha$ou \(\alpha\), em vez de \[\alpha\]centralizar a fórmula.

Removi as citações que são irrelevantes para este tópico.

insira a descrição da imagem aqui

Responder2

Se você não conseguir listingstrabalhar, existe o verbatimboxpacote se você não precisar de destaque de palavras-chave.

Aqui mostro listingse verbatimboxpara comparação. Utilizando o verbnoboxambiente, pode-se obter quebras de página no meio da listagem.

\documentclass{article}
\usepackage{xcolor}
% LISTINGS PREP
\usepackage{listings}
\lstset { 
language=C++,
backgroundcolor=\color{black!5}, % set backgroundcolor
basicstyle=\footnotesize,% basic font setting
}
% VERBATIMBOX PREP
\usepackage{verbatimbox}
\def\codesize{\footnotesize}
\newsavebox\thecolorfield
\newcommand\setcolorfield[1][blue!9!gray!8]{%
  \savebox{\thecolorfield}{\codesize%
    \makebox[0pt][l]{\textcolor{#1}{%
    \rule[-\dp\strutbox]{\textwidth}{\dimexpr\ht\strutbox+\dp\strutbox}}}}%
}
\def\colorfield{\usebox{\thecolorfield}}
\setcolorfield
%
\begin{document}  
WITH LISTINGS:
\begin{lstlisting}
int size =1;
*ptr = Mole:getMole(size + 1);
\end{lstlisting}

WITH VERBATIMBOX (ttfamily):
\begin{verbnobox}[\colorfield\ttfamily\codesize]
int size =1;
*ptr = Mole:getMole(size + 1);
\end{verbnobox}

\setcolorfield[green!8]
WITH VERBATIMBOX (bold-rmfamily):
\begin{verbnobox}[\colorfield\rmfamily\bfseries\codesize]
int size =1;
*ptr = Mole:getMole(size + 1);
\end{verbnobox}
\end{document}

insira a descrição da imagem aqui

informação relacionada