![Пользовательский заголовок для lstset для использования в оглавлении](https://rvso.com/image/298809/%D0%9F%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B8%D0%B9%20%D0%B7%D0%B0%D0%B3%D0%BE%D0%BB%D0%BE%D0%B2%D0%BE%D0%BA%20%D0%B4%D0%BB%D1%8F%20lstset%20%D0%B4%D0%BB%D1%8F%20%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%20%D0%B2%20%D0%BE%D0%B3%D0%BB%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B8%20.png)
Я хотел бы использовать функциональность подписей к рисункам (которые могут иметь две подписи: одну для оглавления и одну для подписи под/над рисунком) в моей пользовательской filecode
среде. 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}
решение1
Использовать
caption={[Short caption]Very long and frustrating caption that noone want to see before this page}
Полный код:
\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}