Benutzerdefinierte Überschrift für lstset zur Verwendung im Inhaltsverzeichnis

Benutzerdefinierte Überschrift für lstset zur Verwendung im Inhaltsverzeichnis

Ich möchte die Funktionalität von Bildunterschriften (die zwei Überschriften haben können: eine für das Inhaltsverzeichnis und eine für die Überschrift unter/über der Abbildung) mit meiner benutzerdefinierten filecodeUmgebung nutzen. MWE:

\documentclass[11pt,a4paper]{article}
\usepackage{listings}
\usepackage{color}
\usepackage{courier}

\definecolor{dkgreen}{rgb}{0,0.6,0}
\definecolor{gray}{rgb}{0.5,0.5,0.5}
\definecolor{mauve}{rgb}{0.58,0,0.82}
\definecolor{darkblue}{rgb}{0.0,0.0,0.6}
\definecolor{cyan}{rgb}{0.0,0.6,0.6}

\lstset{frame=tb,
  language=C++,
  showstringspaces=false,
  columns=fullflexible,
  basicstyle={\scriptsize\ttfamily},
  numbers=left,
  numbersep=4pt,
  numberstyle=\scriptsize\color{gray},
  keywordstyle=\color{blue},
  commentstyle=\color{gray}\upshape,
  stringstyle=\color{mauve},
  moredelim=[s][\color{gray}]{@}{\ },
  breaklines=true,
  breakatwhitespace=true,
  tabsize=2
}

\newenvironment{filecode}[1][]
  {\vspace{1ex} \minipage[0.5\textheight]{\linewidth}% \begin{filecode}[#1]
   \lstset{basicstyle=\fontfamily{pcr}\footnotesize,#1}}
  {\endminipage \vspace{1em}}% \end{filecode}

\begin{document}

\begin{filecode}[label=lst:code,caption=Very long and frustrating caption that noone want to see before this page]
  \lstinputlisting{main.cpp}
\end{filecode}

\end{document}

Antwort1

Verwenden

caption={[Short caption]Very long and frustrating caption that noone want to see before this page}

Vollständiger Code:

\documentclass[11pt,a4paper]{article}
\usepackage{listings}
\usepackage{color}
\usepackage{courier}

\definecolor{dkgreen}{rgb}{0,0.6,0}
\definecolor{gray}{rgb}{0.5,0.5,0.5}
\definecolor{mauve}{rgb}{0.58,0,0.82}
\definecolor{darkblue}{rgb}{0.0,0.0,0.6}
\definecolor{cyan}{rgb}{0.0,0.6,0.6}

\lstset{frame=tb,
  language=C++,
  showstringspaces=false,
  columns=fullflexible,
  basicstyle={\scriptsize\ttfamily},
  numbers=left,
  numbersep=4pt,
  numberstyle=\scriptsize\color{gray},
  keywordstyle=\color{blue},
  commentstyle=\color{gray}\upshape,
  stringstyle=\color{mauve},
  moredelim=[s][\color{gray}]{@}{\ },
  breaklines=true,
  breakatwhitespace=true,
  tabsize=2
}

\newenvironment{filecode}[1][]
  {\vspace{1ex} \minipage[0.5\textheight]{\linewidth}% \begin{filecode}[#1]
   \lstset{basicstyle=\fontfamily{pcr}\footnotesize,#1}}
  {\endminipage \vspace{1em}}% \end{filecode}

\begin{document}
\lstlistoflistings
\begin{filecode}[label=lst:code,caption={[Short caption]Very long and frustrating caption that noone want to see before this page}]
  \lstinputlisting{main.cpp}
\end{filecode}

\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen