diff options
author | Norbert Preining <norbert@preining.info> | 2023-11-15 03:01:12 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2023-11-15 03:01:12 +0000 |
commit | f5460c92605f1b3b17448b27ce53375157c3e4b1 (patch) | |
tree | c02171bfdb42a95c39a65edd35f227ae61c8de72 /macros/latex/contrib/sim-os-menus | |
parent | e20928a0f9f4a7faa8bb21915e761e11e34f04ff (diff) |
CTAN sync 202311150301
Diffstat (limited to 'macros/latex/contrib/sim-os-menus')
-rw-r--r-- | macros/latex/contrib/sim-os-menus/doc/sim-os-menus-doc-fr.pdf | bin | 0 -> 408693 bytes | |||
-rw-r--r-- | macros/latex/contrib/sim-os-menus/doc/sim-os-menus-doc-fr.tex | 365 | ||||
-rw-r--r-- | macros/latex/contrib/sim-os-menus/doc/sim-os-menus-doc.pdf | bin | 399589 -> 399623 bytes | |||
-rw-r--r-- | macros/latex/contrib/sim-os-menus/doc/sim-os-menus-doc.tex | 5 | ||||
-rw-r--r-- | macros/latex/contrib/sim-os-menus/tex/sim-os-menus.sty | 546 |
5 files changed, 805 insertions, 111 deletions
diff --git a/macros/latex/contrib/sim-os-menus/doc/sim-os-menus-doc-fr.pdf b/macros/latex/contrib/sim-os-menus/doc/sim-os-menus-doc-fr.pdf Binary files differnew file mode 100644 index 0000000000..530ec3542d --- /dev/null +++ b/macros/latex/contrib/sim-os-menus/doc/sim-os-menus-doc-fr.pdf diff --git a/macros/latex/contrib/sim-os-menus/doc/sim-os-menus-doc-fr.tex b/macros/latex/contrib/sim-os-menus/doc/sim-os-menus-doc-fr.tex new file mode 100644 index 0000000000..9793f8c7e1 --- /dev/null +++ b/macros/latex/contrib/sim-os-menus/doc/sim-os-menus-doc-fr.tex @@ -0,0 +1,365 @@ +% !TeX TXS-program:compile = txs:///pdflatex + +\documentclass[11pt,a4paper]{ltxdoc} +\usepackage{sim-os-menus} +\usepackage{graphicx} +\usepackage{fancyvrb} +\usepackage{fancyhdr} +\usepackage{hyperref} +\fancyhf{} +\renewcommand{\headrulewidth}{0pt} +%\rhead{\sffamily\small\affloetalab[Legende]} +\lfoot{\sffamily\small [sim-os-menus]} +\rfoot{\sffamily\small - \thepage{} -} +%\rfoot{\hyperlink{matoc}{\small\faArrowAltCircleUp[regular]}} +\usepackage{hologo} +\providecommand\tikzlogo{Ti\textit{k}Z} +\providecommand\TeXLive{\TeX{}Live\xspace} +\providecommand\PSTricks{\textsf{PSTricks}\xspace} +\let\pstricks\PSTricks +\let\TikZ\tikzlogo + +\urlstyle{same} +\hypersetup{pdfborder=0 0 0} +\usepackage[margin=2cm]{geometry} +\setlength{\parindent}{0pt} +\def\TPversion{0.1.1} +\def\TPdate{14/11/2023} +\usepackage{soul} +\sethlcolor{lightgray!25} +\NewDocumentCommand\MontreCode{ m }{% + \hl{\vphantom{\texttt{pf}}\texttt{#1}}% +} +\usepackage[french]{babel} + +\begin{document} + +\pagestyle{fancy} + +\thispagestyle{empty} + +\begin{center} + \begin{minipage}{0.88\linewidth} + \begin{tcolorbox}[colframe=yellow,colback=yellow!15] + \begin{center} + \begin{tabular}{c} + {\Huge \texttt{sim-os-menus [fr]}}\\ + \\ + {\LARGE Présenter un 'terminal', une 'visionneuse'} \\ + {\LARGE ou un 'menu contextuel' comme sur un ordi.} \\ + \\ + {\small \texttt{Version \TPversion{} -- \TPdate}} + \end{tabular} + \end{center} + \end{tcolorbox} +\end{minipage} +\end{center} + +\begin{center} + \begin{tabular}{c} + \texttt{Cédric Pierquet}\\ + {\ttfamily c pierquet -- at -- outlook . fr}\\ + \texttt{\url{https://github.com/cpierquet/sim-os-menus}} \\ +\end{tabular} +\end{center} + +\hrule + +\vfill + +\begin{tcolorbox}[colframe=lightgray,colback=lightgray!5] +\MenuContextuel[Police=\sffamily,ListeSeps={1,3/1/4/1/},ListeDecals={1,2,1,0}]{% + Menu1(>),Menu2,Menu3(>)(*),Menu4 § + SousMenuA(>),SousMenuB(>)(*) § + SousSousMenu1,SousSousMenu2,SousSousMenu3(>)(*),SousSousMenu4,SousSousMenu5(>) § + SSSSMa,SSSSMa(>)(*),SSSSMc § + OK(*),KO +} +\end{tcolorbox} + +\begin{tcolorbox}[colframe=lightgray,colback=lightgray!5] +\begin{TerminalUnix}[largeur=12cm,Align=center]{} +test@DESKTOP:~$ ping -c 2 ctan.org +PING ctan.org (5.35.249.60) 56(84) bytes of data. +\end{TerminalUnix} +\end{tcolorbox} + +\begin{tcolorbox}[colframe=lightgray,colback=lightgray!5] +\begin{VisionnIMG}[Largeur=12cm]{} +\includegraphics[width=5cm]{example-image-b} +\end{VisionnIMG} +\end{tcolorbox} + +\begin{tcolorbox}[colframe=lightgray,colback=lightgray!5] +\begin{TerminalMac}[Largeur=14cm,Align=flush left]{} +[test@server]$ ping -c 2 ctan.org +PING ctan.org (5.35.249.60) 56(84) bytes of data. +\end{TerminalMac} +\end{tcolorbox} + +\vfill~ + +\pagebreak + +\phantomsection + +\hypertarget{matoc}{} + +\tableofcontents + +\vspace*{5mm} + +\hrule + +\vspace*{5mm} + +\section{Introduction} + +\subsection{Description} + +Avec ce packages, il est possible de créer un \og faux \fg{} terminal, ou un \og faux \fg{} menu contextuel, ou encore une \og fausse \fg{} visionneuse, comme sur un écran d'ordinateur ! + +Les styles sont \textit{globalement} fixés, mais quelques personnalisations sont possibles. + +\subsection{Chargement} + +Pour charger le package, il suffit d'ajouter dans le préambule : + +\begin{quote} +\begin{verbatim} +\usepackage{sim-os-menus} +\end{verbatim} +\end{quote} + +Les packages utiles, et chargés sont : + +\begin{itemize} + \item \MontreCode{tikz} (avec \MontreCode{calc,positioning}), \MontreCode{pgf}, \MontreCode{pgffor} ; + \item \MontreCode{calc}, \MontreCode{fontawesome5} ; + \item \MontreCode{simplekv}, \MontreCode{xintexpr}, \MontreCode{listofitems}, \MontreCode{xstring} ; + \item \MontreCode{settobox}, \MontreCode{tabularray} ; + \item \MontreCode{tcolorbox} (avec \MontreCode{breakable,fitting,skins,listings,listingsutf8,hooks}). +\end{itemize} + +\vfill + +\subsection{Historique} + +\begin{quote} +\begin{verbatim} +0.1.1 : Ajout des commandes en [fr] +0.1.0 : Version initiale +\end{verbatim} +\end{quote} + +\pagebreak + +\section{Les commandes disponibles} + +\subsection{Menu contextuel} + +Dans le but de créer un menu contextuel, la commande est : + +\begin{quote} +\begin{verbatim} +%----menu contextuel +\MenuContextuel[clés]{liste des items}<options tikz> +\end{verbatim} +\end{quote} + +Les \textsf{clés}, optionnelles et entre \MontreCode{[...]}, sont : + +\begin{itemize} + \item \MontreCode{CoulFond} := couleur du fond ; + \item \MontreCode{CoulSurlig} : = couleur du surlignage ; + \item \MontreCode{Arrondi} := booléen pour arrondir les coins (\MontreCode{true} par défaut) ; + \item \MontreCode{Police} := police pour les items (\MontreCode{\textbackslash normalsize\textbackslash normalfont} par défaut) ; + \item \MontreCode{CoulItems} := couleur(s) des items (\MontreCode{black} par défaut) ; + \item \MontreCode{MargeV} := marge verticale des lignes (\MontreCode{6pt} par défaut) ; + \item \MontreCode{MargeH} := marge horizontale des lignes (\MontreCode{12pt} par défaut) ; + \item \MontreCode{Fleche} := caractère pour la flèche (\MontreCode{\textbackslash faCaretRight} par défaut) ; + \item \MontreCode{ListeSeps} := liste des éventuels séparateurs (vide ou pour tous les niveaux !) ; + \item \MontreCode{ListeIcones} := liste des éventuelles icones (vide ou pour tous les niveaux/items !) ; + \item \MontreCode{ListeDecals} := liste des éventuels décalages verticaux pour les sous-menus (à partir du n°2, \ldots !) (vide ou pour tous les sous-niveaux !) ; + \item \MontreCode{Icones} := booléen pour afficher les icones (\MontreCode{false} par défaut) ; + \item \MontreCode{Barre} := booléen pour une petite barre verticale après les éventuelles icones small vertical bar with icons (\MontreCode{true} par défaut) ; + \item \MontreCode{Space} := espacement horizontal entre les sous-menus (\MontreCode{-0.125} par défaut). +\end{itemize} + +\medskip + +L'argument obligatoire, entre \MontreCode{\{...\}}, correspond à la liste des items, sous la forme : + +\smallskip + +\hfill\MontreCode{item1A,item1B,... § item2A,itemp2B,... § ...}\hfill~ + +\begin{itemize} + \item si un item se termine par \MontreCode{(*)}, cela correspond au \textit{début} du sous-menu suivant (\underline{un seul} par niveau !) ; + \item si un item se termine par \MontreCode{(>)} (\underline{avant} un éventuel \MontreCode{(*)}), une \textit{flèche} est écrite à la fin de la ligne de l'item. +\end{itemize} + +Une syntaxe correcte est fondamentale pour que le code présente correctement le menu contextuel ! + +\vspace{5mm} + +Quelques conseils, du fait des \textsf{clés sensibles} \MontreCode{ListeIcones}, \MontreCode{ListeDecals} et \MontreCode{ListeSeps} : + +\begin{itemize} + \item \MontreCode{ListeIcones} doit avoir le même nombre d'éléments que le nombre de menus/items (avec des items vides possibles) ; + \item \MontreCode{ListeSeps} doit avoir le même nombre d'éléments que le nombre de niveaux (avec des niveaux vides possibles) ; + \item \MontreCode{ListeDecals} doit avoir le même nombre d'éléments que le nombre de sous-menus (Avec 0 si pas de décalage !). +\end{itemize} + +\begin{tcblisting}{colframe=lightgray,colback=lightgray!5} +%style par défaut +\MenuContextuel{Item1A(>),Item1B,Item1C(>)(*),Item1D § Item2A(*),Item2B(>),Item2C} +\end{tcblisting} + +\begin{tcblisting}{colframe=lightgray,colback=lightgray!5} +%style personnalisé +\MenuContextuel[Arrondi=false,CoulFond=yellow,CoulSurlign=teal,% + ListeSeps={1,3/2},CoulItems={black/white},Icones,Espacement=0,% + ListeIcones={\faCut,\faIcon[regular]{copy},\faCopy,\faPaste / \faNotEqual}] + {Item1A(>)(*),Item1B,Item1C(>),Item1D § Item2A(*),Item2B(>),Item2C} +\end{tcblisting} + +\begin{tcblisting}{colframe=lightgray,colback=lightgray!5} +\MenuContextuel[Police=\sffamily,ListeSeps={1,3/1/4/1/},ListeDecals={1,2,1,0}]{% + Menu1(>),Menu2,Menu3(>)(*),Menu4 § + SousMenuA(>),SousMenuB(>)(*) § + SousSousMenu1,SousSousMenu2,SousSousMenu3(>)(*),SousSousMenu4,SousSousMenu5(>) § + SSSSMa,SSSSMa(>)(*),SSSSMc § + OK(*),KO +} +\end{tcblisting} + +\pagebreak + +\subsection{Terminal} + +Pour créer un \og faux \fg{} terminal (Win/UNiX/Mac), les environnements sont : + +\begin{quote} +\begin{verbatim} +%----Terminal Windows +\begin{TerminalWin}[clés]{options tcbox} + ... +\end{TerminalWin} + +%----Terminal UNiX +\begin{TerminalUnix}[clés]{options tcbox} + ... +\end{TerminalUnix} + +%----Terminal OSX +\begin{TerminalMac}[clés]{options tcbox} + ... +\end{TerminalMac} +\end{verbatim} +\end{quote} + +Les \textsf{clés}, optionnelles et entre \MontreCode{[...]}, sont : + +\begin{itemize} + \item \MontreCode{Titre} := titre du terminal (\MontreCode{Terminal Win/UNiX/Mac} par défaut) ; + \item \MontreCode{Align} := alignement horizontal (paragraphe) du terminal (\MontreCode{center} par défaut) ; + \item \MontreCode{Largeur} := largeur du terminal (\MontreCode{\textbackslash linewidth} par défaut) ; + \item \MontreCode{Icones} := booléen pour afficher des icones (\MontreCode{true} par défaut). +\end{itemize} + +\medskip + +L'argument obligatoire, entre \MontreCode{\{...\}}, correspond à des options spécifiques, à passer à la \textsf{tcolorbox}. + +\begin{tcblisting}{colframe=lightgray,colback=lightgray!5} +\begin{TerminalWin}{} +Microsoft Windows [version 10.0.22000.493] +(c) Microsoft Corporation. Tous droits réservés. +C:\Users\test>ping ctan.org +Envoi d'une requête 'ping' sur ctan.org [5.35.249.60] avec 32 octets de données : +Réponse de 5.35.249.60 : octets=32 temps=35 ms TTL=51 +Réponse de 5.35.249.60 : octets=32 temps=37 ms TTL=51 +Réponse de 5.35.249.60 : octets=32 temps=35 ms TTL=51 +Réponse de 5.35.249.60 : octets=32 temps=39 ms TTL=51 +Statistiques Ping pour 5.35.249.60: +Paquets : envoyés = 4, reçus = 4, perdus = 0 (perte 0%), +Durée approximative des boucles en millisecondes : +Minimum = 35ms, Maximum = 39ms, Moyenne = 36ms +\end{TerminalWin} +\end{tcblisting} + +\begin{tcblisting}{colframe=lightgray,colback=lightgray!5} +\begin{TerminalUnix}[Align=flush right]{hbox} +test@DESKTOP:~$ ping -c 2 ctan.org +PING ctan.org (5.35.249.60) 56(84) bytes of data. +\end{TerminalUnix} +\end{tcblisting} + +\begin{tcblisting}{colframe=lightgray,colback=lightgray!5} +\begin{TerminalMac}[Largeur=14cm,Align=flush left]{} +[test@server]$ ping -c 2 ctan.org +PING ctan.org (5.35.249.60) 56(84) bytes of data. +\end{TerminalMac} +\end{tcblisting} + +\pagebreak + +\subsection{Visionneuses} + +Pour créer une \og fausse\fg{} visionneuse, les environnements sont : + +\begin{quote} +\begin{verbatim} +%----Visionneuse PDF +\begin{VisionnPDF}[clés]{options tcbox} + .... +\end{VisionnPDF} + +%----Visionneuse d'images +\begin{VisionnIMG}[clés]{options tcbox} + .... +\end{VisionnIMG} +\end{verbatim} +\end{quote} + +Les \textsf{clés}, optionnelles et entre \MontreCode{[...]}, sont : + +\begin{itemize} + \item \MontreCode{Titre} := titre du terminal (\MontreCode{Terminal Win/UNiX/Mac} par défaut) ; + \item \MontreCode{Align} := alignement horizontal (paragraphe) de la visionneuse (\MontreCode{center} par défaut) ; + \item \MontreCode{AlignH} := alignement horizontal (du contenu) de la visionneuse (\MontreCode{center} par défaut) ; + \item \MontreCode{Largeur} := largeur de la visionneuse (\MontreCode{\textbackslash linewidth} par défaut) ; + \item \MontreCode{Icones} := booléen pour afficher des icones (\MontreCode{true} par défaut). +\end{itemize} + +\medskip + +L'argument obligatoire, entre \MontreCode{\{...\}}, correspond à des options spécifiques, à passer à la \textsf{tcolorbox}. + +\begin{tcblisting}{colframe=lightgray,colback=lightgray!5} +\begin{VisionnPDF}{hbox} +\fbox{\includegraphics[page=35,width=6cm]{ProfLycee-doc.pdf}}% +\fbox{\includegraphics[page=36,width=6cm]{ProfLycee-doc.pdf}} +\end{VisionnPDF} +\end{tcblisting} + +\begin{tcblisting}{colframe=lightgray,colback=lightgray!5} +\begin{VisionnPDF}[Largeur=14cm,Icones=false]{} +\fbox{\includegraphics[page=65,width=4.75cm]{ProfLycee-doc.pdf}} +\end{VisionnPDF} +\end{tcblisting} + +\begin{tcblisting}{colframe=lightgray,colback=lightgray!5} +\begin{VisionnIMG}[Icones=false]{hbox} +\includegraphics[width=5cm]{example-image-b} +\end{VisionnIMG} +\end{tcblisting} + +\begin{tcblisting}{colframe=lightgray,colback=lightgray!5} +\begin{VisionnIMG}[Largeur=12cm]{} +\includegraphics[width=3cm]{example-image} +\end{VisionnIMG} +\end{tcblisting} + +\end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/sim-os-menus/doc/sim-os-menus-doc.pdf b/macros/latex/contrib/sim-os-menus/doc/sim-os-menus-doc.pdf Binary files differindex d7e7c69c9b..6550a4c0d5 100644 --- a/macros/latex/contrib/sim-os-menus/doc/sim-os-menus-doc.pdf +++ b/macros/latex/contrib/sim-os-menus/doc/sim-os-menus-doc.pdf diff --git a/macros/latex/contrib/sim-os-menus/doc/sim-os-menus-doc.tex b/macros/latex/contrib/sim-os-menus/doc/sim-os-menus-doc.tex index 677a0883c5..229d363700 100644 --- a/macros/latex/contrib/sim-os-menus/doc/sim-os-menus-doc.tex +++ b/macros/latex/contrib/sim-os-menus/doc/sim-os-menus-doc.tex @@ -23,8 +23,8 @@ \hypersetup{pdfborder=0 0 0} \usepackage[margin=2cm]{geometry} \setlength{\parindent}{0pt} -\def\TPversion{0.1.0} -\def\TPdate{13/11/2023} +\def\TPversion{0.1.1} +\def\TPdate{14/11/2023} \usepackage{soul} \sethlcolor{lightgray!25} \NewDocumentCommand\MontreCode{ m }{% @@ -146,6 +146,7 @@ The package loads the packages : \begin{quote} \begin{verbatim} +0.1.1 : French version of the commands 0.1.0 : Initial version \end{verbatim} \end{quote} diff --git a/macros/latex/contrib/sim-os-menus/tex/sim-os-menus.sty b/macros/latex/contrib/sim-os-menus/tex/sim-os-menus.sty index 2271b338d0..01da065abb 100644 --- a/macros/latex/contrib/sim-os-menus/tex/sim-os-menus.sty +++ b/macros/latex/contrib/sim-os-menus/tex/sim-os-menus.sty @@ -2,8 +2,9 @@ % licence : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txtf \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{sim-os-menus}[2023/11/13 0.1.0 Present 'context menu'/'terminal'/'windows', with TikZ or tcolorbox] -%0.1.0 Initial version +\ProvidesPackage{sim-os-menus}[2023/11/14 0.1.1 Present 'context menu'/'terminal'/'windows', with TikZ or tcolorbox (en of fr commands)] +% 0.1.1 French version of the commands +% 0.1.0 Initial version %====PACKAGES \RequirePackage{tikz,pgf,pgffor} @@ -19,10 +20,12 @@ \RequirePackage{tcolorbox} \tcbuselibrary{breakable,fitting,skins,listings,listingsutf8,hooks} -%****CONTEXTMENU**** -%====USEFULL +%====USEFULL DATA +%****CONTEXTMENU \definecolor{ColBackContextMenu}{HTML}{f0f0f0}% \definecolor{ColHLContextMenu}{HTML}{90c8f6}% +\definecolor{CoulFondMenuContext}{HTML}{f0f0f0}% +\definecolor{CoulSurligMenuContext}{HTML}{90c8f6}% \newlength{\ContMenOffsetIcon}\setlength{\ContMenOffsetIcon}{0pt} \newlength{\ContMenOffsetArrow}\setlength{\ContMenOffsetArrow}{1em} \newlength{\ContMenOffsetV}\setlength{\ContMenOffsetV}{6pt} @@ -31,7 +34,100 @@ \newlength{\ContMenHgth}\newlength{\ContMenHgthTmp} \newsavebox{\maboitemenucontext} \newsavebox{\maboitelogomenucontext} +%****TERMINAL +\definecolor{Termmpurple}{RGB}{48,10,36} +\definecolor{Termmgray}{RGB}{70,72,67} +\definecolor{Termogray}{RGB}{148,147,141} +\definecolor{Termoorange}{RGB}{233,101,56} +\definecolor{Termterminal}{RGB}{80,78,70} +\definecolor{Termlinux}{RGB}{0,39,51} +\definecolor{Termwinblue}{HTML}{1883D7} +\definecolor{Termosxgray}{HTML}{D8D6D9} +\definecolor{Termosxgreen}{HTML}{1F8B36} +\tcbset{StyleTermWindows/.style={% + enhanced,boxrule=1pt,arc=1pt,before skip=\baselineskip,after skip=\baselineskip,% + colframe=Termwinblue,colback=black,colbacktitle=white,colupper=white,coltitle=black,% + titlerule=0.4pt,left=2pt,top=2pt,bottom=2pt,right=2pt,middle=2pt,% + fonttitle=\bfseries\small\sffamily + } +} +\newcommand\TermWinComm{% + \begin{tikzpicture}[thick,scale=0.66] + \draw (0,0.5em)--++(1em,0) ; \draw[rounded corners=0.05em] (2em,0) rectangle++ (0.8em,0.8em) ; \draw[rounded corners=0.05em] (2.2em,0.2em) rectangle++ (0.8em,0.8em) ; \draw (4em,1em)--(5em,0) (4em,0)--(5em,1em) ; + \end{tikzpicture}% +} +\newcommand{\TermUbuntuWhite}{% + \begin{tikzpicture}[thick,anchor=base,baseline] + \filldraw[Termmgray] (0,0.25em) circle[radius=0.5em] ; + \end{tikzpicture}% +} +\newcommand{\TermUbuntuMin}{% + \begin{tikzpicture}[thick,anchor=base,baseline] + \filldraw[color=Termogray!50!white] (0,0.25em) circle[radius=0.5em]; + \draw[Termterminal](-0.35em,0.25em)--(0.35em,0.25em); + \end{tikzpicture}% +} +\newcommand{\TermUbuntuClose}{% + \begin{tikzpicture}[thick,anchor=base,baseline] + \filldraw[color=Termoorange!70!white] (0,0.25em) circle[radius=0.5em]; + \draw[Termterminal] (-0.32em,-0.07em)--(0.32em,0.57em); + \draw[Termterminal] (-0.32em,0.57em)--(0.32em,-0.07em); + \end{tikzpicture}% +} +\newcommand{\TermUbuntuMax}{% + \begin{tikzpicture}[thick,anchor=base,baseline] + \filldraw[color=Termogray!50!white] (0,0.25em) circle[radius=0.5em]; + \draw[Termterminal] (-0.32em,0.5em) rectangle (0.32em,0); + \end{tikzpicture}% +} +\tcbset{StyleTermUniX/.style={% + enhanced,boxrule=1pt,arc=4pt,before skip=\baselineskip,after skip=\baselineskip,% + colframe=Termmgray,colback=Termmpurple,colbacktitle=Termmgray,colupper=white,coltitle=white,% + titlerule=0.4pt,left=2pt,top=2pt,bottom=2pt,right=2pt,middle=2pt,% + fonttitle=\bfseries\small\sffamily + } +} +\tcbset{StyleTermOSX/.style={% + enhanced,boxrule=1pt,arc=6pt,before skip=\baselineskip,after skip=\baselineskip,% + colframe=Termosxgray,colback=lightgray!15,colbacktitle=Termosxgray,colupper=black,coltitle=black,% + titlerule=0.4pt,left=2pt,top=2pt,bottom=2pt,right=2pt,middle=2pt,% + fonttitle=\bfseries\small\sffamily + } +} +\newcommand{\TermOSXRed}{% + \begin{tikzpicture}[thick,anchor=base,baseline] + \filldraw[red] (0,0.25em) circle[radius=0.45em] ; + \end{tikzpicture}% +} +\newcommand{\TermOSXOrange}{% + \begin{tikzpicture}[thick,anchor=base,baseline] + \filldraw[orange] (0,0.25em) circle[radius=0.45em] ; + \end{tikzpicture}% +} +\newcommand{\TermOSXgreen}{% + \begin{tikzpicture}[thick,anchor=base,baseline] + \filldraw[Termosxgreen] (0,0.25em) circle[radius=0.45em] ; + \end{tikzpicture}% +} +\newcommand{\TermOSXLG}{% + \begin{tikzpicture}[thick,anchor=base,baseline] + \filldraw[Termosxgray] (0,0.25em) circle[radius=0.45em] ; + \end{tikzpicture}% +} +%****VIEWERS +\tcbset{StylePDFViewer/.style={% + enhanced,boxrule=1pt,arc=6pt,before skip=\baselineskip,after skip=\baselineskip,% + colframe=gray,colback=lightgray!5,colbacktitle=lightgray!15,colupper=black,coltitle=black,titlerule=0.4pt,left=2pt,top=2pt,bottom=2pt,right=2pt,middle=0pt,fonttitle=\bfseries\small\sffamily + } +} +\tcbset{StyleIMGViewer/.style={% + enhanced,boxrule=1pt,arc=6pt,before skip=\baselineskip,after skip=\baselineskip,% + colframe=gray,colback=lightgray!5,colbacktitle=lightgray!15,colupper=black,coltitle=black,titlerule=0.4pt,left=2pt,top=2pt,bottom=2pt,right=2pt,middle=0pt,fonttitle=\bfseries\small\sffamily + } +} +%----[ENGLISH COMMANDS] +%****CONTEXTMENU**** %====KEYS \defKV[ContextMenu]{% ColBack=\def\ContMenColBack{#1},% @@ -252,34 +348,9 @@ } %****TERMINAL**** -%====COLORS -\definecolor{Termmpurple}{RGB}{48,10,36} -\definecolor{Termmgray}{RGB}{70,72,67} -\definecolor{Termogray}{RGB}{148,147,141} -\definecolor{Termoorange}{RGB}{233,101,56} -\definecolor{Termterminal}{RGB}{80,78,70} -\definecolor{Termlinux}{RGB}{0,39,51} -\definecolor{Termwinblue}{HTML}{1883D7} -\definecolor{Termosxgray}{HTML}{D8D6D9} -\definecolor{Termosxgreen}{HTML}{1F8B36} - %====WINDOWS (OK) -\tcbset{StyleTermWindows/.style={% - enhanced,boxrule=1pt,arc=1pt,before skip=\baselineskip,after skip=\baselineskip,% - colframe=Termwinblue,colback=black,colbacktitle=white,colupper=white,coltitle=black,% - titlerule=0.4pt,left=2pt,top=2pt,bottom=2pt,right=2pt,middle=2pt,% - fonttitle=\bfseries\small\sffamily - } -} - \setKVdefault[TERMwin]{Title={Terminal Win},Align={center},Width={\linewidth}} -\newcommand\TermWinComm{% - \begin{tikzpicture}[thick,scale=0.66] - \draw (0,0.5em)--++(1em,0) ; \draw[rounded corners=0.05em] (2em,0) rectangle++ (0.8em,0.8em) ; \draw[rounded corners=0.05em] (2.2em,0.2em) rectangle++ (0.8em,0.8em) ; \draw (4em,1em)--(5em,0) (4em,0)--(5em,1em) ; - \end{tikzpicture}% -} - \newcommand\TermWinTitle{% \begin{tblr}{colsep=0pt,rowsep=0pt,width=\linewidth,colspec={X[l]r}} {\footnotesize\faTerminal}~~\useKV[TERMwin]{Title} & \TermWinComm \\ % @@ -297,39 +368,6 @@ } %====LINUX (OK) -\newcommand{\TermUbuntuWhite}{% - \begin{tikzpicture}[thick,anchor=base,baseline] - \filldraw[Termmgray] (0,0.25em) circle[radius=0.5em] ; - \end{tikzpicture}% -} -\newcommand{\TermUbuntuMin}{% - \begin{tikzpicture}[thick,anchor=base,baseline] - \filldraw[color=Termogray!50!white] (0,0.25em) circle[radius=0.5em]; - \draw[Termterminal](-0.35em,0.25em)--(0.35em,0.25em); - \end{tikzpicture}% -} -\newcommand{\TermUbuntuClose}{% - \begin{tikzpicture}[thick,anchor=base,baseline] - \filldraw[color=Termoorange!70!white] (0,0.25em) circle[radius=0.5em]; - \draw[Termterminal] (-0.32em,-0.07em)--(0.32em,0.57em); - \draw[Termterminal] (-0.32em,0.57em)--(0.32em,-0.07em); - \end{tikzpicture}% -} -\newcommand{\TermUbuntuMax}{% - \begin{tikzpicture}[thick,anchor=base,baseline] - \filldraw[color=Termogray!50!white] (0,0.25em) circle[radius=0.5em]; - \draw[Termterminal] (-0.32em,0.5em) rectangle (0.32em,0); - \end{tikzpicture}% -} - -\tcbset{StyleTermUniX/.style={% - enhanced,boxrule=1pt,arc=4pt,before skip=\baselineskip,after skip=\baselineskip,% - colframe=Termmgray,colback=Termmpurple,colbacktitle=Termmgray,colupper=white,coltitle=white,% - titlerule=0.4pt,left=2pt,top=2pt,bottom=2pt,right=2pt,middle=2pt,% - fonttitle=\bfseries\small\sffamily - } -} - \setKVdefault[TERMnux]{Title={Terminal UNiX},Align={center},Width={\linewidth}} \newcommand\TermNuxTitle{% @@ -348,39 +386,7 @@ \endtcblisting% } -%OSX (OK) -\tcbset{StyleTermOSX/.style={% - enhanced,boxrule=1pt,arc=6pt,before skip=\baselineskip,after skip=\baselineskip,% - colframe=Termosxgray,colback=lightgray!15,colbacktitle=Termosxgray,colupper=black,coltitle=black,% - titlerule=0.4pt,left=2pt,top=2pt,bottom=2pt,right=2pt,middle=2pt,% - fonttitle=\bfseries\small\sffamily - } -} - -\newcommand{\TermOSXRed}{% - \begin{tikzpicture}[thick,anchor=base,baseline] - \filldraw[red] (0,0.25em) circle[radius=0.45em] ; - \end{tikzpicture}% -} - -\newcommand{\TermOSXOrange}{% - \begin{tikzpicture}[thick,anchor=base,baseline] - \filldraw[orange] (0,0.25em) circle[radius=0.45em] ; - \end{tikzpicture}% -} - -\newcommand{\TermOSXgreen}{% - \begin{tikzpicture}[thick,anchor=base,baseline] - \filldraw[Termosxgreen] (0,0.25em) circle[radius=0.45em] ; - \end{tikzpicture}% -} - -\newcommand{\TermOSXLG}{% - \begin{tikzpicture}[thick,anchor=base,baseline] - \filldraw[Termosxgray] (0,0.25em) circle[radius=0.45em] ; - \end{tikzpicture}% -} - +%====OSX (OK) \setKVdefault[TERMosx]{Title={Terminal Mac},Align={center},Width={\linewidth}} \newcommand\TermOSXTitle{% @@ -400,13 +406,7 @@ } %****VIEWERS**** -%PDFVIEWER (OK) -\tcbset{StylePDFViewer/.style={% - enhanced,boxrule=1pt,arc=6pt,before skip=\baselineskip,after skip=\baselineskip,% - colframe=gray,colback=lightgray!5,colbacktitle=lightgray!15,colupper=black,coltitle=black,titlerule=0.4pt,left=2pt,top=2pt,bottom=2pt,right=2pt,middle=0pt,fonttitle=\bfseries\small\sffamily - } -} - +%====PDFVIEWER (OK) \setKVdefault[PDFViewer]{Title={PDF Viewer},Align={center},Width={\linewidth},Halign={center},Icons=true} \NewDocumentCommand\PDFVIewerTitle{ s }{% @@ -433,13 +433,7 @@ \endtcolorbox% } -%IMGVIEWER (OK) -\tcbset{StyleIMGViewer/.style={% - enhanced,boxrule=1pt,arc=6pt,before skip=\baselineskip,after skip=\baselineskip,% - colframe=gray,colback=lightgray!5,colbacktitle=lightgray!15,colupper=black,coltitle=black,titlerule=0.4pt,left=2pt,top=2pt,bottom=2pt,right=2pt,middle=0pt,fonttitle=\bfseries\small\sffamily - } -} - +%====IMGVIEWER (OK) \setKVdefault[IMGViewer]{Title={Image Viewer},Align={center},Width={\linewidth},Halign={center},Icons=true} \NewDocumentCommand\IMGVIewerTitle{ s }{% @@ -466,4 +460,338 @@ \endtcolorbox% } +%----[FRENCH COMMANDS] +%****MENUCONTEXTUEL**** +%====KEYS +\defKV[MenuContext]{% + CoulFond=\def\ContMenColBack{#1},% + CoulSurlig=\def\ContMenColHL{#1},% + Police=\def\ContMenuFonte{#1},% + MargeV=\setlength{\ContMenOffsetV}{#1},% + MargeH=\setlength{\ContMenOffset}{#1}, + Fleche=\def\ContMenArrow{#1},% + ListeSeps=\xdef\ContMenSep{#1},% + ListeIcones=\xdef\ContMenIcons{#1},% + Espacement=\def\ContMenSpace{#1},% + CoulItems=\def\ContMenuColItems{#1},% + ListeDecals=\xdef\ContMenOffsets{#1} +} + +\setKVdefault[MenuContext]{% + CoulFond=CoulFondMenuContext,% + CoulSurlig=CoulSurligMenuContext,% + Arrondi=true,% + Police=\normalsize\normalfont,% + MargeV=6pt,% + MargeH=12pt,% + Fleche=\faCaretRight,% + ListeSeps={},% + ListeIcones={},% + Icones=false,% + Barre=true,% + Espacement=-0.125,% + CoulItems=black,% + ListeDecals={} +} + +%====MACRO +\NewDocumentCommand\MenuContextuel{ O{} m D<>{} }{% + %clés + \useKVdefault[MenuContext]% + \setKV[MenuContext]{#1}% + \setsepchar{§/,}% + \readlist*\DonnesContMenu{#2}% + \IfEq{\ContMenSep}{}% + {}% + { + \setsepchar[.]{/.,}% + \readlist*\LstSepContMenu{\ContMenSep}% + }% + \IfEq{\ContMenIcons}{}% + {}% + { + \setsepchar[.]{/.,}% + \readlist*\LstIconsContMenu{\ContMenIcons}% + }% + \IfEq{\ContMenOffsets}{}% + {}% + { + \setsepchar{,}% + \readlist*\LstOffsetsContMenu{\ContMenOffsets}% + }% + %colors of items + \IfSubStr{\ContMenuColItems}{/}% + {% + \StrCut{\ContMenuColItems}{/}{\ContMenuColItemsE}{\ContMenuColItemsH}% + }% + {% + \xdef\ContMenuColItemsE{\ContMenuColItems}\xdef\ContMenuColItemsH{\ContMenuColItems} + }% + %height of lines + \sbox{\maboitemenucontext}{\ContMenuFonte qSÉ}% + \settoboxtotalheight{\ContMenHgthTmp}{\maboitemenucontext}% + \ifboolKV[MenuContext]{Icones}% + {% + \sbox{\maboitelogomenucontext}{\ContMenuFonte\faCreditCard}% + \settoboxwidth{\ContMenOffsetIcon}{\maboitelogomenucontext}% + }% + {% + \setlength{\ContMenOffsetIcon}{0pt}% + }% + \setlength{\ContMenHgth}{\ContMenHgthTmp+2\ContMenOffsetV}% + %environment + \begin{tikzpicture}[#3] + \ifboolKV[MenuContext]{Arrondi}% + {\tikzset{contextborder/.style={rounded corners=4pt}}}% + {\tikzset{contextborder/.style={}}}% + %--first node + \coordinate (I-1-1) at (0,0) ;% + %--levels one by one-- + \foreach \niv in {1,...,\DonnesContMenulen}{% + \def\nivmun{\inteval{\niv-1}}% + \def\nivpun{\inteval{\niv+1}}% + \itemtomacro\DonnesContMenu[\niv]{\ContMenNivTmp}% + \setsepchar{,}\readlist*\ContMenLstItem{\ContMenNivTmp}% + %left nodes + \coordinate (I-\niv-2) at ($(I-\niv-1)+(0,{-\ContMenHgth})$) ;% + \xintifboolexpr{\ContMenLstItemlen >= 2}% + {% + \foreach \i in {2,...,\ContMenLstItemlen}{% + \xdef\j{\inteval{\i+1}}% + \coordinate (I-\niv-\j) at ($(I-\niv-\i)+(0,{-\ContMenHgth})$) ;% + } + }% + {}% + %width calculus + \itemtomacro\ContMenLstItem[1]{\itemtmp}% + \IfEndWith{\itemtmp}{(*)}{\StrGobbleRight{\itemtmp}{3}[\itemtmp]}{}% + \IfEndWith{\itemtmp}{(>)}{\StrGobbleRight{\itemtmp}{3}[\itemtmp]}{}% + \sbox{\maboitemenucontext}{\pgfinterruptpicture\ContMenuFonte\itemtmp\endpgfinterruptpicture}% + \settoboxwidth{\ContMenWdthTmp}{\maboitemenucontext}% + \xdef\tmplistwidth{\the\ContMenWdthTmp}% + \xintifboolexpr{\ContMenLstItemlen >= 2}%calul des autres si besoin + {% + \foreach \i in {2,...,\ContMenLstItemlen}{% + \itemtomacro\ContMenLstItem[\i]{\itemtmp}% + \IfEndWith{\itemtmp}{(*)}{\StrGobbleRight{\itemtmp}{3}[\itemtmp]}{}% + \IfEndWith{\itemtmp}{(>)}{\StrGobbleRight{\itemtmp}{3}[\itemtmp]}{}% + \sbox{\maboitemenucontext}{\pgfinterruptpicture\ContMenuFonte\itemtmp\endpgfinterruptpicture}% + \settoboxwidth{\ContMenWdthTmp}{\maboitemenucontext}% + \xdef\tmplistwidth{\tmplistwidth,\the\ContMenWdthTmp}% + }% + }% + {}% + \pgfmathsetlength{\ContMenWdth}{max(\tmplistwidth)}% + \setlength{\ContMenWdth}{\ContMenWdth+\ContMenOffsetIcon+2\ContMenOffset+\ContMenOffsetArrow}%calcul de la 1ère largeur + %boxes + \draw[contextborder,draw=none,fill=\ContMenColBack] (I-\niv-1) rectangle++ ({\ContMenWdth},{-\ContMenLstItemlen*\ContMenHgth}) ; + \ifboolKV[MenuContext]{Icones}% + {% + \ifboolKV[MenuContext]{Barre}{\draw[thick,white] ($(I-\niv-1)+({\ContMenOffset+\ContMenOffsetIcon-3pt},{-0.5\ContMenOffsetV})$) --++ (0,{-\ContMenLstItemlen*\ContMenHgth+\ContMenOffsetV}) ;}{}% + }% + {}% + %labels + \foreach \i in {1,...,\ContMenLstItemlen}{% + \itemtomacro\ContMenLstItem[\i]{\itemtmp}% + \IfEndWith{\itemtmp}{(*)}% + {% + \StrGobbleRight{\itemtmp}{3}[\itemtmp]% + %offset si delared ? + + \IfEq{\ContMenOffsets}{}% + {% + \coordinate (I-\nivpun-1) at ($(I-\niv-\i)+({\ContMenWdth+\ContMenSpace\ContMenOffset},{0})$) ; + }% + {% + \xintifboolexpr{\niv < \DonnesContMenulen}% + {% + \itemtomacro\LstOffsetsContMenu[\niv]{\offsettmp}% + \coordinate (I-\nivpun-1) at ($(I-\niv-\i)+({\ContMenWdth+\ContMenSpace\ContMenOffset},{\offsettmp*\ContMenHgth})$) ; + }% + {}% + }% + + \draw[contextborder,draw=none,fill=\ContMenColHL,fill opacity=0.65] ($(I-\niv-\i)+({0.25\ContMenOffset},{-0.5\ContMenOffsetV})$) rectangle++ ({\ContMenWdth-0.5\ContMenOffset},{-\ContMenHgth+\ContMenOffsetV}) ; + %test if char at the end + \IfEndWith{\itemtmp}{(>)}% + {% + \StrGobbleRight{\itemtmp}{3}[\itemtmp]% + \draw ($(I-\niv-\i)+(0,{-0.5*\ContMenHgth})$) node[inner sep=0pt,right={\ContMenOffset+\ContMenOffsetIcon},font=\ContMenuFonte,text=\ContMenuColItemsH] {\itemtmp} ; + \draw ($(I-\niv-\i)+({\ContMenWdth-0.5\ContMenOffset},{-0.5*\ContMenHgth})$) node[inner sep=0pt,left=0.25\ContMenOffset,font=\ContMenuFonte,text=\ContMenuColItemsH] {$\vcenter{\hbox{\ContMenArrow}}$} ; + }% + {% + \draw ($(I-\niv-\i)+(0,{-0.5*\ContMenHgth})$) node[inner sep=0pt,right={\ContMenOffset+\ContMenOffsetIcon},font=\ContMenuFonte,text=\ContMenuColItemsH] {\itemtmp} ; + }% + }% + {% + \IfEndWith{\itemtmp}{(>)}% + {% + \StrGobbleRight{\itemtmp}{3}[\itemtmp]% + \draw ($(I-\niv-\i)+(0,{-0.5*\ContMenHgth})$) node[inner sep=0pt,right={\ContMenOffset+\ContMenOffsetIcon},font=\ContMenuFonte] {\itemtmp} ; + \draw ($(I-\niv-\i)+({\ContMenWdth-0.5\ContMenOffset},{-0.5*\ContMenHgth})$) node[inner sep=0pt,left=0.25\ContMenOffset,font=\ContMenuFonte,text=\ContMenuColItemsE] {$\vcenter{\hbox{\ContMenArrow}}$} ; + }% + {% + \draw ($(I-\niv-\i)+(0,{-0.5*\ContMenHgth})$) node[inner sep=0pt,right={\ContMenOffset+\ContMenOffsetIcon},font=\ContMenuFonte,text=\ContMenuColItemsE] {\itemtmp} ; + }% + }% + }% + %border + \draw[contextborder,thick,\ContMenColBack!75!black] (I-\niv-1) rectangle++ ({\ContMenWdth},{-\ContMenLstItemlen*\ContMenHgth}) ; + %separators + \IfEq{\ContMenSep}{}% + {}% + {% + \itemtomacro\LstSepContMenu[\niv]{\lstsepniv}% + \IfEq{\lstsepniv}{}% + {}% + {% + \setsepchar{,}% + \readlist*\lstsepnivpos{\lstsepniv} + \foreachitem\sep\in\lstsepnivpos{\def\seppun{\inteval{\sep+1}}\draw[thick,\ContMenColBack!75!black] ($(I-\niv-\seppun)+({0.25\ContMenOffset},0)$) --++ ({\ContMenWdth-0.5\ContMenOffset},0) ;}% + }% + }% + %icons + \ifboolKV[MenuContext]{Icones}% + {% + \IfEq{\ContMenIcons}{}% + {}% + {% + \itemtomacro\LstIconsContMenu[\niv]{\lsticonsniv}% + \IfEq{\lsticonsniv}{}% + {}% + {% + \setsepchar{,}% + \readlist*\lsticonsnivpos{\lsticonsniv}% + \foreach \i in {1,...,\lsticonsnivposlen}{% + \itemtomacro\lsticonsnivpos[\i]{\icontmp}% + \itemtomacro\DonnesContMenu[\niv,\i]{\itemtmp}% + \IfEndWith{\itemtmp}{(*)}% + {% + \draw ($(I-\niv-\i)+({0.25\ContMenOffset+0.75\ContMenOffsetIcon},{-0.5*\ContMenHgth})$) node[scale=0.9,inner sep=0pt,font=\ContMenuFonte,text=\ContMenuColItemsH] {$\vcenter{\hbox{\icontmp}}$} ; + }% + {% + \draw ($(I-\niv-\i)+({0.25\ContMenOffset+0.75\ContMenOffsetIcon},{-0.5*\ContMenHgth})$) node[scale=0.9,inner sep=0pt,font=\ContMenuFonte,text=\ContMenuColItemsE] {$\vcenter{\hbox{\icontmp}}$} ; + }% + }% + }% + }% + }% + {}% + }% + \end{tikzpicture} +} + +%****TERMINAL**** +%====WINDOWS (OK) +\setKVdefault[TERMINALwin]{Titre={Terminal Win},Align={center},Largeur={\linewidth}} + +\newcommand\TerminalWinTitle{% + \begin{tblr}{colsep=0pt,rowsep=0pt,width=\linewidth,colspec={X[l]r}} + {\footnotesize\faTerminal}~~\useKV[TERMINALwin]{Titre} & \TermWinComm \\ % + \end{tblr} +} + +\NewDocumentEnvironment{TerminalWin}{ O{} m } +{% + \restoreKV[TERMINALwin]% + \setKV[TERMINALwin]{#1}% + \tcblisting{StyleTermWindows,{\useKV[TERMINALwin]{Align}},title={\TerminalWinTitle},listing only,listing engine=listings,listing options={style=tcblatex,language={},basicstyle=\footnotesize\ttfamily},width={\useKV[TERMINALwin]{Largeur}},#2} +}% +{% + \endtcblisting% +} + +%====LINUX (OK) +\setKVdefault[TERMINALnux]{Titre={Terminal UNiX},Align={center},Largeur={\linewidth}} + +\newcommand\TerminalNuxTitle{% + \begin{tblr}{colsep=0pt,rowsep=0pt,width=\linewidth,colspec={lX[c]r}} + \TermUbuntuWhite~~\TermUbuntuWhite~~\TermUbuntuWhite & \vphantom{p}\useKV[TERMINALnux]{Titre} & \TermUbuntuMin~~\TermUbuntuMax~~\TermUbuntuClose \\ + \end{tblr} +} + +\NewDocumentEnvironment{TerminalUnix}{ O{} m } +{% + \restoreKV[TERMINALnux]% + \setKV[TERMINALnux]{#1}% + \tcblisting{StyleTermUniX,{\useKV[TERMINALnux]{Align}},title={\TerminalNuxTitle},listing only,listing engine=listings,listing options={style=tcblatex,language={},basicstyle=\footnotesize\ttfamily},width={\useKV[TERMINALnux]{Largeur}},#2} +}% +{% + \endtcblisting% +} + +%====OSX (OK) +\setKVdefault[TERMINALosx]{Titre={Terminal Mac},Align={center},Largeur={\linewidth}} + +\newcommand\TerminalOSXTitle{% + \begin{tblr}{colsep=0pt,rowsep=0pt,width=\linewidth,colspec={lX[c]r}} + \TermOSXRed~\TermOSXOrange~\TermOSXgreen & \vphantom{p}\useKV[TERMINALosx]{Titre} & \TermOSXLG~\TermOSXLG~\TermOSXLG \\ + \end{tblr} +} + +\NewDocumentEnvironment{TerminalMac}{ O{} m } +{% + \restoreKV[TERMINALosx]% + \setKV[TERMINALosx]{#1}% + \tcblisting{StyleTermOSX,{\useKV[TERMINALosx]{Align}},title={\TerminalOSXTitle},listing only,listing engine=listings,listing options={style=tcblatex,language={},basicstyle=\footnotesize\ttfamily},width={\useKV[TERMINALosx]{Largeur}},#2} +}% +{% + \endtcblisting% +} + +%****VISIONNEUSES**** +%====PDFVIEWER (OK) +\setKVdefault[PDFVisionn]{Titre={Visionneuse PDF},Align={center},Largeur={\linewidth},AlignH={center},Icones=true} + +\NewDocumentCommand\PDFVIewerTitre{ s }{% + \IfBooleanTF{#1}% + {% + \begin{tblr}{colsep=4pt,rowsep=0pt,width=\linewidth,colspec={l|[1pt]X[c]|[1pt]c},cells={font=\footnotesize}} + \vphantom{p}\useKV[PDFVisionn]{Titre} && \faIcon[regular]{file-pdf} \\ + \end{tblr} + }% + {% + \begin{tblr}{colsep=4pt,rowsep=0pt,width=\linewidth,colspec={l|[1pt]l|[1pt]l|[1pt]l|[1pt]X[c]|[1pt]c},cells={font=\footnotesize}} + \vphantom{p}\useKV[PDFVisionn]{Titre} & \faIcon[regular]{folder}~~\faPrint~~\faIcon{pencil-alt} & \faArrowLeft~~\faArrowRight & \faExpand~~\faIcon{expand-alt}~~\faIcon{expand-arrows-alt}&&\faIcon[regular]{file-pdf} \\ + \end{tblr} + }% +} + +\NewDocumentEnvironment{VisionnPDF}{ O{} m } +{% + \restoreKV[PDFVisionn]% + \setKV[PDFVisionn]{#1}% + \tcolorbox[StylePDFViewer,{\useKV[PDFVisionn]{Align}},title={\ifboolKV[PDFVisionn]{Icones}{\PDFVIewerTitre}{\PDFVIewerTitre*}},width={\useKV[PDFVisionn]{Largeur}},halign={\useKV[PDFVisionn]{AlignH}},#2] +}% +{% + \endtcolorbox% +} + +%====IMGVIEWER (OK) +\setKVdefault[IMGVisionn]{Titre={Visionneuse d'images},Align={center},Largeur={\linewidth},AlignH={center},Icones=true} + +\NewDocumentCommand\IMGVIewerTitre{ s }{% + \IfBooleanTF{#1}% + {% + \begin{tblr}{colsep=4pt,rowsep=0pt,width=\linewidth,colspec={l|[1pt]X[c]|[1pt]c},cells={font=\footnotesize}} + \vphantom{p}\useKV[IMGVisionn]{Titre} && \faIcon[regular]{file-image} \\ + \end{tblr} + }% + {% + \begin{tblr}{colsep=4pt,rowsep=0pt,width=\linewidth,colspec={l|[1pt]l|[1pt]l|[1pt]l|[1pt]X[c]|[1pt]c},cells={font=\footnotesize}} + \vphantom{p}\useKV[IMGVisionn]{Titre} & \faIcon[regular]{folder}~~\faPrint~~\faPen~~\faFillDrip~~\faBorderNone& \faArrowLeft~~\faArrowRight & \faExpand~~\faIcon{expand-alt}~~\faIcon{expand-arrows-alt}&&\faIcon[regular]{file-image} \\ + \end{tblr} + }% +} + +\NewDocumentEnvironment{VisionnIMG}{ O{} m } +{% + \restoreKV[IMGVisionn]% + \setKV[IMGVisionn]{#1}% + \tcolorbox[StyleIMGViewer,{\useKV[IMGVisionn]{Align}},title={\ifboolKV[IMGVisionn]{Icones}{\IMGVIewerTitre}{\IMGVIewerTitre*}},width={\useKV[IMGVisionn]{Largeur}},halign={\useKV[IMGVisionn]{AlignH}},#2] +}% +{% + \endtcolorbox% +} + \endinput
\ No newline at end of file |