diff options
author | Karl Berry <karl@freefriends.org> | 2023-03-20 18:50:05 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2023-03-20 18:50:05 +0000 |
commit | 709de17c09855f295e375b2b17e8cc433744fe41 (patch) | |
tree | 6c5096209e98348f2ef2fae15dba5088acc8ce65 /Master | |
parent | 546b2d038d40eec22cb5642f6c6ecc5708d491f2 (diff) |
writeongrid (19mar23)
git-svn-id: svn://tug.org/texlive/trunk@66603 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-en.pdf | bin | 458337 -> 463835 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-en.tex | 69 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-fr.pdf | bin | 572738 -> 578577 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-fr.tex | 68 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/writeongrid/WriteOnGrid.sty | 139 |
5 files changed, 261 insertions, 15 deletions
diff --git a/Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-en.pdf b/Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-en.pdf Binary files differindex 113d469a382..ea99e67782e 100644 --- a/Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-en.pdf +++ b/Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-en.pdf diff --git a/Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-en.tex b/Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-en.tex index 739738cd0fc..43d5f7ec150 100644 --- a/Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-en.tex +++ b/Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-en.tex @@ -45,8 +45,8 @@ \setlength{\parindent}{0pt} \definecolor{LightGray}{gray}{0.9} -\def\TPversion{0.1.2} -\def\TPdate{30/01/2023} +\def\TPversion{0.1.3} +\def\TPdate{18/03/2023} \usepackage[most]{tcolorbox} \tcbuselibrary{minted} @@ -242,7 +242,65 @@ The package \textsf{WriteOnGrid} proposes "shortcuts" for classic colors ! \section{Commands, keys and options} -\subsection{The environement} +\subsection{The command} + +\begin{PresentationCode}{listing only} +%command, with keys to prepare the grid + +\DispGrid[keys]<color> +\end{PresentationCode} + +The first argument, \textit{optional}, between \texttt{[...]} give the \Cle{keys} : + +\begin{itemize} + \item \Cle{NumSquares} to specify the size of the grid, under \texttt{(nbCol)x(nbRow)} ; \hfill~default : \Cle{17x5} + \item \Cle{Unit} to specify the scale of the grid ; \hfill~default : \Cle{1} + \item \Cle{Margin} to specify the global \textcolor{orange}{margin} at the beginning of the lines ; \hfill~default : \Cle{0} + \item the boolean \Cle{DispBar} to display or not the bar ; \hfill~défaut : \Cle{true} + \item \Cle{Enlarge} to specify the squares-overtakings, globally with \texttt{\textcolor{red}{L}\textcolor{blue}{R}} or side by side with \texttt{\textcolor{red}{L}/\textcolor{blue}{R}} ;\hfill~default : \Cle{0} + \item the boolean \Cle{Border} to display the basis border of the grid ;\hfill~default : \Cle{false} + \item the key\Cle{Grille}, from \Cle{5x5/Seyes/Ruled}, to specify the grid's type.\hfill~défaut : \Cle{5x5} +\end{itemize} + +The second argument, \textit{optional}, between \texttt{<...>} is the color(s) of the grid : + +\begin{itemize} + \item by \Cle{Color} (\Cle{lightgray!50} by default) for $5\times5$ ; + \item by \Cle{ColorA/ColorB} (\Cle{lightgray!50/lightgray!25} by default) for Seyes or Ruled. +\end{itemize} + +\medskip + +\begin{PresentationCode}{listing only} +%18x4 big squares, w/o overtaking, Seyes colors, w/o margin/bar +\DispGrid[NumSquares=18x4,Grid=Seyes,DispBar=false]<\ColSeyes> + +%36x8 small squares, overtakings 3/3, LightSteelBlue color +\DispGrid[NumSquares=36x8,Enlarge=3/3]<LightSteelBlue> + +%12x3 lines "Ruled", w/o overtakins, Ruled colors, centered, with 2-margin +\begin{center} + \DispGrid[NumSquares=12x3,Grid=Ruled,Margin=2]<\ColRuled> +\end{center} +\end{PresentationCode} + +\medskip + +\DispGrid[NumSquares=18x4,Grid=Seyes,DispBar=false]<\ColSeyes> + +\medskip + +\DispGrid[NumSquares=36x8,Enlarge=3/3]<LightSteelBlue> + +\smallskip + +\begin{center} + \DispGrid[NumSquares=12x3,Grid=Ruled,Margin=2]<\ColRuled> +\end{center} + +\pagebreak + +\subsection{The environment} \begin{PresentationCode}{listing only} %environment, with keys to prepare the grid @@ -258,6 +316,7 @@ The first argument, \textit{optional}, between \texttt{[...]} give the \Cle{keys \item \Cle{NumSquares} to specify the size of the grid, under \texttt{(nbCol)x(nbRow)} ; \hfill~default : \Cle{17x5} \item \Cle{Unit} to specify the scale of the grid ; \hfill~default : \Cle{1} \item \Cle{Margin} to specify the global \textcolor{orange}{margin} at the beginning of the lines ; \hfill~default : \Cle{0} + \item the boolean \Cle{DispBar} to display or not the bar ; \hfill~défaut : \Cle{true} \item \Cle{Enlarge} to specify the squares-overtakings, globally with \texttt{\textcolor{red}{L}\textcolor{blue}{R}} or side by side with \texttt{\textcolor{red}{L}/\textcolor{blue}{R}} ;\hfill~default : \Cle{0} \item the boolean \Cle{Border} to display the basis border of the grid ;\hfill~default : \Cle{false} \item the key\Cle{Grille}, from \Cle{5x5/Seyes/Ruled}, to specify the grid's type.\hfill~défaut : \Cle{5x5} @@ -309,7 +368,7 @@ The second argument, \textit{optional}, between \texttt{<...>} is the color(s) o \subsection{Write on the lines} -The idea is to write on the created grid. In order to write \textit{right} on the lines, we can : +The idea is to write on the created grid (environment !). In order to write \textit{right} on the lines, we can : \begin{itemize} \item give the lines one by one ; @@ -429,6 +488,8 @@ To sum up, they create full paper grid (by preference for \texttt{\textbf{a4pape \part*{History} +\verb|v0.1.3|~:~~~~Command to display a grid (w/o writing on it) + \verb|v0.1.2|~:~~~~Shortcuts for default colors + small bugfixes \verb|v0.1.1|~:~~~~Best color choice diff --git a/Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-fr.pdf b/Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-fr.pdf Binary files differindex add86999224..192f3003b07 100644 --- a/Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-fr.pdf +++ b/Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-fr.pdf diff --git a/Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-fr.tex b/Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-fr.tex index 6ed93fa2695..9de5e053b8d 100644 --- a/Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-fr.tex +++ b/Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-fr.tex @@ -48,8 +48,8 @@ \setlength{\parindent}{0pt} \definecolor{LightGray}{gray}{0.9} -\def\TPversion{0.1.2} -\def\TPdate{30 Janvier 2023} +\def\TPversion{0.1.3} +\def\TPdate{18 Mars 2023} \usepackage[most]{tcolorbox} \tcbuselibrary{minted} @@ -254,6 +254,65 @@ Le package \textsf{WriteOnGrid} définit également des couleurs pour une saisie \section{Grilles individuelles} +\subsection{La commande} + +\begin{PresentationCode}{listing only} +%commande francisée, avec clés en français pour préparer la grille + +\AffQuadrillage[clés]<couleur(s)> +\end{PresentationCode} + +Le premier argument, \textit{optionnel}, entre \texttt{[...]} propose les \Cle{clés} : + +\begin{itemize} + \item \Cle{NbCarreaux} pour spécifier le nombre de carreaux, sous la forme \texttt{(nbCol)x(nbLig)} ; \hfill~défaut : \Cle{17x5} + \item \Cle{Unite} pour spécifier l'échelle de la figure ; \hfill~défaut : \Cle{1} + \item \Cle{Marge} pour spécifier la \textcolor{orange}{marge} du début des lignes ; \hfill~défaut : \Cle{0} + \item le booléen \Cle{AffBarre} pour afficher ou non la marge ; \hfill~défaut : \Cle{true} + \item \Cle{Elargir} pour préciser les carreaux de débordements, sous la forme unique \texttt{\textcolor{red}{G}\textcolor{blue}{D}} ou par côté \texttt{\textcolor{red}{G}/\textcolor{blue}{D}} ;\hfill~défaut : \Cle{0} + \item le booléen \Cle{Cadre} pour afficher le cadre de base du quadrillage ;\hfill~défaut : \Cle{false} + \item la clé \Cle{Grille}, parmi \Cle{5x5 / Seyes / Ruled}, pour spécifier le type de quadrillage ;\hfill~défaut : \Cle{5x5} + \item la clé \Cle{CouleurBarreSeyes} pour rajouter un trait vertical pour le papier Seyes .\hfill~défaut : \Cle{red!75} +\end{itemize} + +Le second argument, \textit{optionnel}, entre \texttt{<...>} correspond quant à lui à la couleur de base du quadrillage : + +\begin{itemize} + \item sous la forme \Cle{Couleur} (\Cle{lightgray!50} par défaut) pour le quadrillage $5\times5$ ; + \item sous la forme \Cle{CouleurP/CouleurS} (\Cle{lightgray!50/lightgray!25} par défaut) pour le Seyes ou le Ruled. +\end{itemize} + +\medskip + +\begin{PresentationCode}{listing only} +%des cadres ont été rajoutés pour la sortie + +%18x4 grands carreaux, sans dépassement, couleurs adaptées, sans marge/barre +\AffQuadrillage[NbCarreaux=18x4,Grille=Seyes,AffBarre=false]<\CoulSeyes> + +%36x8 petits carreaux, avec débordements 3/3, couleur LightSteelBlue!50 +\AffQuadrillage[NbCarreaux=36x8,Elargir=3/3]<LightSteelBlue!50> + +%12x3 lignes "Ruled", sans débordements, couleur Ruled, centré, avec marge +\begin{center} + \AffQuadrillage[NbCarreaux=12x3,Elargir=2/2,Grille=Ruled,Marge=2]<\CoulRuled> +\end{center} +\end{PresentationCode} + +\medskip + +\AffQuadrillage[NbCarreaux=18x4,Grille=Seyes,AffBarre=false]<\CoulSeyes> + +\medskip + +\AffQuadrillage[NbCarreaux=36x8,Elargir=3/3]<LightSteelBlue!50> + +\begin{center} + \AffQuadrillage[NbCarreaux=12x3,Elargir=2/2,Grille=Ruled,Marge=2]<\CoulRuled> +\end{center} + +\pagebreak + \subsection{L'environnement} \begin{PresentationCode}{listing only} @@ -270,6 +329,7 @@ Le premier argument, \textit{optionnel}, entre \texttt{[...]} propose les \Cle{c \item \Cle{NbCarreaux} pour spécifier le nombre de carreaux, sous la forme \texttt{(nbCol)x(nbLig)} ; \hfill~défaut : \Cle{17x5} \item \Cle{Unite} pour spécifier l'échelle de la figure ; \hfill~défaut : \Cle{1} \item \Cle{Marge} pour spécifier la \textcolor{orange}{marge} du début des lignes ; \hfill~défaut : \Cle{0} + \item le booléen \Cle{AffBarre} pour afficher ou non la marge ; \hfill~défaut : \Cle{true} \item \Cle{Elargir} pour préciser les carreaux de débordements, sous la forme unique \texttt{\textcolor{red}{G}\textcolor{blue}{D}} ou par côté \texttt{\textcolor{red}{G}/\textcolor{blue}{D}} ;\hfill~défaut : \Cle{0} \item le booléen \Cle{Cadre} pour afficher le cadre de base du quadrillage ;\hfill~défaut : \Cle{false} \item la clé \Cle{Grille}, parmi \Cle{5x5 / Seyes / Ruled}, pour spécifier le type de quadrillage ;\hfill~défaut : \Cle{5x5} @@ -322,7 +382,7 @@ Le second argument, \textit{optionnel}, entre \texttt{<...>} correspond quant à \subsection{Écrire sur les lignes} -L'idée est maintenant de pouvoir écrire sur les lignes du quadrillage créé, et pour garantir le fait d'écrire \textit{pile} sur le ligne, on applique les recommandations suivantes : +L'idée est maintenant de pouvoir écrire sur les lignes du quadrillage créé (environnement !), et pour garantir le fait d'écrire \textit{pile} sur le ligne, on applique les recommandations suivantes : \begin{itemize} \item les lignes doivent être saisies une par une, du \og haut \fg{} vers le \og bas \fg{} ; @@ -692,6 +752,8 @@ Les exemples des pages suivantes ont été obtenus de la même manière que celu \section{Historique} +\verb|v0.1.3|~:~~~~Ajout d'une commande pour afficher (sans écrire dessus) une grille + \verb|v0.1.2|~:~~~~Ajustement au niveau des couleurs + raccourcis couleurs par défaut \verb|v0.1.1|~:~~~~Meilleure gestion des couleurs du quadrillage + Ajout pages complètes diff --git a/Master/texmf-dist/tex/latex/writeongrid/WriteOnGrid.sty b/Master/texmf-dist/tex/latex/writeongrid/WriteOnGrid.sty index d0b82ea5c14..3936233bff1 100644 --- a/Master/texmf-dist/tex/latex/writeongrid/WriteOnGrid.sty +++ b/Master/texmf-dist/tex/latex/writeongrid/WriteOnGrid.sty @@ -2,7 +2,8 @@ % licence : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txtf \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{WriteOnGrid}[2023/01/30 v0.1.2 package to write on grid lines] +\ProvidesPackage{WriteOnGrid}[2023/03/18 v0.1.3 package to write on grid lines] +% 0.1.3 Ajout de commandes simples pour des mini-quadrillages autonomes, sans texte % 0.1.2 Modification locale des couleurs + raccourcis couleurs Seyes / Ruled % 0.1.1 Ajout de la couleur + modifications mineures + grille "Ruled" + grilles pleine page ! % 0.1.0 Version initiale [fr] & [en] @@ -37,12 +38,15 @@ \node[text width=\fpeval{\ValeurCarreau*\QuadNbCol/\QuadEchelle-\ValeurCarreau*\useKV[Quadrill]{Marge}/\QuadEchelle}cm,align=#2,scale=\QuadEchelle,anchor=base west,inner sep={\useKV[LigneQuadrill]{Sep}}] at ($({\ValeurCarreau*\useKV[Quadrill]{Marge}+\ValeurCarreau*\useKV[LigneQuadrill]{DecalH}},{-\ValeurCarreau*\thelgquadri})+(0.025,\useKV[LigneQuadrill]{DecalV})$) {\strut #3} ; } +%déf des clés + \defKV[Quadrill]{% Grille=\xdef\QuadType{#1},% NbCarreaux=\xdef\QuadNbCar{#1},% Elargir=\xdef\QuadElar{#1},% CouleurBarreSeyes=\xdef\QuadCoulSeyes{#1} - }%déf des clés +} + \setKVdefault[Quadrill]{% NbCarreaux=17x5,% Unite=1,% @@ -50,8 +54,62 @@ Elargir=0,% Cadre=false,% Grille=5x5,% + AffBarre=true,% CouleurBarreSeyes={red!75} - } +} + +\NewDocumentCommand\AffQuadrillage{ O{} D<>{lightgray!50/lightgray!25} }{%affichage simple du quadrillage + \setcounter{lgquadri}{0}%on réinitialise les lignes + \useKVdefault[Quadrill]%on met les clés par défaut + \setKV[Quadrill]{#1}%on lit les clés + \IfSubStr{#2}{/}%on récupère les couleurs + {\StrCut{#2}{/}{\QuadCoulA}{\QuadCoulB}} + {\def\QuadCoulA{#2}\def\QuadCoulB{#2}}% + \StrCut{\QuadNbCar}{x}{\QuadNbCol}{\QuadNbLig}% + \IfStrEq{\QuadType}{Seyes}%les types de quadrillages + {\xdef\ValeurCarreau{0.8}}% + {}% + \IfStrEq{\QuadType}{5x5}% + {\xdef\ValeurCarreau{0.5}}% + {}% + \IfStrEq{\QuadType}{Ruled}% + {\xdef\ValeurCarreau{0.9}}% + {}% + \IfSubStr{\QuadElar}{/}%on récupère les élargissements G et D + {\StrCut{\QuadElar}{/}{\QuadElarG}{\QuadElarD}}% + {\def\QuadElarG{\QuadElar}\def\QuadElarD{\QuadElar}}% + \begin{tikzpicture}[xscale={\useKV[Quadrill]{Unite}},yscale={\useKV[Quadrill]{Unite}}] + \useasboundingbox (0,0) rectangle ({\ValeurCarreau*\QuadNbCol},{-\ValeurCarreau*\QuadNbLig}) ;%on fixe la grille de base, avant élargissement éventuel + \IfStrEq{\QuadType}{Seyes}% + {% + \draw[xstep=0.8,ystep=0.2,thin,\QuadCoulB] ({-\ValeurCarreau*\QuadElarG},0) grid ({\ValeurCarreau*\QuadNbCol+\ValeurCarreau*\QuadElarD},{-\ValeurCarreau*\QuadNbLig}) ;%grille seyes + \draw[xstep=0.8,ystep=0.8,\QuadCoulA] ({-\ValeurCarreau*\QuadElarG},0) grid ({\ValeurCarreau*\QuadNbCol+\ValeurCarreau*\QuadElarD},{-\ValeurCarreau*\QuadNbLig}) ;%grille seyes + \ifboolKV[Quadrill]{AffBarre} + { + \draw[thick,\QuadCoulSeyes] ({\ValeurCarreau*\useKV[Quadrill]{Marge}},0) -- ({\ValeurCarreau*\useKV[Quadrill]{Marge}},{-\ValeurCarreau*\QuadNbLig}) ;%barre Seyes + }{} + }% + {}% + \IfStrEq{\QuadType}{5x5}% + {% + \draw[xstep=0.5,ystep=0.5,thin,\QuadCoulA] ({-\ValeurCarreau*\QuadElarG},0) grid ({\ValeurCarreau*\QuadNbCol+\ValeurCarreau*\QuadElarD},{-\ValeurCarreau*\QuadNbLig}) ;%grille 5x5 + }% + {}% + \IfStrEq{\QuadType}{Ruled}% + {% + \foreach \LLL in {0,1,...,\QuadNbLig} {\draw[,thin,\QuadCoulA] ({-\ValeurCarreau*\QuadElarG},{-\LLL*\ValeurCarreau}) -- ({\ValeurCarreau*\QuadNbCol+\ValeurCarreau*\QuadElarD},{-\ValeurCarreau*\LLL}) ; } + %\draw[xstep={\ValeurCarreau*\QuadNbCol},ystep=0.9,thin,\QuadCoulA] ({-\ValeurCarreau*\QuadElarG},0) grid ({\ValeurCarreau*\QuadNbCol+\ValeurCarreau*\QuadElarD},{-\ValeurCarreau*\QuadNbLig}) ;%grille college + \ifboolKV[Quadrill]{AffBarre} + { + \draw[thick,\QuadCoulB] ({\ValeurCarreau*\useKV[Quadrill]{Marge}},0) -- ({\ValeurCarreau*\useKV[Quadrill]{Marge}},{-\ValeurCarreau*\QuadNbLig}) ;%barre college + }{} + }% + {}% + \ifboolKV[Quadrill]{Cadre}%cadre pour visualiser la "marge" (officielle) + {\draw[thick] (0,0) rectangle ({\ValeurCarreau*\QuadNbCol},{-\ValeurCarreau*\QuadNbLig}) ;}% + {}% + \end{tikzpicture}% +} \NewDocumentEnvironment{EnvQuadrillage}{ O{} D<>{lightgray!50/lightgray!25} }%créer le quadrillage, couleurs ? {% @@ -80,7 +138,10 @@ {% \draw[xstep=0.8,ystep=0.2,thin,\QuadCoulB] ({-\ValeurCarreau*\QuadElarG},0) grid ({\ValeurCarreau*\QuadNbCol+\ValeurCarreau*\QuadElarD},{-\ValeurCarreau*\QuadNbLig}) ;%grille seyes \draw[xstep=0.8,ystep=0.8,\QuadCoulA] ({-\ValeurCarreau*\QuadElarG},0) grid ({\ValeurCarreau*\QuadNbCol+\ValeurCarreau*\QuadElarD},{-\ValeurCarreau*\QuadNbLig}) ;%grille seyes - \draw[thick,\QuadCoulSeyes] ({\ValeurCarreau*\useKV[Quadrill]{Marge}},0) -- ({\ValeurCarreau*\useKV[Quadrill]{Marge}},{-\ValeurCarreau*\QuadNbLig}) ;%barre Seyes + \ifboolKV[Quadrill]{AffBarre} + { + \draw[thick,\QuadCoulSeyes] ({\ValeurCarreau*\useKV[Quadrill]{Marge}},0) -- ({\ValeurCarreau*\useKV[Quadrill]{Marge}},{-\ValeurCarreau*\QuadNbLig}) ;%barre Seyes + }{} }% {}% \IfStrEq{\QuadType}{5x5}% @@ -92,7 +153,10 @@ {% \foreach \LLL in {0,1,...,\QuadNbLig} {\draw[,thin,\QuadCoulA] ({-\ValeurCarreau*\QuadElarG},{-\LLL*\ValeurCarreau}) -- ({\ValeurCarreau*\QuadNbCol+\ValeurCarreau*\QuadElarD},{-\ValeurCarreau*\LLL}) ; } %\draw[xstep={\ValeurCarreau*\QuadNbCol},ystep=0.9,thin,\QuadCoulA] ({-\ValeurCarreau*\QuadElarG},0) grid ({\ValeurCarreau*\QuadNbCol+\ValeurCarreau*\QuadElarD},{-\ValeurCarreau*\QuadNbLig}) ;%grille college - \draw[thick,\QuadCoulB] ({\ValeurCarreau*\useKV[Quadrill]{Marge}},0) -- ({\ValeurCarreau*\useKV[Quadrill]{Marge}},{-\ValeurCarreau*\QuadNbLig}) ;%barre college + \ifboolKV[Quadrill]{AffBarre} + { + \draw[thick,\QuadCoulB] ({\ValeurCarreau*\useKV[Quadrill]{Marge}},0) -- ({\ValeurCarreau*\useKV[Quadrill]{Marge}},{-\ValeurCarreau*\QuadNbLig}) ;%barre college + }{} }% {}% \ifboolKV[Quadrill]{Cadre}%cadre pour visualiser la "marge" (officielle) @@ -117,7 +181,60 @@ } \defKV[Quadril]{Grid=\xdef\QuadType{#1},NumSquares=\xdef\QuadNbCar{#1},Enlarge=\xdef\QuadElar{#1}}%déf des clés -\setKVdefault[Quadril]{Grid=5x5,NumSquares=17x5,Unit=1,Margin=0,Enlarge=0,Border=false}%valeurs par défaut +\setKVdefault[Quadril]{Grid=5x5,NumSquares=17x5,Unit=1,Margin=0,Enlarge=0,Border=false,DispBar=true}%valeurs par défaut + +\NewDocumentCommand\DispGrid{ O{} D<>{lightgray!50/lightgray!25} }{%créer le quadrillage + \setcounter{lgquadri}{0}%on réinitialise les lignes + \useKVdefault[Quadril]%on met les clés par défaut + \setKV[Quadril]{#1}%on lit les clés + \IfSubStr{#2}{/}%on récupère les couleurs + {\StrCut{#2}{/}{\QuadCoulA}{\QuadCoulB}} + {\def\QuadCoulA{#2}\def\QuadCoulB{#2}}% + \StrCut{\QuadNbCar}{x}{\QuadNbCol}{\QuadNbLig}% + \IfStrEq{\QuadType}{Seyes}%les types de quadrillages + {\xdef\ValeurCarreau{0.8}}% + {}% + \IfStrEq{\QuadType}{5x5}% + {\xdef\ValeurCarreau{0.5}}% + {}% + \IfStrEq{\QuadType}{Ruled}% + {\xdef\ValeurCarreau{0.9}}% + {}% + \IfSubStr{\QuadElar}{/}%on récupère les élargissements G et D + {\StrCut{\QuadElar}{/}{\QuadElarG}{\QuadElarD}}% + {\def\QuadElarG{\QuadElar}\def\QuadElarD{\QuadElar}}% + \begin{tikzpicture}[xscale={\useKV[Quadril]{Unit}},yscale={\useKV[Quadril]{Unit}}] + \useasboundingbox (0,0) rectangle ({\ValeurCarreau*\QuadNbCol},{-\ValeurCarreau*\QuadNbLig}) ;%on fixe la grille de base, avant élargissement éventuel + \IfStrEq{\QuadType}{Seyes}% + {% + \draw[xstep=0.8,ystep=0.2,thin,\QuadCoulB] ({-\ValeurCarreau*\QuadElarG},0) grid ({\ValeurCarreau*\QuadNbCol+\ValeurCarreau*\QuadElarD},{-\ValeurCarreau*\QuadNbLig}) ;%grille seyes + \draw[xstep=0.8,ystep=0.8,\QuadCoulA] ({-\ValeurCarreau*\QuadElarG},0) grid ({\ValeurCarreau*\QuadNbCol+\ValeurCarreau*\QuadElarD},{-\ValeurCarreau*\QuadNbLig}) ;%grille seyes + \ifboolKV[Quadril]{DispBar} + { + \draw[thick,\QuadCoulSeyes] ({\ValeurCarreau*\useKV[Quadril]{Margin}},0) -- ({\ValeurCarreau*\useKV[Quadril]{Margin}},{-\ValeurCarreau*\QuadNbLig}) ;%barre Seyes + }{} + }% + {}% + \IfStrEq{\QuadType}{5x5}% + {% + \draw[xstep=0.5,ystep=0.5,thin,\QuadCoulA] ({-\ValeurCarreau*\QuadElarG},0) grid ({\ValeurCarreau*\QuadNbCol+\ValeurCarreau*\QuadElarD},{-\ValeurCarreau*\QuadNbLig}) ;%grille 5x5 + }% + {}% + \IfStrEq{\QuadType}{Ruled}% + {% + \foreach \LLL in {0,1,...,\QuadNbLig} {\draw[,thin,\QuadCoulA] ({-\ValeurCarreau*\QuadElarG},{-\LLL*\ValeurCarreau}) -- ({\ValeurCarreau*\QuadNbCol+\ValeurCarreau*\QuadElarD},{-\ValeurCarreau*\LLL}) ; } + %\draw[xstep={\ValeurCarreau*\QuadNbCol},ystep=0.9,thin,\QuadCoulA] ({-\ValeurCarreau*\QuadElarG},0) grid ({\ValeurCarreau*\QuadNbCol+\ValeurCarreau*\QuadElarD},{-\ValeurCarreau*\QuadNbLig}) ;%grille college + \ifboolKV[Quadril]{DispBar} + { + \draw[thick,\QuadCoulB] ({\ValeurCarreau*\useKV[Quadril]{Margin}},0) -- ({\ValeurCarreau*\useKV[Quadril]{Margin}},{-\ValeurCarreau*\QuadNbLig}) ;%barre college + }{} + }% + {}% + \ifboolKV[Quadril]{Border}%cadre pour la "marge" + {\draw[thick] (0,0) rectangle ({\ValeurCarreau*\QuadNbCol},{-\ValeurCarreau*\QuadNbLig}) ;}% + {}% + \end{tikzpicture}% +}% \NewDocumentEnvironment{EnvGrid}{ O{} D<>{lightgray!50/lightgray!25} }%créer le quadrillage {% @@ -146,7 +263,10 @@ {% \draw[xstep=0.8,ystep=0.2,thin,\QuadCoulB] ({-\ValeurCarreau*\QuadElarG},0) grid ({\ValeurCarreau*\QuadNbCol+\ValeurCarreau*\QuadElarD},{-\ValeurCarreau*\QuadNbLig}) ;%grille seyes \draw[xstep=0.8,ystep=0.8,\QuadCoulA] ({-\ValeurCarreau*\QuadElarG},0) grid ({\ValeurCarreau*\QuadNbCol+\ValeurCarreau*\QuadElarD},{-\ValeurCarreau*\QuadNbLig}) ;%grille seyes - \draw[thick,\QuadCoulSeyes] ({\ValeurCarreau*\useKV[Quadril]{Margin}},0) -- ({\ValeurCarreau*\useKV[Quadril]{Margin}},{-\ValeurCarreau*\QuadNbLig}) ;%barre Seyes + \ifboolKV[Quadril]{DispBar} + { + \draw[thick,\QuadCoulSeyes] ({\ValeurCarreau*\useKV[Quadril]{Margin}},0) -- ({\ValeurCarreau*\useKV[Quadril]{Margin}},{-\ValeurCarreau*\QuadNbLig}) ;%barre Seyes + }{} }% {}% \IfStrEq{\QuadType}{5x5}% @@ -158,7 +278,10 @@ {% \foreach \LLL in {0,1,...,\QuadNbLig} {\draw[,thin,\QuadCoulA] ({-\ValeurCarreau*\QuadElarG},{-\LLL*\ValeurCarreau}) -- ({\ValeurCarreau*\QuadNbCol+\ValeurCarreau*\QuadElarD},{-\ValeurCarreau*\LLL}) ; } %\draw[xstep={\ValeurCarreau*\QuadNbCol},ystep=0.9,thin,\QuadCoulA] ({-\ValeurCarreau*\QuadElarG},0) grid ({\ValeurCarreau*\QuadNbCol+\ValeurCarreau*\QuadElarD},{-\ValeurCarreau*\QuadNbLig}) ;%grille college - \draw[thick,\QuadCoulB] ({\ValeurCarreau*\useKV[Quadril]{Margin}},0) -- ({\ValeurCarreau*\useKV[Quadril]{Margin}},{-\ValeurCarreau*\QuadNbLig}) ;%barre college + \ifboolKV[Quadril]{DispBar} + { + \draw[thick,\QuadCoulB] ({\ValeurCarreau*\useKV[Quadril]{Margin}},0) -- ({\ValeurCarreau*\useKV[Quadril]{Margin}},{-\ValeurCarreau*\QuadNbLig}) ;%barre college + }{} }% {}% \ifboolKV[Quadril]{Border}%cadre pour la "marge" |