Je fais appel à vous car je tourne en rond pour essayer d'avoir un listing qui ressemble à ceux du pgfmanual (tikz).
Je n'arrive pas à configurer mon "\lstdefinestyle" …
C'est pas faute d'avoir essayer bien des trucs !
Si quelqu'un pouvait m'aider ce serait avec plaisir, merci.
Je joins un ecm + le modèle en pièce jointe.
Code : Tout sélectionner
\documentclass[10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[a4paper,
left=1cm,
right=1cm,
bottom=0.5cm,
top=1cm,
%showframe,
]{geometry}
\setlength{\parindent}{0cm}% pas de retrait
\usepackage{lmodern}
\usepackage{fourier}
\usepackage[french]{babel}
\usepackage{enumitem}
\frenchsetup{StandardLists=true}
\usepackage[table,x11names,dvipsnames,svgnames]{xcolor}
\usepackage{listings}
%<--------- style tikz ------------------------------------------------>
\definecolor{violet}{rgb}{0.5,0,0.5}
\definecolor{vert}{rgb}{0,0.5,0}
\lstdefinestyle{tikz}{%
%language = [LaTeX]TeX,
basicstyle = \ttfamily\bfseries,
extendedchars=true,
escapechar = {§}, % pour écrire du latex
columns = fullflexible, % respecte l'indentation du code
keepspaces = true, % pour que les espaces comptent
frame = single, % encadrer
%rulecolor = \color{blue}, % cadre de couleur red
backgroundcolor = \color[rgb]{0.9,0.9,1}, % Couleur du fond
%framerule = 0.1ex, % épaisseur du cadre
%framesep = 1mm, % écart entre le code et les 4 bordures
%framexrightmargin = 0ex, % indentation droite du texte (à 0ex du bord)
framexleftmargin = 10pt, % indentation gauche du texte (à 2ex du bord)
%xrightmargin = 0cm, % indentation droite du cadre
%xleftmargin = 1cm, % indentation gauche du cadre
%aboveskip = 0.5\topsep, % espace au-dessus du cadre
%belowskip = 0.5\topsep, % espace en-dessous du cadre
columns = flexible, % respecte l'indentation du code
keepspaces = true, % pour que les espaces comptent
%showspaces = true, % montre les espaces
upquote = true,
%breaklines = true, % coupure automatique des lignes en bout de cadre
breakindent = 1cm, % indentation des lignes coupees
morecomment = [l]\%, % le signe % sera le symbole "commentaire"
commentstyle = {\color{gray}\ttfamily\footnotesize},
morecomment=[s][\color{violet}]{(}{)},
%texcsstyle = \color{blue}\ttfamily\bfseries,
%moretexcs = {usetikzlibrary},
%alsoletter = {-0123456789}, % permet d'utiliser des mots-clés avec des chiffres
literate=*{\{}{\textcolor{gray}{\{}}1
{\}}{\textcolor{gray}{\}}}1
{[}{\textcolor{gray}{[}}1
{]}{\textcolor{gray}{]}}1
%{(}{\textcolor[rgb]{0.50,0.00,0.50}{(}}1
%{)}{\textcolor[rgb]{0.50,0.00,0.50}{)}}1
{=}{\textcolor{gray}{=}}1
{,}{\textcolor{gray}{,}}1
{;}{\textcolor{gray}{;}}1,
%
classoffset = 0,
keywordstyle = \color{blue}\bfseries,
morekeywords = {clip,draw,path,fill,filldraw,tikzpicture},
%
%classoffset = 1,
%keywordstyle = \color[rgb]{0,0.5,0}\bfseries,
%morekeywords = {draw,fill,blue,line,width,help,lines,thin,step,lightgray,gray,
% out,red,in,clip,
% stealth,thick,},
%
classoffset = 2,
keywordstyle = \color{red!50!black}\bfseries,
morekeywords = {},
%
classoffset = 3,
keywordstyle = \color{purple}\bfseries,
morekeywords = {},
%
}
%<--------- Fin style tikz (sans cadre) ------------------------------------------->
\begin{document}
\begin{lstlisting}[style=tikz]
\begin{tikzpicture}[scale=3]
\clip (-0.1,-0.2) rectangle (1.1,1.51);
\draw[step=.5cm,gray,very thin] (-1.4,-1.4) grid (1.4,1.4);
\draw[->] (-1.5,0) -- (1.5,0);
\draw[->] (0,-1.5) -- (0,1.5);
\draw (0,0) circle [radius=1cm];
\filldraw[fill=green!20,draw=green!50!black] (0,0) -- (3mm,0mm)
arc [start angle=0, end angle=30, radius=3mm] -- cycle;
\draw[red,very thick] (30:1cm) -- +(0,-0.5);
\draw[blue,very thick] (30:1cm) ++(0,-0.5) -- (0,0);
\path [name path=upward line] (1,0) -- (1,1);
\path [name path=sloped line] (0,0) -- (30:1.5cm);
\draw [name intersections={of=upward line and sloped line, by=x}]
[very thick,orange] (1,0) -- (x);
\end{tikzpicture}
\end{lstlisting}
\end{document}