Como colocar o código-fonte C++ em slides do beamer

Como colocar o código-fonte C++ em slides do beamer

Possível duplicata:
Como exibir o código LaTeX em um documento LaTeX?
Como encaixo o código-fonte do estilo java em um quadro no beamer?

Como adiciono código-fonte colorido e formatado em C++ às minhas apresentações do beamer? Alguma maneira simples de fazer isso?

Responder1

Use o pacotelistagensoucunhado. Listagens são mais fáceis de instalar, pois o minted precisa de python, ele usa pygments, mas geralmente produz resultados melhores. Além disso, você precisa usar a fragileopção no seu frame, para que o conteúdo do quadro seja gravado em um arquivo externo e possa ser processado adequadamente. Isso retarda a compilação, então não use a opção onde não é necessário!

Mas lembre-se que o espaço nos frames do beamer é muito limitado, então você não pode (e realmente não deveria) colocar muito código em uma página.

Responder2

Você pode definir a parte literal antes do frameambiente, então não precisa da fragileopção.

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

Responder3

Outra opção éPythonTeX, especificamente o \pygmentcomando e o pygmentsambiente. Assim como o cunhado, o PythonTeX requer Python e Pigmentos. Os resultados destacados são salvos, então você só precisa executar o Python quando tiver modificado o código que precisa ser destacado. Unicode é suportado.

Você precisará usar a fragileopção para os quadros do projetor.

informação relacionada