diff options
Diffstat (limited to 'macros/latex')
44 files changed, 487 insertions, 145 deletions
diff --git a/macros/latex/contrib/customenvs/doc/customenvs-doc-en.pdf b/macros/latex/contrib/customenvs/doc/customenvs-doc-en.pdf Binary files differindex 33d32cfd9b..212a2da0c9 100644 --- a/macros/latex/contrib/customenvs/doc/customenvs-doc-en.pdf +++ b/macros/latex/contrib/customenvs/doc/customenvs-doc-en.pdf diff --git a/macros/latex/contrib/customenvs/doc/customenvs-doc-en.tex b/macros/latex/contrib/customenvs/doc/customenvs-doc-en.tex index 5db0aabf90..abfa9021a9 100644 --- a/macros/latex/contrib/customenvs/doc/customenvs-doc-en.tex +++ b/macros/latex/contrib/customenvs/doc/customenvs-doc-en.tex @@ -34,8 +34,8 @@ \usepackage[margin=1.5cm]{geometry} \setlength{\parindent}{0pt} -\def\TPversion{0.2.2} -\def\TPdate{09/09/2024} +\def\TPversion{0.2.3} +\def\TPdate{09/14/2024} \usepackage{tcolorbox} \sethlcolor{lightgray!25} \NewDocumentCommand\MontreCode{ m }{% @@ -111,6 +111,8 @@ \section{History} +\verb|v0.2.3|~:~~~Highway signs + sold banners (see \textsf{[fr]} doc) + \verb|v0.2.2|~:~~~Flared arrow, with \TikZ \verb|v0.2.1|~:~~~Enhancements for \textit{stars skills} + AutoGrid for \TikZ\ (see \textsf{[fr]} doc) diff --git a/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.pdf b/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.pdf Binary files differindex 98eeeb8cd3..4c5cd3cd2f 100644 --- a/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.pdf +++ b/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.pdf diff --git a/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.tex b/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.tex index 57cbe2b3d0..5f319afb89 100644 --- a/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.tex +++ b/macros/latex/contrib/customenvs/doc/customenvs-doc-fr.tex @@ -39,10 +39,11 @@ \usepackage[margin=1.5cm]{geometry} \setlength{\parindent}{0pt} -\def\TPversion{0.2.2} -\def\TPdate{09 septembre 2024} +\def\TPversion{0.2.3} +\def\TPdate{14 septembre 2024} \usepackage{tcolorbox} \tcbuselibrary{listingsutf8} +%\usepackage{eurosym} \newtcblisting{DemoCode}[1]{% enhanced,width=0.95\linewidth,center,% bicolor,size=title,% @@ -50,6 +51,8 @@ colbacklower=cyan!1!white,% colframe=cyan!75!black,% listing options={% + inputencoding=utf8, + %literate={`E}{{€}}{1}, breaklines=true,% breakatwhitespace=true,% style=tcblatex,basicstyle=\small\ttfamily,% @@ -62,14 +65,14 @@ keywordstyle={\color{blue}},% classoffset=1,% alsoletter={-},% - morekeywords={center,justify,\LstDeuxNiv,\LstTroisNiv,\LstQuatreNiv,\NoticeDeuxNiv,\NoticeTroisNiv,\NoticeQuatreNiv,\DeuxNivBatterie,\TroisNivBatterie,\QuatreNivBatterie,\DeuxNivSmiley,\TroisNivSmiley,\QuatreNivSmiley,\vcenterfa,\faIcon,part,RenewDocumentCommand,IfBooleanTF},% + morekeywords={center,justify,\LstDeuxNiv,\LstTroisNiv,\LstQuatreNiv,\NoticeDeuxNiv,\NoticeTroisNiv,\NoticeQuatreNiv,\DeuxNivBatterie,\TroisNivBatterie,\QuatreNivBatterie,\DeuxNivSmiley,\TroisNivSmiley,\QuatreNivSmiley,\vcenterfa,\faIcon,part,RenewDocumentCommand,IfBooleanTF,\VilleDist},% keywordstyle={\color{violet}},% classoffset=2,% alsoletter={-},% - morekeywords={\ReponsesQCM,MultiCols,\CreerListeItems,\ListeChoixItems,\TableauCompetences,\CrayonDeCompetences,\StyleEnvtExo,\StyleEnvtExoDefaut,\TitreExo,\ipsum,EnvSMS,\SMSrec,\SMSenv,BoiteSimple,\SujetTitreExo,\CircledNumber,\AffVignette,\BoiteArrondie,\ChangerDisplaySkip,\celcouleur,\celfusion,\lignetxt,\colonnetxt,\celnumbreak,\celtxt,\BandeauScore,\InsererImage,\tkzBannerTri,\NiveauDiffExos,\tkzEtoiles,\tkzGrilleAuto,\tkzAutoGridLocal,\tkzAutoGridActivate,\tkzFlecheEvasee},% + morekeywords={\ReponsesQCM,MultiCols,\CreerListeItems,\ListeChoixItems,\TableauCompetences,\CrayonDeCompetences,\StyleEnvtExo,\StyleEnvtExoDefaut,\TitreExo,\ipsum,EnvSMS,\SMSrec,\SMSenv,BoiteSimple,\SujetTitreExo,\CircledNumber,\AffVignette,\BoiteArrondie,\ChangerDisplaySkip,\celcouleur,\celfusion,\lignetxt,\colonnetxt,\celnumbreak,\celtxt,\BandeauScore,\InsererImage,\tkzBannerTri,\NiveauDiffExos,\tkzEtoiles,\tkzGrilleAuto,\tkzAutoGridLocal,\tkzAutoGridActivate,\tkzFlecheEvasee,PanneauAutoroute,\AfficheSoldes},% keywordstyle={\color{green!50!black}},% classoffset=3,% - morekeywords={Largeur,Filets,EspacesCL,NbCols,Labels,PoliceLabels,EspaceLabels,Swap,Type,CoeffEspVert,EpTrait,Alea,LargeurNivs,Niveaux,NoticeNiveaux,Titre,PolTitre,PolNotice,PolComp,LigneSep,CouleurNotice,CouleurNiveaux,CouleurFond,Note,Notice,PoliceCateg,PoliceBloc,Couleurs,LargeurBloc,Echelle,NoirBlanc,Libelle,EpTrait,Police,Type,ComplementTitre,Titre,CodeDebut,Couleur,EchelleImage,Decoration,Trait,Avatar,AffAvatar,NoirBlanc,CouleurE,CouleurR,CouleurFond,Hauteur,Largeur,PoliceTxt,CouleurTitre,AlignH,bg,txt,bthick,bcol,raise,Type,EspH,Fond,Texte,Style,Dense,Avant,AvantS,Apres,ApresS,Global,align,width,Legende,CouleurFond,Hauteur,Ratio,AffLegende,Couleurs,EchelleSymboles,Symboles,vRemplir,vOffset,vCentrer,height,width,blockwidth,collight,colmedium,coldar,coltxt,fonttxt,swap,maincolor,logo,type,num,dispblock,customtype,Couleur,AlignV,Offset,NiveauMax,pasX,pasY,grilleauto,TailleFleche,Direction,Coeff,TypeFleche,Deplacement,LineCap,Epaisseur},% + morekeywords={Largeur,Filets,EspacesCL,NbCols,Labels,PoliceLabels,EspaceLabels,Swap,Type,CoeffEspVert,EpTrait,Alea,LargeurNivs,Niveaux,NoticeNiveaux,Titre,PolTitre,PolNotice,PolComp,LigneSep,CouleurNotice,CouleurNiveaux,CouleurFond,Note,Notice,PoliceCateg,PoliceBloc,Couleurs,LargeurBloc,Echelle,NoirBlanc,Libelle,EpTrait,Police,Type,ComplementTitre,Titre,CodeDebut,Couleur,EchelleImage,Decoration,Trait,Avatar,AffAvatar,NoirBlanc,CouleurE,CouleurR,CouleurFond,Hauteur,Largeur,PoliceTxt,CouleurTitre,AlignH,bg,txt,bthick,bcol,raise,Type,EspH,Fond,Texte,Style,Dense,Avant,AvantS,Apres,ApresS,Global,align,width,Legende,CouleurFond,Hauteur,Ratio,AffLegende,Couleurs,EchelleSymboles,Symboles,vRemplir,vOffset,vCentrer,height,width,blockwidth,collight,colmedium,coldar,coltxt,fonttxt,swap,maincolor,logo,type,num,dispblock,customtype,Couleur,AlignV,Offset,NiveauMax,pasX,pasY,grilleauto,TailleFleche,Direction,Coeff,TypeFleche,Deplacement,LineCap,Epaisseur,CouleurCartouche,Fleches,CouleurFond,CouleurTitre,PoliceCartouche,TypeFleche,EspacementV,OffsetFleches,Dernier,PoliceEntete,PolicePrix,PoliceReduc,OffsetReduc,AgrandirReduc},% keywordstyle={\color{orange}} },% #1 @@ -149,6 +152,8 @@ \section{Historique} +\verb|v0.2.3|~:~~~Panneaux autoroutiers + Affichettes de soldes + \verb|v0.2.2|~:~~~Ajout d'une commande pour des flèches évasées, en \TikZ\ \verb|v0.2.1|~:~~~Amélioration de la gestion des étoiles pour des niveaux de difficultés + Grille auto pour \TikZ\ @@ -1420,6 +1425,117 @@ Il est de ce fait \textit{normalement} possible (à vérifier quand même\ldots) \pagebreak +\subsection{Panneaux autoroutiers} + +L'idée est de proposer des panneaux type \textit{autoroutes}, réalisés via \MontreCode{tcolorbox}. + +Le style global est fixé, mais des éléments de personnalisations sont possibles.. + +\begin{DemoCode}{listing only} +\begin{PanneauAutoroute}[clés]{titre} +%contenu +\end{PanneauAutoroute} +\end{DemoCode} + +\begin{DemoCode}{} +\begin{PanneauAutoroute}{A4} +REIMS\hfill~145\\ +PARIS\hfill~250 +\end{PanneauAutoroute} +\end{DemoCode} + +Les clés, optionnelles et entre \MontreCode{[...]} sont : + +\begin{itemize} + \item \MontreCode{Fleches} : nombre de flèches à afficher (\MontreCode{0} par défaut) + \item \MontreCode{CouleurFond} : couleur de fond (\MontreCode{blue} par défaut) + \item \MontreCode{CouleurTitre} : couleur de la boîte \textit{titre} (\MontreCode{red} par défaut) + \item \MontreCode{Largeur} : largeur du panneau (\MontreCode{10cm} par défaut) + \item \MontreCode{Police} : police du panneau + \item \MontreCode{PoliceCartouche} : police du titre + \item \MontreCode{TypeFleche} : flèche(s) à afficher + \item \MontreCode{EspacementV} : interligne (\MontreCode{2.5mm} par défaut) + \item \MontreCode{Dernier} : booléen pour préciser que la boîte sera la dernière de la série (pour l'espace après). +\end{itemize} + +\begin{DemoCode}{} +\begin{PanneauAutoroute}[Largeur=\linewidth,Dernier=false]{TD01} + \VilleDist{COMPETENCE 1}{\faCheck} %macro interne pour afficher une ligne + \VilleDist*{COMPETENCE 2}{\faCheck} %macro pour afficher la dernière ligne +\end{PanneauAutoroute} + +\begin{PanneauAutoroute}% + [CouleurFond=olive,Fleches=2,Police=\bfseries\huge\fontfamily{phv}\selectfont]{} + LILLE\hfill~301\\ + AMIENS\hfill~213 +\end{PanneauAutoroute} +\end{DemoCode} + +\pagebreak + +\subsection{Affichettes de soldes} + +L'idée est de proposer des petites affichettes pour des réductions, réalisées via \MontreCode{tcolorbox} (sur une idée de \textit{Sébastien Lozano}). + +Le style global est fixé, mais des éléments de personnalisations sont possibles.. + +\begin{DemoCode}{listing only} +\AfficheSoldes[clés]{prix avant}{prix après}{réduction} +\end{DemoCode} + +\begin{DemoCode}{} +\AfficheSoldes{99\texteuro}{79\texteuro}{-20\%} +\end{DemoCode} + +Les clés, optionnelles et entre \MontreCode{[...]} sont : + +\begin{itemize} + \item \MontreCode{Couleur} : couleur principale (\MontreCode{gray} par défaut) + \item \MontreCode{Largeur} : largeur (\MontreCode{auto} ou par défaut) à définir + \item \MontreCode{PoliceEntete} : police du titre + \item \MontreCode{PolicePrix} : police des prix + \item \MontreCode{PoliceReduc} : police de la réduction + \item \MontreCode{Titre} : titre de l'affiche (\MontreCode{GRANDE DÉMARQUE} par défaut) + \item \MontreCode{OffsetReduc} : \textit{pente} pour le bandeau de réduction (\MontreCode{1.25cm} par défaut) + \item \MontreCode{AgrandirReduc} : augmenter la hauteur de la partie réduction +\end{itemize} + +Donc la hauteur est fixée par \textit{calculs}, et également la largeur si \MontreCode{Largeur=auto}. + +La largeur \MontreCode{auto} permet de faire \textit{marcher} des prix jusque \MontreCode{99\,999\,€}. + +\begin{DemoCode}{} +\AfficheSoldes{99\texteuro}{79\texteuro}{-20\,\%}~% +\AfficheSoldes[Couleur=red]{99\texteuro}{79\texteuro}{-20\,\%}~% +\AfficheSoldes[Couleur=blue]{\ldots\texteuro}{79\texteuro}{-20\,\%}~% +\AfficheSoldes[Couleur=teal]{\ldots}{\ldots}{\ldots} +\end{DemoCode} + +\begin{DemoCode}{} +\AfficheSoldes[% + Couleur=magenta,% + Largeur=6cm,% + PoliceEntete=\huge\sffamily\bfseries,% + PolicePrix=\ttfamily,% + PoliceReduc=\bfseries\Huge\sffamily,% + AgrandirReduc=8mm + ]% + {1\,500\texteuro}{1\,299\texteuro}{-\ldots\,\%} +\end{DemoCode} + +\begin{DemoCode}{} +\AfficheSoldes[% + Couleur=cyan,% + PoliceEntete=\bfseries\huge\fontfamily{qhv}\selectfont,% + PolicePrix=\fontfamily{qhv}\selectfont,% + PoliceReduc=\bfseries\Huge\fontfamily{qhv}\selectfont,% + AgrandirReduc=1cm + ]% + {\makebox[1cm]{\dotfill}\texteuro}{1\,299\texteuro}{-30\,\%} +\end{DemoCode} + +\pagebreak + \section{Patchs divers} \subsection{Gérer l'espacement vertical du mode hors-ligne} diff --git a/macros/latex/contrib/customenvs/tex/customenvs.sty b/macros/latex/contrib/customenvs/tex/customenvs.sty index 21fefb3045..a54da462ab 100644 --- a/macros/latex/contrib/customenvs/tex/customenvs.sty +++ b/macros/latex/contrib/customenvs/tex/customenvs.sty @@ -3,9 +3,10 @@ % source pencil...: CC-BY-SA 4.0 https://tex.stackexchange.com/questions/504092/replicating-a-fancy-bordered-text-style-in-latex/504145#504145 \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{customenvs}[2024/09/09 0.2.2 Custom classic environments] +\ProvidesPackage{customenvs}[2024/09/14 0.2.3 Custom classic environments] %====HISTORIQUE +% v 0.2.3 Panneau autoroutier + Panneau Soldes % v 0.2.2 Flèche évasée, en TikZ % v 0.2.1 Modification mineure de la gestion des étoiles tikz (baseline) + grille auto tikzpicture % v 0.2.0 Ajout d'étoiles pour les difficultés d'exercices (2 versions) @@ -2928,4 +2929,143 @@ \end{scope} } +%====PANO AUTOROUTE +\newlength{\PanoTorouteStretch} +\newlength{\PanoTorouteOffsetArrow} + +\defKV[PanoAutoroute]{% + Fleches=\def\PanoTorouteArrow{#1},% + CouleurFond=\def\PanoTorouteCoul{#1},% + CouleurTitre=\def\PanoTorouteCoulTitre{#1},% + Police=\def\PanoTorouteFonte{#1},% + PoliceCartouche=\def\PanoTorouteFonteTitre{#1},% + TypeFleche=\def\PanoTorouteStyleArrow{#1},% + EspacementV=\setlength{\PanoTorouteStretch}{#1},% + OffsetFleches=\setlength{\PanoTorouteOffsetArrow}{#1} +} + +\setKVdefault[PanoAutoroute]{% + Fleches=0,% + CouleurFond=blue,% + CouleurTitre=red,% + Largeur=10cm,% + Police=\LARGE\bfseries\sffamily,% + PoliceCartouche=\Large\bfseries\sffamily,% + TypeFleche={\scalebox{1.33}[1.25]{\faArrowDown}},% + EspacementV={2.5mm},% + OffsetFleches={5mm},% + Dernier=true +} + +\NewDocumentEnvironment{PanneauAutoroute}{ O{} D<>{} m }% +{% + \restoreKV[PanoAutoroute]% + \setKV[PanoAutoroute]{#1} + \IfEq{#3}{}% + {% + \tcolorbox[enhanced,width={\useKV[PanoAutoroute]{Largeur}},fontupper=\PanoTorouteFonte,colback=\PanoTorouteCoul,colframe=\PanoTorouteCoul!5!white,coltext=white,sharp corners,boxsep=1mm,left=1mm,right=1mm,top=1mm,bottom=1mm,#2] + }% + {% + \tcolorbox[enhanced,width={\useKV[PanoAutoroute]{Largeur}},fontupper=\PanoTorouteFonte,colback=\PanoTorouteCoul,colframe=\PanoTorouteCoul!5!white,coltext=white,sharp corners,boxsep=1mm,left=1mm,right=1mm,top=1mm,bottom=1mm,attach boxed title to top center,fonttitle=\PanoTorouteFonteTitre,coltitle=white,boxed title style={colback=\PanoTorouteCoulTitre,size=small,sharp corners,left=0mm,right=0mm,colframe=\PanoTorouteCoulTitre!5!white},title={#3},#2] + }% + \baselineskip=-1000pt\lineskip=\PanoTorouteStretch\lineskiplimit=\maxdimen% +}% +{% + \ifnum\PanoTorouteArrow>0 + + \medskip + \hspace*{\PanoTorouteOffsetArrow}\foreach \i in {1,...,\PanoTorouteArrow}{\hfill\PanoTorouteStyleArrow}\hfill\hspace*{\PanoTorouteOffsetArrow} + \fi% + \endtcolorbox% + % + \ifboolKV[PanoAutoroute]{Dernier}{}{\vspace*{\dimexpr-\baselineskip-0.5mm\relax}}% +} + +\NewDocumentCommand\VilleDist{ s m m }{% + \IfBooleanTF{#1}% + {% + #2\hfill~#3 + }% + {% + #2\hfill~#3\\ + }% +} + +%====PANOSOLDES +\newlength{\tmphautbannsold} +\newlength{\tmphautbannsoldextra} +\newlength{\tmplargbannsold} +\newlength{\tmplargasold} +\newlength{\tmplargbsold} +\newlength{\tmplargtotsold} +\newlength{\tmpoffsetbannsold} +\newlength{\tmphautlignesol} +\newlength{\tmphautsoles} + +\def\labelancienprix{Ancien Prix~:~} +\def\labelnouveauprix{Nouveau Prix~:~} +\def\labelreduction{SOLDES~:~} + +\defKV[PanoSoldes]{% + Couleur=\def\panosoldescolor{#1},% + Largeur=\def\panosoldeswidth{#1},% + PoliceEntete=\def\panosoldesfonthaut{#1},% + PolicePrix=\def\panosoldesfontprix{#1},% + PoliceReduc=\def\panosoldesfontreduc{#1},% + OffsetReduc=\setlength{\tmpoffsetbannsold}{#1},% + Titre=\def\panosoldestitre{#1},% + AgrandirReduc=\setlength{\tmphautbannsoldextra}{#1} +} + +\setKVdefault[PanoSoldes]{% + Couleur=gray, + Largeur=auto, + PoliceEntete=\large\bfseries,% + PolicePrix=\footnotesize,% + PoliceReduc=\large\bfseries,% + Titre=GRANDE DÉMARQUE,% + OffsetReduc=1.25cm,% + AgrandirReduc=0mm +} + +\NewDocumentCommand\AfficheSoldes{ O{} m m m }{% + \restoreKV[PanoSoldes]% + \setKV[PanoSoldes]{#1}% + %calcul de la largeur + \IfEq{\panosoldeswidth}{auto}% + {% + \settowidth{\tmplargbannsold}{{\panosoldesfontreduc\labelreduction-999X}}%largeur avec un peu de marge dûe à la rotation + \settowidth{\tmplargasold}{{\panosoldesfontprix\labelancienprix99999X}}%largeur avec un peu de marge dûe au prix "élastique" + \settowidth{\tmplargbsold}{{\panosoldesfontprix\labelnouveauprix99999X}}%largeur avec un peu de marge dûe au prix "élastique" + \pgfmathsetlength{\tmplargtotsold}{max(\tmplargbannsold,\tmplargasold,\tmplargbsold)+1mm}%on rajoute encore un peu de marge pour être sûr + }% + {% + \setlength{\tmplargtotsold}{\panosoldeswidth}% + }% + %calcul de la hauteur + \settototalheight{\tmphautlignesol}{\panosoldesfontprix\labelancienprix\labelnouveauprix0,123456789X}% + \settototalheight{\tmphautbannsold}{\panosoldesfontreduc\labelreduction-0,123456789X}% + \addtolength{\tmphautbannsold}{6mm+\tmphautbannsoldextra}% + \setlength{\tmphautsoles}{2\tmphautlignesol}% + \addtolength{\tmphautsoles}{\tmpoffsetbannsold+2mm}% + \addtolength{\tmphautsoles}{\tmphautbannsold}% + %boîte + \tcolorbox[% + enhanced,nobeforeafter,width=\tmplargtotsold,text height=\tmphautsoles,boxrule=0.5mm,boxsep=0.5mm,title={\panosoldestitre},halign title=flush center,colframe=\panosoldescolor,colback=white,top=1.25mm,bottom=1.25mm,left=1.25mm,right=1.25mm,fonttitle=\panosoldesfonthaut,% + overlay={% + \begin{tcbclipframe} + \draw ([shift={(1.25mm,-2mm)}]interior.north west) node[anchor=north west,font=\panosoldesfontprix,inner sep=0pt] {Ancien prix : {#2}} ; + \draw ([shift={(-1.25mm,2.5mm)}]interior.south east) node[anchor=south east,left,font=\panosoldesfontprix,inner sep=0pt] {Nouveau prix : {#3}} ; + %bannière (cf Séb Lozano) + \fill[line cap=rect,\panosoldescolor] ([shift={(0,2.5mm+\tmphautlignesol)}]interior.south west)--([shift={(0,2.5mm+\tmphautlignesol+\tmpoffsetbannsold)}]interior.south east)--++(0,\tmphautbannsold)--([shift={(0,2.5mm+\tmphautlignesol+\tmphautbannsold)}]interior.south west) ; + %petit filet + \draw[white,semithick] ([shift={(0,2.5mm+\tmphautlignesol+1pt)}]interior.south west)--([shift={(0,2.5mm+\tmphautlignesol+\tmpoffsetbannsold+1pt)}]interior.south east)--++(0,\tmphautbannsold-2pt)--([shift={(0,2.5mm+\tmphautlignesol+\tmphautbannsold-1pt)}]interior.south west)--cycle ; + %label + \draw[draw=none] ([shift={(0,2.5mm+\tmphautlignesol+0.5\tmphautbannsold)}]interior.south west) -- ([shift={(0,2.5mm+\tmphautlignesol+\tmpoffsetbannsold+0.5\tmphautbannsold)}]interior.south east) node[midway,sloped,font=\panosoldesfontreduc,text=white] {SOLDES : {#4}} ; + \end{tcbclipframe}% + }% + ]% + \endtcolorbox% +} + \endinput
\ No newline at end of file diff --git a/macros/latex/contrib/ocgx2/ChangeLog b/macros/latex/contrib/ocgx2/ChangeLog index 2aa9c20179..5d97fd93b1 100644 --- a/macros/latex/contrib/ocgx2/ChangeLog +++ b/macros/latex/contrib/ocgx2/ChangeLog @@ -1,3 +1,8 @@ +2024-09-15 + * v0.59: ocgx2.sty + * v0.24: ocgbase.sty + * fix: pdf/a compliance (issue #22); log output (issue #20) + 2024-08-28 * v0.58: ocgx2.sty * v0.23: ocgbase.sty diff --git a/macros/latex/contrib/ocgx2/ocgbase.sty b/macros/latex/contrib/ocgx2/ocgbase.sty index 690bd593ce..e182f8670d 100644 --- a/macros/latex/contrib/ocgx2/ocgbase.sty +++ b/macros/latex/contrib/ocgx2/ocgbase.sty @@ -100,8 +100,8 @@ % % The Current Maintainer of this work is A. Grahn. -\def\g@ocgbase@date@tl{2024/08/28} -\def\g@ocgbase@version@tl{0.23} +\def\g@ocgbase@date@tl{2024/09/15} +\def\g@ocgbase@version@tl{0.24} \ProvidesExplPackage{ocgbase}{\g@ocgbase@date@tl}{\g@ocgbase@version@tl} {support package for ocgx2.sty} @@ -424,8 +424,8 @@ % % The Current Maintainer of this work is A. Grahn. -\def\g@ocgbase@date@tl{2024/08/28} -\def\g@ocgbase@version@tl{0.23} +\def\g@ocgbase@date@tl{2024/09/15} +\def\g@ocgbase@version@tl{0.24} \ProvidesExplPackage{ocgbase}{\g@ocgbase@date@tl}{\g@ocgbase@version@tl} {support package for ocgx2.sty} @@ -514,11 +514,14 @@ } \pdfmanagement_add:nnx{Catalog/OCProperties}{OCGs}{\g_ocgbase_ocgs_tl} \pdfmanagement_add:nnx{Catalog/OCProperties}{D}{<< - /AS~[ - <</Event/View /Category[/View] /OCGs~\l_ocgbase_ocgarray_tl>> - <</Event/Print /Category[/Print] /OCGs~\l_ocgbase_ocgarray_tl>> - <</Event/Export/Category[/Export]/OCGs~\l_ocgbase_ocgarray_tl>> - ] + /Name~(OC~default~configuration) + \pdfmeta_standard_verify:nT{Catalog_OCProperties_no_AS}{ %for pdf/a compliance + /AS~[ + <</Event/View /Category[/View] /OCGs~\l_ocgbase_ocgarray_tl>> + <</Event/Print /Category[/Print] /OCGs~\l_ocgbase_ocgarray_tl>> + <</Event/Export/Category[/Export]/OCGs~\l_ocgbase_ocgarray_tl>> + ] + } /BaseState/ON~\l_ocgbase_offocgentry_tl \l_ocgbase_ocgorderentry_tl \l_ocgbase_rbgroupsentry_tl diff --git a/macros/latex/contrib/ocgx2/ocgx2.sty b/macros/latex/contrib/ocgx2/ocgx2.sty index 8a45995b8c..16eb0d3a1b 100644 --- a/macros/latex/contrib/ocgx2/ocgx2.sty +++ b/macros/latex/contrib/ocgx2/ocgx2.sty @@ -43,11 +43,11 @@ % % The Current Maintainer of this work is A. Grahn. - \def\g@ocgxii@date@tl{2024/08/28} - \def\g@ocgxii@version@tl{0.58} + \def\g@ocgxii@date@tl{2024/09/15} + \def\g@ocgxii@version@tl{0.59} \ProvidesExplPackage{ocgx2}{\g@ocgxii@date@tl}{\g@ocgxii@version@tl} - {ports `ocgx' functionality to dvips+ps2pdf, xelatex and dvipdfmx} + {ports~`ocgx'~functionality~to~dvips+ps2pdf,~xelatex~and~dvipdfmx} %creating global definitions \cs_new_protected:Npn\ocgxii@newkey#1#2{\tl_gset:cx{#1}{#2}} @@ -1579,11 +1579,11 @@ % % The Current Maintainer of this work is A. Grahn. -\def\g@ocgxii@date@tl{2024/08/28} -\def\g@ocgxii@version@tl{0.58} +\def\g@ocgxii@date@tl{2024/09/15} +\def\g@ocgxii@version@tl{0.59} \ProvidesExplPackage{ocgx2}{\g@ocgxii@date@tl}{\g@ocgxii@version@tl} -{ports `ocgx' functionality to dvips+ps2pdf, xelatex and dvipdfmx} +{ports~`ocgx'~functionality~to~dvips+ps2pdf,~xelatex~and~dvipdfmx} %creating global definitions \cs_new_protected:Npn\ocgxii@newkey#1#2{\tl_gset:cx{#1}{#2}} @@ -2385,104 +2385,132 @@ % \bool_if:nTF{\l_ocgxii_nobreak_bool || \l_ocgxii_mouse_triggers_bool}{ \hbox_set:Nn\l_tmpa_box{#6} - \bool_if:NTF\l_ocgxii_mouse_triggers_bool{ - % e,d,x mouse triggers require (non-breakable) /Widget annot - \pdfannot_dict_put:nnn{link/GoTo}{Subtype}{/Widget} - \pdfannot_dict_remove:nn{link/GoTo}{Border} - }{ - \pdfannot_dict_put:nnn{link/GoTo}{Border}{[0~0~0]} - } - \pdfannot_dict_remove:nn{link/GoTo}{C} - \pbs_pdfannot:nnnn{ - \dim_use:N\box_wd:N\l_tmpa_box}{ - \dim_use:N\box_ht:N\l_tmpa_box}{ - \dim_use:N\box_dp:N\l_tmpa_box - }{ - \pdfannot_dict_use:n{link/GoTo} + % suppress annots with SetOCGState Action Subtype for pdf/a compliance + \pdfmeta_standard_verify:nT{annot_action_A}{ \bool_if:NTF\l_ocgxii_mouse_triggers_bool{ - /Ff~65536/FT/Btn/BS<</W~0>> - /T~(ocgx2@\int_use:N\g_ocgxii_widcount_int) - %treat mouse-up as mouse-click --> handle through /A dictionary - \str_if_eq:eeF{}{ - \l_ocgxii_toswitch_u_tl\l_ocgxii_toshow_u_tl\l_ocgxii_tohide_u_tl - }{ - /A <</S/SetOCGState/State [ - \str_if_eq:VnF\l_ocgxii_toswitch_u_tl{}{ - /Toggle~\l_ocgxii_toswitch_u_tl - } - \str_if_eq:VnF\l_ocgxii_toshow_u_tl{}{ - /ON~\l_ocgxii_toshow_u_tl - } - \str_if_eq:VnF\l_ocgxii_tohide_u_tl{}{ - /OFF~\l_ocgxii_tohide_u_tl - } - ]>> - } - % other mouse triggers need add. actions dict - /AA << - %\str_if_eq:eeF{}{ % mouse-up - % \l_ocgxii_toswitch_u_tl\l_ocgxii_toshow_u_tl\l_ocgxii_tohide_u_tl - %}{ - % /U <</S/SetOCGState/State [ - % \str_if_eq:VnF\l_ocgxii_toswitch_u_tl{}{ - % /Toggle~\l_ocgxii_toswitch_u_tl - % } - % \str_if_eq:VnF\l_ocgxii_toshow_u_tl{}{ - % /ON~\l_ocgxii_toshow_u_tl - % } - % \str_if_eq:VnF\l_ocgxii_tohide_u_tl{}{ - % /OFF~\l_ocgxii_tohide_u_tl - % } - % ]>> - %} - \str_if_eq:eeF{}{ % mouse-down - \l_ocgxii_toswitch_d_tl\l_ocgxii_toshow_d_tl\l_ocgxii_tohide_d_tl - }{ - /D <</S/SetOCGState/State [ - \str_if_eq:VnF\l_ocgxii_toswitch_d_tl{}{ - /Toggle~\l_ocgxii_toswitch_d_tl - } - \str_if_eq:VnF\l_ocgxii_toshow_d_tl{}{ - /ON~\l_ocgxii_toshow_d_tl - } - \str_if_eq:VnF\l_ocgxii_tohide_d_tl{}{ - /OFF~\l_ocgxii_tohide_d_tl - } - ]>> - } - \str_if_eq:eeF{}{ % mouse-enter - \l_ocgxii_toswitch_e_tl\l_ocgxii_toshow_e_tl\l_ocgxii_tohide_e_tl - }{ - /E <</S/SetOCGState/State [ - \str_if_eq:VnF\l_ocgxii_toswitch_e_tl{}{ - /Toggle~\l_ocgxii_toswitch_e_tl - } - \str_if_eq:VnF\l_ocgxii_toshow_e_tl{}{ - /ON~\l_ocgxii_toshow_e_tl - } - \str_if_eq:VnF\l_ocgxii_tohide_e_tl{}{ - /OFF~\l_ocgxii_tohide_e_tl - } - ]>> - } - \str_if_eq:eeF{}{ % mouse-exit - \l_ocgxii_toswitch_x_tl\l_ocgxii_toshow_x_tl\l_ocgxii_tohide_x_tl + % e,d,x mouse triggers require (non-breakable) /Widget annot + \pdfannot_dict_put:nnn{link/GoTo}{Subtype}{/Widget} + \pdfannot_dict_remove:nn{link/GoTo}{Border} + }{ + \pdfannot_dict_put:nnn{link/GoTo}{Border}{[0~0~0]} + } + \pdfannot_dict_remove:nn{link/GoTo}{C} + \pbs_pdfannot:nnnn{ + \dim_use:N\box_wd:N\l_tmpa_box}{ + \dim_use:N\box_ht:N\l_tmpa_box}{ + \dim_use:N\box_dp:N\l_tmpa_box + }{ + \pdfannot_dict_use:n{link/GoTo} + \bool_if:NTF\l_ocgxii_mouse_triggers_bool{ + /Ff~65536/FT/Btn/BS<</W~0>> + /T~(ocgx2@\int_use:N\g_ocgxii_widcount_int) + %treat mouse-up as mouse-click --> handle through /A dictionary + \str_if_eq:eeF{}{ + \l_ocgxii_toswitch_u_tl\l_ocgxii_toshow_u_tl\l_ocgxii_tohide_u_tl }{ - /X <</S/SetOCGState/State [ - \str_if_eq:VnF\l_ocgxii_toswitch_x_tl{}{ - /Toggle~\l_ocgxii_toswitch_x_tl + /A <</S/SetOCGState/State [ + \str_if_eq:VnF\l_ocgxii_toswitch_u_tl{}{ + /Toggle~\l_ocgxii_toswitch_u_tl } - \str_if_eq:VnF\l_ocgxii_toshow_x_tl{}{ - /ON~\l_ocgxii_toshow_x_tl + \str_if_eq:VnF\l_ocgxii_toshow_u_tl{}{ + /ON~\l_ocgxii_toshow_u_tl } - \str_if_eq:VnF\l_ocgxii_tohide_x_tl{}{ - /OFF~\l_ocgxii_tohide_x_tl + \str_if_eq:VnF\l_ocgxii_tohide_u_tl{}{ + /OFF~\l_ocgxii_tohide_u_tl } ]>> } - >> - }{ - %mouse-up alone + % other mouse triggers need add. actions dict + /AA << + %\str_if_eq:eeF{}{ % mouse-up + % \l_ocgxii_toswitch_u_tl\l_ocgxii_toshow_u_tl\l_ocgxii_tohide_u_tl + %}{ + % /U <</S/SetOCGState/State [ + % \str_if_eq:VnF\l_ocgxii_toswitch_u_tl{}{ + % /Toggle~\l_ocgxii_toswitch_u_tl + % } + % \str_if_eq:VnF\l_ocgxii_toshow_u_tl{}{ + % /ON~\l_ocgxii_toshow_u_tl + % } + % \str_if_eq:VnF\l_ocgxii_tohide_u_tl{}{ + % /OFF~\l_ocgxii_tohide_u_tl + % } + % ]>> + %} + \str_if_eq:eeF{}{ % mouse-down + \l_ocgxii_toswitch_d_tl\l_ocgxii_toshow_d_tl\l_ocgxii_tohide_d_tl + }{ + /D <</S/SetOCGState/State [ + \str_if_eq:VnF\l_ocgxii_toswitch_d_tl{}{ + /Toggle~\l_ocgxii_toswitch_d_tl + } + \str_if_eq:VnF\l_ocgxii_toshow_d_tl{}{ + /ON~\l_ocgxii_toshow_d_tl + } + \str_if_eq:VnF\l_ocgxii_tohide_d_tl{}{ + /OFF~\l_ocgxii_tohide_d_tl + } + ]>> + } + \str_if_eq:eeF{}{ % mouse-enter + \l_ocgxii_toswitch_e_tl\l_ocgxii_toshow_e_tl\l_ocgxii_tohide_e_tl + }{ + /E <</S/SetOCGState/State [ + \str_if_eq:VnF\l_ocgxii_toswitch_e_tl{}{ + /Toggle~\l_ocgxii_toswitch_e_tl + } + \str_if_eq:VnF\l_ocgxii_toshow_e_tl{}{ + /ON~\l_ocgxii_toshow_e_tl + } + \str_if_eq:VnF\l_ocgxii_tohide_e_tl{}{ + /OFF~\l_ocgxii_tohide_e_tl + } + ]>> + } + \str_if_eq:eeF{}{ % mouse-exit + \l_ocgxii_toswitch_x_tl\l_ocgxii_toshow_x_tl\l_ocgxii_tohide_x_tl + }{ + /X <</S/SetOCGState/State [ + \str_if_eq:VnF\l_ocgxii_toswitch_x_tl{}{ + /Toggle~\l_ocgxii_toswitch_x_tl + } + \str_if_eq:VnF\l_ocgxii_toshow_x_tl{}{ + /ON~\l_ocgxii_toshow_x_tl + } + \str_if_eq:VnF\l_ocgxii_tohide_x_tl{}{ + /OFF~\l_ocgxii_tohide_x_tl + } + ]>> + } + >> + }{ + %mouse-up alone + /A <</S/SetOCGState + /State [ + \str_if_eq:VnF{\l_ocgxii_toswitch_u_tl}{}{ + /Toggle~\l_ocgxii_toswitch_u_tl}~ + \str_if_eq:VnF{\l_ocgxii_toshow_u_tl}{}{/ON~\l_ocgxii_toshow_u_tl}~ + \str_if_eq:VnF{\l_ocgxii_tohide_u_tl}{}{/OFF~\l_ocgxii_tohide_u_tl} + ] + >> + } + } + \bool_if:NT\l_ocgxii_mouse_triggers_bool{ + \pbs_appendtofields:n{\pbs_pdflastann:} + \int_gincr:N\g_ocgxii_widcount_int + } + } + \box_use_drop:N\l_tmpa_box + }{ + % suppress annots with SetOCGState Action Subtype for pdf/a compliance + \pdfmeta_standard_verify:nTF{annot_action_A}{ + \bool_if:NF\g_ocgxii_hyperref_loaded_bool{ + \pdfannot_dict_put:nnn{link/GoTo}{Border}{[0~0~0]} + } + %line-breakable annotation + \pbs_pdflink:nn{ + %look and feel of hyperref internal links + \pdfannot_dict_use:n{link/GoTo} /A <</S/SetOCGState /State [ \str_if_eq:VnF{\l_ocgxii_toswitch_u_tl}{}{ @@ -2491,33 +2519,12 @@ \str_if_eq:VnF{\l_ocgxii_tohide_u_tl}{}{/OFF~\l_ocgxii_tohide_u_tl} ] >> + }{ + \hook_use:n{pdfannot/link/GoTo/begin} + #6 + \hook_use:n{pdfannot/link/GoTo/end} } - }\box_use_drop:N\l_tmpa_box - \bool_if:NT\l_ocgxii_mouse_triggers_bool{ - \pbs_appendtofields:n{\pbs_pdflastann:} - \int_gincr:N\g_ocgxii_widcount_int - } - }{ - \bool_if:NF\g_ocgxii_hyperref_loaded_bool{ - \pdfannot_dict_put:nnn{link/GoTo}{Border}{[0~0~0]} - } - %line-breakable annotation - \pbs_pdflink:nn{ - %look and feel of hyperref internal links - \pdfannot_dict_use:n{link/GoTo} - /A <</S/SetOCGState - /State [ - \str_if_eq:VnF{\l_ocgxii_toswitch_u_tl}{}{ - /Toggle~\l_ocgxii_toswitch_u_tl}~ - \str_if_eq:VnF{\l_ocgxii_toshow_u_tl}{}{/ON~\l_ocgxii_toshow_u_tl}~ - \str_if_eq:VnF{\l_ocgxii_tohide_u_tl}{}{/OFF~\l_ocgxii_tohide_u_tl} - ] - >> - }{ - \hook_use:n{pdfannot/link/GoTo/begin} - #6 - \hook_use:n{pdfannot/link/GoTo/end} - } + }{#6} } \group_end: } diff --git a/macros/latex/contrib/panneauxroute/doc/PanneauxRoute-doc.pdf b/macros/latex/contrib/panneauxroute/doc/PanneauxRoute-doc.pdf Binary files differindex cbd1044435..6f09abae4e 100644 --- a/macros/latex/contrib/panneauxroute/doc/PanneauxRoute-doc.pdf +++ b/macros/latex/contrib/panneauxroute/doc/PanneauxRoute-doc.pdf diff --git a/macros/latex/contrib/panneauxroute/doc/PanneauxRoute-doc.tex b/macros/latex/contrib/panneauxroute/doc/PanneauxRoute-doc.tex index b4e8d639fd..413d7368cc 100644 --- a/macros/latex/contrib/panneauxroute/doc/PanneauxRoute-doc.tex +++ b/macros/latex/contrib/panneauxroute/doc/PanneauxRoute-doc.tex @@ -36,8 +36,8 @@ \usepackage[margin=1.5cm]{geometry} \setlength{\parindent}{0pt} -\def\TPversion{0.1.1} -\def\TPdate{10 septembre 2023} +\def\TPversion{0.1.2} +\def\TPdate{14 septembre 2024} \usepackage{tcolorbox} @@ -135,6 +135,8 @@ Les panneaux sont au format \MontreCode{pdf}, obtenu à l'aide de fichiers \Mont \subsection{Historique} +\verb|v0.1.2|~:~~~~Nouveaux panneaux + \verb|v0.1.1|~:~~~~Ajout du panneau B14 (80) pour la limitation de vitesse 80 \verb|v0.1.0|~:~~~~Version initiale @@ -230,6 +232,24 @@ Pour les panneaux de (début/fin de) limitation de vitesse, la commande associé \pagebreak +\subsection{Panneaux de Danger temporaires} + +\begin{longtblr}[label=none,entry=none]{width=0.95\linewidth,hlines,vlines,colspec={Q[12.5mm,m,c]Q[m,c]X[l,m]Q[m,c,35mm]},row{1}={cyan!5,font=\Large\sffamily},row{2-Z}={font=\sffamily},cell{2-Z}{Z}={font=\footnotesize}} + Type & Panneau & Signification & Alias \\ + AK2 & \PanneauTableau{AK2} & Dos d'âne ou cassis & \fakeverb{\prDosAneTemp} \\ + AK3 & \PanneauTableau{AK3} & Rétrécissement de chaussée & \fakeverb{\prChausRetTemp}\\ + AK4 & \PanneauTableau{AK4} & Chaussée glissante & \fakeverb{\prChaussGlissTemp} \\ + AK5 & \PanneauTableau{AK5} & Travaux & \fakeverb{\prTravauxTemp} \\ + AK14 & \PanneauTableau{AK14} & Danger & \fakeverb{\prDangerTemp} \\ + AK17 & \PanneauTableau{AK17} & Feux temporaires & \fakeverb{\prFeuxTemp} \\ + AK22 & \PanneauTableau{AK22} & Projection de gravillons & \fakeverb{\prGraviersTemp} \\ + AK30 & \PanneauTableau{AK30} & Embouteillage & \fakeverb{\prBouchonTemp} \\ + AK31 & \PanneauTableau{AK31} & Accident & \fakeverb{\prAccidentTemp} \\ + AK32 & \PanneauTableau{AK32} & Brouillard ou fumées épaisses & \fakeverb{\prBrouillardTemp} \\ +\end{longtblr} + +\pagebreak + \subsection{Panneaux d'Interdiction et de Priorité} \begin{longtblr}[label=none,entry=none]{width=0.95\linewidth,hlines,vlines,colspec={Q[12.5mm,m,c]Q[m,c]X[l,m]Q[m,c,35mm]},row{1}={cyan!5,font=\Large\sffamily},row{2-Z}={font=\sffamily},cell{2-Z}{Z}={font=\footnotesize}} @@ -253,11 +273,11 @@ Pour les panneaux de (début/fin de) limitation de vitesse, la commande associé Type & Panneau & Signification & Alias \\ B0 & \PanneauTableau{B0} & Circulation interdite à tout véhicule dans les deux sens & \fakeverb{\prCircInterd} \\ B1 & \PanneauTableau{B1} & Sens interdit à tout véhicule & \fakeverb{\prSensInterdit} \\ - %B1j & \PanneauTableau{B1j} & Répétition d'interdiction d'accès à contresens de bretelles [\ldots] \\ + B1j & \PanneauTableau{B1j} & Répétition d'interdiction d'accès à contresens de bretelles [\ldots] & \fakeverb{\prSensInterditJ} \\ B2a & \PanneauTableau{B2a} & Interdiction de tourner à gauche à la prochaine intersection & \fakeverb{\prInterdTournG} \\ B2b & \PanneauTableau{B2b} & Interdiction de tourner à droite à la prochaine intersection & \fakeverb{\prInterdTournD} \\ B2c & \PanneauTableau{B2c} & Interdiction de faire demi-tour sur la route suivie jusqu'à la prochaine intersection & \fakeverb{\prInterdDemiTour} \\ - B3 & \PanneauTableau{B31} & Interdiction de dépasser tous les véhicules à moteur autres que ceux à deux roues sans side-car & \fakeverb{\prInterdDepass} \\ + B3 & \PanneauTableau{B3} & Interdiction de dépasser tous les véhicules à moteur autres que ceux à deux roues sans side-car & \fakeverb{\prInterdDepass} \\ B3a & \PanneauTableau{B3a} & Interdiction aux véhicules automobiles, véhicules articulés, trains doubles ou [\ldots] & \fakeverb{\prInterdVehic} \\ B4 & \PanneauTableau{B4} & Arrêt au poste de douane & \fakeverb{\prHalteDouane} \\ B5a & \PanneauTableau{B5a} & Arrêt au poste de gendarmerie & \fakeverb{\prHalteGendarm} \\ @@ -463,6 +483,28 @@ Pour les panneaux de (début/fin de) limitation de vitesse, la commande associé %CE100 & \PanneauTableau{CE100} & Indication de l’enseigne de la ou des sociétés commerciales offrant un [\ldots] \\ \end{longtblr} +\subsection{Panneaux divers} + +\NewDocumentCommand\AffPanneauGenerique{ m }{% + \raisebox{-0.2\height}{\AffPanneau[height=1.5cm]{#1}} : \texttt{#1} +} +\begin{multicols}{3} + \AffPanneauGenerique{B50a} \\ + \AffPanneauGenerique{B50b} \\ + \AffPanneauGenerique{B50c} \\ + \AffPanneauGenerique{B50d} \\ + \AffPanneauGenerique{B50e} \\ + \raisebox{-0.2\height}{\AffPanneau[height=1.5cm]{B51_30}} : \texttt{B51\_30} \\ + \AffPanneauGenerique{B53} \\ + \AffPanneauGenerique{B55} \\ + \AffPanneauGenerique{B57} \\ + \AffPanneauGenerique{B59} \\ + \AffPanneauGenerique{B49VL} \\ + \AffPanneauGenerique{C24a} +\end{multicols} + +\pagebreak + \section{Aliases, de hauteur 2.5ex} \begin{multicols}{3} @@ -496,6 +538,19 @@ Pour les panneaux de (début/fin de) limitation de vitesse, la commande associé \raisebox{-0.2\height}{\prVent[height=2.5ex]} : \verb+\prVent+ \end{multicols} +\begin{multicols}{3}%temporaire + \raisebox{-0.2\height}{\prDosAneTemp[height=2.5ex]} : \verb+\prDosAneTemp+ \\ + \raisebox{-0.2\height}{\prChausRetTemp[height=2.5ex]} : \verb+\prIntersectPrio+ \\ + \raisebox{-0.2\height}{\prChaussGlissTemp[height=2.5ex]} : \verb+\prChaussGlissTemp+ \\ + \raisebox{-0.2\height}{\prTravauxTemp[height=2.5ex]} : \verb+\prTravauxTemp+ \\ + \raisebox{-0.2\height}{\prDangerTemp[height=2.5ex]} : \verb+\prDangerTemp+ \\ + \raisebox{-0.2\height}{\prFeuxTemp[height=2.5ex]} : \verb+\prFeuxTemp+ \\ + \raisebox{-0.2\height}{\prGraviersTemp[height=2.5ex]} : \verb+\prGraviersTemp+ \\ + \raisebox{-0.2\height}{\prBouchonTemp[height=2.5ex]} : \verb+\prBouchonTemp+ \\ + \raisebox{-0.2\height}{\prAccidentTemp[height=2.5ex]} : \verb+\prAccidentTemp+ \\ + \raisebox{-0.2\height}{\prBrouillardTemp[height=2.5ex]} : \verb+\prBrouillardTemp+ +\end{multicols} + \begin{multicols}{3} \raisebox{-0.2\height}{\prIntersect[height=2.5ex]} : \verb+\prIntersect+ \\ \raisebox{-0.2\height}{\prIntersectPrio[height=2.5ex]} : \verb+\prIntersectPrio+ \\ @@ -511,6 +566,7 @@ Pour les panneaux de (début/fin de) limitation de vitesse, la commande associé \begin{multicols}{3} \raisebox{-0.2\height}{\prCircInterd[height=2.5ex]} : \verb+\prCircInterd+ \\ \raisebox{-0.2\height}{\prSensInterdit[height=2.5ex]} : \verb+\prSensInterdit+ \\ + \raisebox{-0.2\height}{\prSensInterditJ[height=2.5ex]} : \verb+\prSensInterditJ+ \\ \raisebox{-0.2\height}{\prInterdTournG[height=2.5ex]} : \verb+\prInterdTournG+ \\ \raisebox{-0.2\height}{\prInterdTournD[height=2.5ex]} : \verb+\prInterdTournD+ \\ \raisebox{-0.2\height}{\prInterdDemiTour[height=2.5ex]} : \verb+\prInterdDemiTour+ \\ diff --git a/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24a.pdf b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24a.pdf Binary files differnew file mode 100644 index 0000000000..3b5ec7e8a4 --- /dev/null +++ b/macros/latex/contrib/panneauxroute/tex/Indication/PanneauRouteC24a.pdf diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB1j.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB1j.pdf Binary files differnew file mode 100644 index 0000000000..5a98b38672 --- /dev/null +++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB1j.pdf diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB30_30.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB30_30.pdf Binary files differnew file mode 100644 index 0000000000..2e15811016 --- /dev/null +++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB30_30.pdf diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6b1.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6b1.pdf Binary files differnew file mode 100644 index 0000000000..91952f39a8 --- /dev/null +++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6b1.pdf diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6b2.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6b2.pdf Binary files differnew file mode 100644 index 0000000000..ec8a30e437 --- /dev/null +++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6b2.pdf diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6b3.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6b3.pdf Binary files differnew file mode 100644 index 0000000000..92fd45c47f --- /dev/null +++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6b3.pdf diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6b4.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6b4.pdf Binary files differnew file mode 100644 index 0000000000..02b47faac0 --- /dev/null +++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6b4.pdf diff --git a/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6b5.pdf b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6b5.pdf Binary files differnew file mode 100644 index 0000000000..6d3a6716b7 --- /dev/null +++ b/macros/latex/contrib/panneauxroute/tex/Interdiction/PanneauRouteB6b5.pdf diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB49VL.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB49VL.pdf Binary files differnew file mode 100644 index 0000000000..d737b9b203 --- /dev/null +++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB49VL.pdf diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB50a.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB50a.pdf Binary files differnew file mode 100644 index 0000000000..a3ef5fd0ce --- /dev/null +++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB50a.pdf diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB50b.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB50b.pdf Binary files differnew file mode 100644 index 0000000000..f5bb08180f --- /dev/null +++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB50b.pdf diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB50c.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB50c.pdf Binary files differnew file mode 100644 index 0000000000..3fecb25982 --- /dev/null +++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB50c.pdf diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB50d.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB50d.pdf Binary files differnew file mode 100644 index 0000000000..250253b066 --- /dev/null +++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB50d.pdf diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB50e.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB50e.pdf Binary files differnew file mode 100644 index 0000000000..853cc07c53 --- /dev/null +++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB50e.pdf diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB51_30.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB51_30.pdf Binary files differnew file mode 100644 index 0000000000..08e96de617 --- /dev/null +++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB51_30.pdf diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB52.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB52.pdf Binary files differnew file mode 100644 index 0000000000..a14e1a111d --- /dev/null +++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB52.pdf diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB53.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB53.pdf Binary files differnew file mode 100644 index 0000000000..13e4ce3ac3 --- /dev/null +++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB53.pdf diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB54.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB54.pdf Binary files differnew file mode 100644 index 0000000000..ce71fbd4b1 --- /dev/null +++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB54.pdf diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB55.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB55.pdf Binary files differnew file mode 100644 index 0000000000..099108818f --- /dev/null +++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB55.pdf diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB56.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB56.pdf Binary files differnew file mode 100644 index 0000000000..a721b753c2 --- /dev/null +++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB56.pdf diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB57.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB57.pdf Binary files differnew file mode 100644 index 0000000000..f1b433d19b --- /dev/null +++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB57.pdf diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB58.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB58.pdf Binary files differnew file mode 100644 index 0000000000..2f96cdbec4 --- /dev/null +++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB58.pdf diff --git a/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB59.pdf b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB59.pdf Binary files differnew file mode 100644 index 0000000000..02bc961ed8 --- /dev/null +++ b/macros/latex/contrib/panneauxroute/tex/Obligation/PanneauRouteB59.pdf diff --git a/macros/latex/contrib/panneauxroute/tex/PanneauxRoute.sty b/macros/latex/contrib/panneauxroute/tex/PanneauxRoute.sty index 693ad95c67..68021ef148 100644 --- a/macros/latex/contrib/panneauxroute/tex/PanneauxRoute.sty +++ b/macros/latex/contrib/panneauxroute/tex/PanneauxRoute.sty @@ -5,9 +5,10 @@ % : Licence CC BY-SA 3.0 for svg source (http://sig974.free.fr/?p=1520) \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{PanneauxRoute}[2024/09/10 v0.1.1 Panneaux de signalisation fr] +\ProvidesPackage{PanneauxRoute}[2024/09/14 v0.1.2 Panneaux de signalisation fr] %------Historique +% 0.1.2 Ajout des panneaux divers % 0.1.1 Ajout du panneau B14 (80) % 0.1.0 Version initiale @@ -59,8 +60,20 @@ \NewDocumentCommand\prFinRoutePrio{ O{height=1.15cm} }{\AffPanneau[#1]{AB7}} \NewDocumentCommand\prRondPoint{ O{height=1.15cm} }{\AffPanneau[#1]{AB25}} +\NewDocumentCommand\prDosAneTemp{ O{height=1.15cm} }{\AffPanneau[#1]{AK2}} +\NewDocumentCommand\prChaussGlissTemp{ O{height=1.15cm} }{\AffPanneau[#1]{AK4}} +\NewDocumentCommand\prChausRetTemp{ O{height=1.15cm} }{\AffPanneau[#1]{AK3}} +\NewDocumentCommand\prTravauxTemp{ O{height=1.15cm} }{\AffPanneau[#1]{AK5}} +\NewDocumentCommand\prDangerTemp{ O{height=1.15cm} }{\AffPanneau[#1]{AK14}} +\NewDocumentCommand\prFeuxTemp{ O{height=1.15cm} }{\AffPanneau[#1]{AK17}} +\NewDocumentCommand\prGraviersTemp{ O{height=1.15cm} }{\AffPanneau[#1]{AK22}} +\NewDocumentCommand\prBouchonTemp{ O{height=1.15cm} }{\AffPanneau[#1]{AK30}} +\NewDocumentCommand\prAccidentTemp{ O{height=1.15cm} }{\AffPanneau[#1]{AK31}} +\NewDocumentCommand\prBrouillardTemp{ O{height=1.15cm} }{\AffPanneau[#1]{AK32}} + \NewDocumentCommand\prCircInterd{ O{height=1.15cm} }{\AffPanneau[#1]{B0}} \NewDocumentCommand\prSensInterdit{ O{height=1.15cm} }{\AffPanneau[#1]{B1}} +\NewDocumentCommand\prSensInterditJ{ O{height=1.15cm} }{\AffPanneau[#1]{B1j}} \NewDocumentCommand\prInterdTournG{ O{height=1.15cm} }{\AffPanneau[#1]{B2a}} \NewDocumentCommand\prInterdTournD{ O{height=1.15cm} }{\AffPanneau[#1]{B2b}} \NewDocumentCommand\prInterdDemiTour{ O{height=1.15cm} }{\AffPanneau[#1]{B2c}} diff --git a/macros/latex/contrib/panneauxroute/tex/Temporaire/PanneauRouteAK14.pdf b/macros/latex/contrib/panneauxroute/tex/Temporaire/PanneauRouteAK14.pdf Binary files differnew file mode 100644 index 0000000000..8b388c78e4 --- /dev/null +++ b/macros/latex/contrib/panneauxroute/tex/Temporaire/PanneauRouteAK14.pdf diff --git a/macros/latex/contrib/panneauxroute/tex/Temporaire/PanneauRouteAK17.pdf b/macros/latex/contrib/panneauxroute/tex/Temporaire/PanneauRouteAK17.pdf Binary files differnew file mode 100644 index 0000000000..2784549080 --- /dev/null +++ b/macros/latex/contrib/panneauxroute/tex/Temporaire/PanneauRouteAK17.pdf diff --git a/macros/latex/contrib/panneauxroute/tex/Temporaire/PanneauRouteAK2.pdf b/macros/latex/contrib/panneauxroute/tex/Temporaire/PanneauRouteAK2.pdf Binary files differnew file mode 100644 index 0000000000..521f95a618 --- /dev/null +++ b/macros/latex/contrib/panneauxroute/tex/Temporaire/PanneauRouteAK2.pdf diff --git a/macros/latex/contrib/panneauxroute/tex/Temporaire/PanneauRouteAK22.pdf b/macros/latex/contrib/panneauxroute/tex/Temporaire/PanneauRouteAK22.pdf Binary files differnew file mode 100644 index 0000000000..7596e846eb --- /dev/null +++ b/macros/latex/contrib/panneauxroute/tex/Temporaire/PanneauRouteAK22.pdf diff --git a/macros/latex/contrib/panneauxroute/tex/Temporaire/PanneauRouteAK3.pdf b/macros/latex/contrib/panneauxroute/tex/Temporaire/PanneauRouteAK3.pdf Binary files differnew file mode 100644 index 0000000000..3871b514b2 --- /dev/null +++ b/macros/latex/contrib/panneauxroute/tex/Temporaire/PanneauRouteAK3.pdf diff --git a/macros/latex/contrib/panneauxroute/tex/Temporaire/PanneauRouteAK30.pdf b/macros/latex/contrib/panneauxroute/tex/Temporaire/PanneauRouteAK30.pdf Binary files differnew file mode 100644 index 0000000000..2c0aac367a --- /dev/null +++ b/macros/latex/contrib/panneauxroute/tex/Temporaire/PanneauRouteAK30.pdf diff --git a/macros/latex/contrib/panneauxroute/tex/Temporaire/PanneauRouteAK31.pdf b/macros/latex/contrib/panneauxroute/tex/Temporaire/PanneauRouteAK31.pdf Binary files differnew file mode 100644 index 0000000000..18e5e37d90 --- /dev/null +++ b/macros/latex/contrib/panneauxroute/tex/Temporaire/PanneauRouteAK31.pdf diff --git a/macros/latex/contrib/panneauxroute/tex/Temporaire/PanneauRouteAK32.pdf b/macros/latex/contrib/panneauxroute/tex/Temporaire/PanneauRouteAK32.pdf Binary files differnew file mode 100644 index 0000000000..7f59c16d00 --- /dev/null +++ b/macros/latex/contrib/panneauxroute/tex/Temporaire/PanneauRouteAK32.pdf diff --git a/macros/latex/contrib/panneauxroute/tex/Temporaire/PanneauRouteAK4.pdf b/macros/latex/contrib/panneauxroute/tex/Temporaire/PanneauRouteAK4.pdf Binary files differnew file mode 100644 index 0000000000..bcee3bff90 --- /dev/null +++ b/macros/latex/contrib/panneauxroute/tex/Temporaire/PanneauRouteAK4.pdf diff --git a/macros/latex/contrib/panneauxroute/tex/Temporaire/PanneauRouteAK5.pdf b/macros/latex/contrib/panneauxroute/tex/Temporaire/PanneauRouteAK5.pdf Binary files differnew file mode 100644 index 0000000000..236c455af6 --- /dev/null +++ b/macros/latex/contrib/panneauxroute/tex/Temporaire/PanneauRouteAK5.pdf |