Cómo poner el código fuente de C++ en diapositivas del proyector

Cómo poner el código fuente de C++ en diapositivas del proyector

Posible duplicado:
¿Cómo mostrar el código LaTeX en un documento LaTeX?
¿Cómo puedo colocar el código fuente de estilo Java en un marco en Beamer?

¿Cómo agrego código fuente coloreado y formateado en C++ a mis presentaciones de proyector? ¿Alguna forma sencilla de hacer esto?

Respuesta1

Usa el paquetelistadosoacuñado. Listings es más fácil de instalar, ya que Minted necesita Python, usa pygments, pero a menudo produce mejores resultados. También debe usar la fragileopción en su archivo frame, para que el contenido del marco se escriba en un archivo externo y pueda procesarse adecuadamente. Esto ralentiza la compilación, ¡así que no uses la opción cuando no la necesites!

Pero recuerde que el espacio en los marcos del proyector es muy limitado, por lo que no puede (y realmente no debería) obtener mucho código en una página.

Respuesta2

Puede definir la parte textual antes del frameentorno, entonces no necesita la fragileopción.

\documentclass{beamer}
\usepackage{listings}

\begin{document}

\defverbatim[colored]\lstI{
\begin{lstlisting}[language=C++,basicstyle=\ttfamily,keywordstyle=\color{red}]
int main() {
  // Define variables at the beginning
  // of the block, as in C:
  CStash intStash, stringStash;
  int i;
  char* cp;
  ifstream in;
  string line;
[...]
\end{lstlisting}
}

\begin{frame}{A Listings Demo}{C++}
\lstI
\end{frame}

\end{document}

Respuesta3

Otra opción esPythonTeX, específicamente el \pygmentcomando y el pygmentsmedio ambiente. Al igual que Minted, PythonTeX requiere Python y Pygments. Los resultados resaltados se guardan, por lo que solo necesita ejecutar Python cuando haya modificado el código que necesita resaltar. Se admite Unicode.

Deberá utilizar la fragileopción para los marcos del proyector.

información relacionada