Historique des modifications [retour]
cliquez ici pour masquer/afficher la révision 5

07 Jul '21, 20:20

insan's gravatar image

insan
5127

Utiliser listings pour définir Python et avoir caption et label

Je souhaiterais créer un environnement Python avec le package `listings` (tout en ayant la possibilité d'en créer d'autres avec d'autres langages) et pouvoir référencer ce langage en faisant appel aux commandes `\caption` et `\label`. Voici le code que j'ai pu avoir sur le net : \documentclass[a4paper]{article} \usepackage{listings} \usepackage[margin=1cm]{geometry} \setlength{\parindent}{0pt} \usepackage{caption} \captionsetup[prog]{ font={bf,footnotesize}, margin=0pt, skip=0pt } \makeatletter \newcounter{prog} \lstnewenvironment{prog}[1][] { \noindent\minipage{0.3\linewidth} \def\lstlistingname{Programme} \def\lstlistingautorefname{Programme} \let\c@lstlisting=\c@prog \let\thelstlisting=\theprog \clearcaptionsetup{lstlisting} \lstset{#1, language=Python, basicstyle=\ttfamily, numberstyle=\tiny, framexleftmargin=5mm, xleftmargin=5mm, frame=single, captionpos=bc } \captionsetup{options=prog} } {\endminipage} \makeatother \begin{document} Cas1 - avec compteur et légende : \begin{prog}[caption=MaLegende] s=0 for i in range(1,10): s=s+i print(s) \end{prog} \label{MonLabel} Cas2 - sans légende ni compteur : \begin{prog}[] s=0 for i in range(1,10): s=s+i print(s) \end{prog} Cas3 - avec compteur et sans légende : \begin{prog}[caption=~] %ce test n'a pas donné ce que je souhaitais ! s=0 for i in range(1,10): s=s+i print(s) \end{prog} Le programme ~\ref{MonLabel} se trouve à la page~\pageref{MonLabel}. \end{document} Plus précisément, je voudrais : 1- que le nom défini "Programme" et les commandes `\caption` et `\label` se réfèrent au style défini "prog". Cela me permet plus tard de définir d'autres langages. 2- ne pas afficher les : dans le Cas3 (le cas où la légende n'existe pas). 3- avoir un espace normal entre le texte et le programme.
cliquez ici pour masquer/afficher la révision 4

07 Jul '21, 20:04

insan's gravatar image

insan
5127

Utiliser listings pour définir Python et avoir caption et label

Je souhaiterais créer un environnement Python avec le package `listings` (tout en ayant la possibilité d'en créer d'autres avec d'autres langages) et pouvoir référencer ce langage en faisant appel aux commandes `\caption` et `\label`. Voici le code que j'ai pu avoir sur le net : \documentclass[a4paper]{article} \usepackage{listings} \usepackage[margin=1cm]{geometry} \setlength{\parindent}{0pt} \usepackage{caption} \captionsetup[prog]{ font={bf,footnotesize}, margin=0pt, skip=0pt } \makeatletter \newcounter{prog} \lstnewenvironment{prog}[1][] { \noindent\minipage{0.3\linewidth} \def\lstlistingname{Programme} \def\lstlistingautorefname{Programme} \let\c@lstlisting=\c@prog \let\thelstlisting=\theprog \clearcaptionsetup{lstlisting} \lstset{#1, language=Python, basicstyle=\ttfamily, numberstyle=\tiny, framexleftmargin=5mm, xleftmargin=5mm, frame=single, captionpos=bc } \captionsetup{options=prog} } {\endminipage} \makeatother \begin{document} Cas1 - avec compteur et légende : \begin{prog}[caption=MaLegende] s=0 for i in range(1,10): s=s+i print(s) \end{prog} \label{MonLabel} Cas2 - sans légende ni compteur : \begin{prog}[] s=0 for i in range(1,10): s=s+i print(s) \end{prog} Cas3 - avec compteur et sans légende : \begin{prog}[caption=~] %ce test n'a pas donné ce que je souhaitais ! s=0 for i in range(1,10): s=s+i print(s) \end{prog} Le programme ~\ref{MonLabel} se trouve à la page~\pageref{MonLabel}. \end{document} Plus précisément, je voudrais : 1- que le nom défini "Programme" et les commandes `\caption` et `\label` se réfèrent au style défini "prog". Cela me permet plus tard de définir d'autres langages. 2- ne pas afficher les : dans le Cas3 (le cas où la légende n'existe pas). 3- avoir un espace normal entre le texte et le programme.
cliquez ici pour masquer/afficher la révision 3

07 Jul '21, 19:48

insan's gravatar image

insan
5127

cliquez ici pour masquer/afficher la révision 2

07 Jul '21, 13:50

insan's gravatar image

insan
5127

cliquez ici pour masquer/afficher la révision 1

07 Jul '21, 13:50

insan's gravatar image

insan
5127

C'est votre première visite ici ? Consultez la FAQ !

×