Я только что узнал, как вставить исходный код в 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++; два кадра показывают разницу между использованием шрифта пишущей машинки и его отсутствием:
\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
устанавливает заданный стиль в пишущей машинке.