
В моем tex-файле есть следующий код. Он приводит к тому, что Listing нумеруется с возрастающим индексом. Есть ли способ предотвратить это? (см. скриншот: на втором слайде тоже должно быть написано "Listing 1: Function")
\documentclass{beamer}
\usetheme{Goettingen}
%\usecolortheme{whale}
\setbeamertemplate{frametitle continuation}[from second] % (cont.) from second slide
\setbeamertemplate{bibliography item}{[\theenumiv]} % numbers instead of silly pictures
\setbeamertemplate{footline}[frame number]
\beamertemplatenavigationsymbolsempty % remove navigationbar
\usepackage[font=bf,skip=\baselineskip]{caption}
\captionsetup[lstlisting]{font={footnotesize}}
\usepackage{color}
\definecolor{light-gray}{gray}{0.85}
\definecolor{darkgreen}{rgb}{0.0, 0.5, 0.0} % for green colour in code
\usepackage{listings}
\usepackage[T1]{fontenc}
\lstset{
basicstyle=\tiny,
escapeinside={<@}{@>},
numbers=left,
language=C,
morekeywords={throw, assert},
frame=single,
captionpos=b,
commentstyle=\color{darkgreen}}
\begin{document}
\begin{frame}[fragile,containsverbatim]{Example}
\begin{lstlisting}[caption={Function}]
functionA(x){
a = functionB(x)
return a
}
functionB(x){
b = <@\only<1>{GLOBAL\_VAR}\only<2>{\textcolor{darkgreen}{GLOBAL\_VAR}}@>
b++
return b
}
\end{lstlisting}
\end{frame}
\end{document}
решение1
Что вам нужно, это
\resetcounteronoverlays{lstlisting}
для предотвращения увеличения счетчика при использовании наложений. Полный код:
\documentclass{beamer}
\usetheme{Goettingen}
%\usecolortheme{whale}
\setbeamertemplate{frametitle continuation}[from second] % (cont.) from second slide
\setbeamertemplate{bibliography item}{[\theenumiv]} % numbers instead of silly pictures
\setbeamertemplate{footline}[frame number]
\beamertemplatenavigationsymbolsempty % remove navigationbar
\usepackage[font=bf,skip=\baselineskip]{caption}
\captionsetup[lstlisting]{font={footnotesize}}
\usepackage{color}
\definecolor{light-gray}{gray}{0.85}
\definecolor{darkgreen}{rgb}{0.0, 0.5, 0.0} % for green colour in code
\usepackage{listings}
\usepackage[T1]{fontenc}
\lstset{
basicstyle=\tiny,
escapeinside={<@}{@>},
numbers=left,
language=C,
morekeywords={throw, assert},
frame=single,
captionpos=b,
commentstyle=\color{darkgreen}}
\resetcounteronoverlays{lstlisting}
\begin{document}
\begin{frame}[fragile,containsverbatim]{Example}
\begin{lstlisting}[caption={Function}]
functionA(x){
a = functionB(x)
return a
}
functionB(x){
b = <@\only<1>{GLOBAL\_VAR}\only<2>{\textcolor{darkgreen}{GLOBAL\_VAR}}@>
b++
return b
}
\end{lstlisting}
\end{frame}
\end{document}
Результат: