
私の論文には、色分けされた構文を持つソース コードをいくつか含めたいと思っています。構文の強調表示には、listings パッケージを使用します。
\lstset{frame=tb,
language={[Visual]Basic},
aboveskip=3mm,
belowskip=3mm,
showstringspaces=false,
columns=flexible,
basicstyle={\small\ttfamily},
numbers=none,
numberstyle=\tiny\color{gray},
keywordstyle=\color{blue},
commentstyle=\color{dkgreen},
stringstyle=\color{mauve},
breaklines=true,
breakatwhitespace=true
tabsize=3
}
そして、文書では次のように書かれています。
\begin{lstlisting}
'test
\end{lstlisting}
これは 1 つの言語 (上記の例では Visual Basic) では機能します。しかし、今度は C コードも含めたいと思っています。どうすればこれを実現できますか?
答え1
独自の言語依存環境を定義することもできます。
\documentclass{article}
\usepackage{listings}
\lstnewenvironment{C}
{\lstset{language=C,frame=lines}}
{}
\lstnewenvironment{CPP}
{\lstset{language=C++,basicstyle=\ttfamily\small,frame=none}}
{}
\begin{document}
\begin{C}
#include<stdio.h>
main() {
printf("Hello World");
}
\end{C}
\begin{CPP}
#include <iostream.h>
main() {
cout << "Hello World!";
return 0;
}
\end{CPP}
\end{document}