Mögliches Duplikat:
Wie wird LaTeX-Code in einem LaTeX-Dokument angezeigt?
Wie passe ich Quellcode im Java-Stil in einen Frame in Beamer ein?
Wie füge ich meinen Beamer-Präsentationen C++-formatierten und farbigen Quellcode hinzu? Gibt es hierfür einfache Möglichkeiten?
Antwort1
Verwenden des PaketsInserateodergeprägt. Listings ist einfacher zu installieren, da Minted Python benötigt, es verwendet pygments
, erzeugt aber oft bessere Ergebnisse. Außerdem müssen Sie die fragile
Option auf Ihrem verwenden frame
, damit der Inhalt des Frames in eine externe Datei geschrieben und richtig verarbeitet werden kann. Dies verlangsamt die Kompilierung, verwenden Sie die Option also nicht, wenn Sie sie nicht benötigen!
Bedenken Sie jedoch, dass der Platz auf den Beamer-Frames sehr begrenzt ist und Sie daher nicht sehr viel Code auf eine Seite packen können (und eigentlich auch nicht sollten).
Antwort2
Sie können den wörtlichen Teil vor der frame
Umgebung definieren, dann benötigen Sie die fragile
Option nicht.
\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}
Antwort3
Eine weitere Option istPythonTeX, insbesondere den \pygment
Befehl und die pygments
Umgebung. Wie minted erfordert PythonTeX Python und Pygments. Die hervorgehobenen Ergebnisse werden gespeichert, sodass Sie Python nur ausführen müssen, wenn Sie den Code geändert haben, der hervorgehoben werden muss. Unicode wird unterstützt.
Sie müssen die fragile
Option für die Beamer-Rahmen verwenden.