¿Cómo agrego colores de sintaxis a mi código fuente C++ en Beamer?

¿Cómo agrego colores de sintaxis a mi código fuente C++ en Beamer?

Acabo de aprender cómo insertar el código fuente en beamerel listingspaquete. Sin embargo, no sé cómo agregar ningún color de sintaxis al código fuente de C++.

¿Cómo puedo hacer eso?

Aquí está el código que estoy usando actualmente para la inserción del código fuente.

\documentclass{beamer}
 \setbeamercovered{transparent}
%\usepackage{pxfonts}
\usepackage{listings}


\begin{document}

\begin{frame}[fragile]
\frametitle{Inserting source code}
  \lstset{language=C++}
\begin{lstlisting}
    #include<stdio.h>
    #include<iostream>
    int main(void)
    {
    printf("Hello World\n");
    return 0;
    }
\end{lstlisting}
\end{frame}
\end{document}

Respuesta1

Este es un ejemplo con código C++ resaltado; los dos cuadros muestran la diferencia entre adoptar la fuente de máquina de escribir y no:

\documentclass{beamer}
 \setbeamercovered{transparent}
\usepackage{listings}

\begin{document}

% Using typewriter font: \ttfamily inside \lstset
\begin{frame}[fragile]
\frametitle{Inserting source code}
\lstset{language=C++,
                basicstyle=\ttfamily,
                keywordstyle=\color{blue}\ttfamily,
                stringstyle=\color{red}\ttfamily,
                commentstyle=\color{green}\ttfamily,
                morecomment=[l][\color{magenta}]{\#}
}
\begin{lstlisting}
    #include<stdio.h>
    #include<iostream>
    // A comment
    int main(void)
    {
    printf("Hello World\n");
    return 0;
    }
\end{lstlisting}
\end{frame}

\begin{frame}[fragile]
\frametitle{Inserting source code without setting typewriter}
\lstset{language=C++,
                keywordstyle=\color{blue},
                stringstyle=\color{red},
                commentstyle=\color{green},
                morecomment=[l][\color{magenta}]{\#}
}
\begin{lstlisting}
    #include<stdio.h>
    #include<iostream>
    // A comment
    int main(void)
    {
    printf("Hello World\n");
    return 0;
    }
\end{lstlisting}
\end{frame}
\end{document}

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Tenga en cuenta que no hay diferencia con Beamer o el documento estándar en el uso listings. La guía del paquete explica en detalle cómo hacer esto, pero también puede encontrar información en la etiqueta correspondiente.listadoen este sitio. El comando \ttfamilyestablece el estilo dado en la máquina de escribir.

información relacionada