Beamer で C++ ソースコードに構文の色付けを追加するにはどうすればいいですか?

Beamer で C++ ソースコードに構文の色付けを追加するにはどうすればいいですか?

beamerパッケージにソース コードを挿入する方法を学習しましたlistings。ただし、C++ ソース コードに構文の色付けを追加する方法がわかりません。

それ、どうやったら出来るの?

以下は、ソース コード挿入に現在使用しているコードです。

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

答え1

これは C++ コードが強調表示された例です。2 つのフレームは、タイプライター フォントを採用した場合と採用しない場合の違いを示しています。

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

ここに画像の説明を入力してください

ここに画像の説明を入力してください

使用方法に関して、Beamerや標準ドキュメントと違いがないことに注意してくださいlistings。パッケージガイドではこれを行う方法を詳しく説明していますが、適切なタグを見ても情報を得ることができます。リストこのサイトでは、指定\ttfamilyされたスタイルをタイプライターに設定します。

関連情報