Подсветка синтаксиса для разных языков программирования

Подсветка синтаксиса для разных языков программирования

В своей статье я хочу включить некоторые исходные коды с цветным синтаксисом. Для подсветки синтаксиса я использую пакет 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}

Это работает для одного языка (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}

введите описание изображения здесь

Связанный контент