Bonjour à tous,

Je cherche à encadrer du code avec le package listings sur un contexte multipage comme est capable de le faire longtable

par exemple un tableau longtable a une entête qui se répète sur chaque page

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
\begin{longtable}{|p{4cm}| p{4cm}|p{4cm}|}
	% la légende du tableau
	\caption[option texte qui va apparaitre dans les tables]{texte visible}
	%aucun caractere spécial dans le label sauf le underscore
	\label{label_table_001 } \\
	% l'entete du tableau
	\hline 
	\textbf{Titre col 1} & \textbf{Titre col 2} &\textbf{Titre col 3 } \\ 
	\hline 
	\endfirsthead
	% entete si page précedente présente
	\multicolumn{3}{c}%
	{{\bfseries \tablename\ \thetable{} -- continue page précédente }} \\
	\hline
	% rappel de l'entete du tableau
	\textbf{Titre col 1} & \textbf{Titre col 2} &\textbf{Titre col 3 } \\ 
	\hline 
	\endhead
	% le pied de tableau si prolongement page suivante
	\hline 
	\multicolumn{3}{|r|}{{Continue sur la page suivante}} \\ 
	\hline
	\endfoot
 
	\hline
	\endlastfoot
	blabla & blabla & blabla \\
	blabla & blabla & blabla \\
	blabla & blabla & blabla \\
	blabla & blabla & blabla \\
	blabla & blabla & blabla \\
	blabla & blabla & blabla \\
 
\end{longtable}
Concernant le package listings voici les preset

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
\lstset{
	numbers=left, 
	numberstyle=\small, 
	numbersep=8pt, 
	frame = single, 
	language=C, 
	framexleftmargin=5pt,			 % la marge à gauche du code
	% test pour améliorer la présentation du code
	upquote=true,
	columns=flexible,
	basicstyle=\ttfamily,
	% provoque une erreur texcsstyle=*\color{blue},
	commentstyle=\color{mygreen},    % comment style
	keywordstyle=\color{blue},       % keyword style
	rulecolor=\color{black},         % if not set, the frame-color may be changed on line-breaks within not-black text (e.g. comments (green here))
	showspaces=false,                % show spaces everywhere adding particular underscores; it overrides 'showstringspaces'
	showtabs=false,                  % show tabs within strings adding particular underscores
	stringstyle=\color{mymauve},     % string literal style
	numbers=none, 
	tabsize=4,
	% pour couper les lignes trop loongues
	breaklines,
	breakindent=1.5em, %?indente?de?3?caracteres?vers?la?droite
}

pour présenter du code j'utilise simplement le bloc suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
\begin{lstlisting}
 
\end{lstlisting}
tout fonctionne correctement après mes essais sauf 2 points: je n'ai pas réussi à trouver dans la documentation très riche du package listings la possibilité de faire un cadre fermé par page et encore moins avec une répétition d’entête pour rappeler éventuellement le nom du fichier

Quelqu'un a t-il déjà trouvé une solution simple ou bien faudrait-il adapter le package listings ce que je ne suis pas encore capable de faire?
http://texdoc.net/texmf-dist/doc/lat...s/listings.pdf