diff options
author | Karl Berry <karl@freefriends.org> | 2023-01-20 22:31:29 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2023-01-20 22:31:29 +0000 |
commit | 404df6ea55e0ee3763705c7a34349df82c5b8690 (patch) | |
tree | 13cd5da23764bad944840591cea8a8a714c52b35 | |
parent | 1510ca75c014729b67762f758a83207e30f9e9c6 (diff) |
writeongrid (20jan23)
git-svn-id: svn://tug.org/texlive/trunk@65598 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-en.pdf | bin | 376053 -> 456766 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-en.tex | 153 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-fr.pdf | bin | 400100 -> 571900 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-fr.tex | 420 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/writeongrid/WriteOnGrid.sty | 349 |
5 files changed, 806 insertions, 116 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 bcd238b1e05..4a040de3b95 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 624789e9871..e03e735fa8b 100644 --- a/Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-en.tex +++ b/Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-en.tex @@ -3,8 +3,7 @@ % arara: pdflatex: {shell: yes, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)') \documentclass[a4paper]{article} -\usepackage[svgnames]{xcolor} -\usepackage[french]{babel} +\usepackage[english]{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{WriteOnGrid} @@ -13,6 +12,7 @@ \usepackage{fontawesome5} \usepackage{enumitem} \usepackage{frcursive} +\usepackage{lipsum} \usepackage{tabularray} \usepackage{fancyvrb} \usepackage{fancyhdr} @@ -22,7 +22,22 @@ \cfoot{\sffamily\small - \thepage{} -} \rfoot{\hyperlink{matoc}{\small\faArrowAltCircleUp[regular]}} -\usepackage{hvlogos} +\usepackage{hologo} +\usepackage{xspace} +\newcommand\tikzlogo{Ti\textit{k}Z} +\newcommand\TeXLive{\hologo{TeX}Live\xspace} +\let\TikZ\tikzlogo +\newcommand\TableauDocumentation{% + \begin{tblr}{width=\linewidth,colspec={X[c]X[c]X[c]X[c]X[c]X[c]},cells={font=\sffamily}} + {\huge \LaTeX} & & & & &\\ + & {\huge \hologo{pdfLaTeX}} & & & & \\ + & & {\huge \hologo{LuaLaTeX}} & & & \\ + & & & {\huge \TikZ} & & \\ + & & & & {\huge \TeXLive} & \\ + & & & & & {\huge \hologo{MiKTeX}} \\ + \end{tblr} +} + \usepackage{hyperref} \urlstyle{same} \hypersetup{pdfborder=0 0 0} @@ -30,8 +45,8 @@ \setlength{\parindent}{0pt} \definecolor{LightGray}{gray}{0.9} -\def\TPversion{0.1.0} -\def\TPdate{16/01/2023} +\def\TPversion{0.1.1} +\def\TPdate{20/01/2023} \usepackage[most]{tcolorbox} \tcbuselibrary{minted} @@ -90,7 +105,7 @@ \vspace{0.5cm} -{$\blacktriangleright$~~Some commands to create a grid (5x5 or Seyes) and to write \og on \fg{} the lines.} +{$\blacktriangleright$~~Some commands to create a grid (5x5 or Seyes or Ruled) and to write "on" the lines.} \smallskip @@ -110,7 +125,7 @@ \end{EnvGrid} \end{center} -\begin{EnvGrid}[NumSquares=24x5,Margin=1,Enlarge=2/2,Seyes] +\begin{EnvGrid}[NumSquares=24x5,Margin=1,Enlarge=2/2,Grid=Seyes]<Plum!75/LightSteelBlue!50> \WriteLine[Scale=1.5]{\textcolor{red}{my text on line 1\ldots}} \WriteLine[Scale=1.5]{\textcolor{blue}{my text on line 2\ldots}} \WriteLine[Scale=1.5,OffsetH=-1]{$1+\frac{1}{2}=\frac32$ et $(1+x)^2=1+2x+x^2$ on line 3\ldots} @@ -119,7 +134,7 @@ \vspace{0.5cm} -%\hfill{}\textit{Merci à Denis Bitouzé et à Patrick Bideault pour leurs retours et idées !} +\hfill{}\textit{Thanks to Patrick Bideault for ideas and help !} \vfill @@ -127,14 +142,7 @@ \medskip -\begin{tblr}{width=\linewidth,colspec={X[c]X[c]X[c]X[c]X[c]X[c]},cells={font=\sffamily}} -{\huge \LaTeX} & & & & &\\ -& {\huge \pdfLaTeX} & & & & \\ -& & {\huge \LuaLaTeX} & & & \\ -& & & {\huge \TikZ} & & \\ -& & & & {\huge \TeXLive} & \\ -& & & & & {\huge \MiKTeX} \\ -\end{tblr} +\TableauDocumentation \medskip @@ -144,16 +152,16 @@ \newpage -\part*{Introduction} +\part*{Usage} \section{The package} \subsection{Loading of the package, used packages} -The package \textsf{writeongrid} loads within the preamble : +The package \textsf{WriteOnGrid} loads within the preamble : \begin{PresentationCode}{listing only} -\usepackage{writeongrid} +\usepackage{WriteOnGrid} \end{PresentationCode} It’s mostly compatible with \textsf{latex}, \textsf{pdflatex}, \textsf{lualatex} or \textsf{xelatex} compilation ! @@ -163,13 +171,14 @@ It’s mostly compatible with \textsf{latex}, \textsf{pdflatex}, \textsf{lualate It loads the following packages and libraries : \begin{itemize} + \item \texttt{xcolor} with options \Cle{table,svgnames} ; \item \texttt{tikz} with the librairies \Cle{calc} and \Cle{positionning} ; \item \texttt{xstring}, \texttt{xparse} and \texttt{simplekv}. \end{itemize} \subsection{The package itself} -The idea is to, thanks to TikZ, propose commands and environment to work with a grid, and to write on the lines. +The idea is to, thanks to \TikZ, propose commands and environment to work with a grid, and to write on the lines. \begin{PresentationCode}{listing only} %environment, with keys to prepare the grid @@ -234,48 +243,53 @@ Le left-border of the \textcolor{ForestGreen}{\textit{border}} is aligned on the The first argument, \textit{optional}, between \texttt{[...]} give the \Cle{keys} : \begin{itemize} - \item \Cle{NumSwuares} to specify the size of the grid, under \texttt{(nbCol)x(nbRow)} ; \hfill~default : \Cle{17x5} + \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 \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 boolean \Cle{Seyes} to work with a Seyes 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 major color of the grid, \Cle{lightgray} by default. +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$ or Ruled ; + \item by \Cle{ColorA/ColorB} (\Cle{lightgray!50/lightgray!25} by default) for Seyes. +\end{itemize} \medskip \begin{PresentationCode}{listing only} -%the borders are added to show the basis grid - -%30x5 small squares, w/o overtakings, basis color -\begin{EnvGrid}[NumSquares=30x5] +%18x4 big squares, w/o overtaking, 3-margin +\begin{EnvGrid}[NumSquares=18x4,Grid=Seyes,Margin=3]<Plum!75/LightSteelBlue!50> \end{EnvGrid} %36x8 small squares, overtakings 3/3, LightSteelBlue color \begin{EnvGrid}[NumSquares=36x8,Enlarge=3/3]<LightSteelBlue> \end{EnvGrid} -%15x5 big squares, overtakings 1/2, orange, centered +%12x3 lines "Ruled", w/o overtakins, orange!50 color, centered, with 2-margin \begin{center} - \begin{EnvGrid}[NumSquares=15x5,Enlarge=1/2,Seyes]<orange> + \begin{EnvGrid}[NumSquares=12x3,Grid=Ruled,Margin=2]<orange!50> \end{EnvGrid} \end{center} \end{PresentationCode} \medskip -\begin{EnvGrid}[NumSquares=30x5,Border] +\begin{EnvGrid}[NumSquares=18x4,Grid=Seyes,Margin=3]<Plum!75/LightSteelBlue!50> \end{EnvGrid} \smallskip -\begin{EnvGrid}[NumSquares=36x8,Enlarge=3/3,Border]<LightSteelBlue> +\begin{EnvGrid}[NumSquares=36x8,Enlarge=3/3]<LightSteelBlue> \end{EnvGrid} +\smallskip + \begin{center} - \begin{EnvGrid}[NumSquares=15x5,Enlarge=1/2,Seyes,Border]<orange> + \begin{EnvGrid}[NumSquares=12x3,Grid=Ruled,Margin=2]<orange!50> \end{EnvGrid} \end{center} @@ -316,35 +330,35 @@ Le third argument, \textit{mandatory} and between \texttt{\{...\}} is the text, \begin{PresentationCode}{listing only} \begin{EnvGrid}[NumSquares=36x8] - \WriteLine{my text on ligne 1\ldots} - \WriteLine<center>{\ttfamily my tetetype text centered on line 2\ldots} - \WriteLine<right>{right-align text on line 3\ldots} - \WriteLine[OffsetH=0.1]{\textcolor{red}{red text, 1mm-shifted\ldots}} + \WriteLine[Scale=1.5]{my text on ligne 1\ldots} + \WriteLine[Scale=1.5]<center>{\ttfamily my tetetype text centered on line 2\ldots} + \WriteLine[Scale=1.5]<right>{right-align text on line 3\ldots} + \WriteLine[Scale=1.5,OffsetH=0.1]{\textcolor{red}{red text, 1mm-shifted\ldots}} \PassLine \WriteLine[Scale=0.5]{\sffamily sans serif text, reduced by 50\,\%, on line 6\ldots} - \WriteLine[OffsetH=3]{\cursive 3 squares-shited text\ldots} + \WriteLine[Scale=1.5,OffsetH=3]{\cursive 3 squares-shifted text\ldots} \end{EnvGrid} \end{PresentationCode} \begin{EnvGrid}[NumSquares=36x8] - \WriteLine{my text on ligne 1\ldots} - \WriteLine<center>{\ttfamily my tetetype text centered on line 2\ldots} - \WriteLine<right>{right-align text on line 3\ldots} - \WriteLine[OffsetH=0.1]{\textcolor{red}{red text, 1mm-shifted\ldots}} + \WriteLine[Scale=1.5]{my text on ligne 1\ldots} + \WriteLine[Scale=1.5]<center>{\ttfamily my tetetype text centered on line 2\ldots} + \WriteLine[Scale=1.5]<right>{right-align text on line 3\ldots} + \WriteLine[Scale=1.5,OffsetH=0.1]{\textcolor{red}{red text, 1mm-shifted\ldots}} \PassLine \WriteLine[Scale=0.5]{\sffamily sans serif text, reduced by 50\,\%, on line 6\ldots} - \WriteLine[OffsetH=3]{\cursive 3 squares-shited text\ldots} + \WriteLine[Scale=1.5,OffsetH=3]{\cursive 3 squares-shifted text\ldots} \end{EnvGrid} \begin{PresentationCode}{listing only} -\begin{EnvGrid}[NumSquares=22x4,Margin=1,Enlarge=2/3,Seyes,Border] +\begin{EnvGrid}[NumSquares=16x4,Margin=2,Grid=Ruled] \WriteLine[Scale=1.5]{\textcolor{red}{red text on line 1\ldots}} \WriteLine[Scale=1.15,OffsetH=1]{$(1+x)^2=1+2x+x^2$ on line 2, with 1-square offset\ldots} \WriteLine[OffsetH=-1]{\textcolor{blue}{blue text, back to left, on line 3\ldots}} \end{EnvGrid} \end{PresentationCode} -\begin{EnvGrid}[NumSquares=22x4,Margin=1,Enlarge=2/3,Seyes,Border] +\begin{EnvGrid}[NumSquares=16x4,Margin=2,Grid=Ruled] \WriteLine[Scale=1.5]{\textcolor{red}{red text on line 1\ldots}} \WriteLine[Scale=1.15,OffsetH=1]{$(1+x)^2=1+2x+x^2$ on line 2, with 1-square offset\ldots} \WriteLine[OffsetH=-1]{\textcolor{blue}{blue text, back to left, on line 3\ldots}} @@ -352,8 +366,59 @@ Le third argument, \textit{mandatory} and between \texttt{\{...\}} is the text, \newpage +\part*{Additional informations} + +\section{Introduction} + +There's few other possibilities with the package\textsf{WorkOnGrid}, but for the moment only with \textit{french} keys, so there's no specific documentation for these commands. + +\smallskip + +To sum up, they create full paper grid, with the ability to write paragraph. + +\section{Example} + +\begin{PresentationCode}{listing only} +\begin{PleinePageRuled}[NumLignes] + \LignePapierRuled[Echelle=1.25,Ligne=1]{C. PIERQUET \hfill LaTeX} + \LignePapierRuled[Echelle=1.25,Ligne=2,Couleur=red]<center>{\underline{\cursive\bfseries Evaluation 3}} + \CadreNoteRuled{3} + \LignePapierRuled[Echelle=1.25,Ligne=8,Couleur=ForestGreen]{\sffamily\underline{Exercise 1 :}} + \ParagraphePapierRuled[Ligne=9]{\cursive\lipsum[1]} + \ParagraphePapierRuled[Ligne=22] + {% + We try with math, $1+\frac12=\frac32$, inline, with several lines.\\ + And another math example, $\int_0^1 2x dx = 1$.\\ + A new line now ! + } +\end{PleinePageRuled} +\end{PresentationCode} + +\pagebreak + +\thispagestyle{empty} + +\begin{PleinePageRuled} + \LignePapierRuled[Echelle=1.25,Ligne=1]{C. PIERQUET \hfill LaTeX} + \LignePapierRuled[Echelle=1.25,Ligne=2,Couleur=red]<center>{\underline{\cursive\bfseries Evaluation 3}} + \CadreNoteRuled{3} + \LignePapierRuled[Echelle=1.25,Ligne=8,Couleur=ForestGreen]{\sffamily\underline{Exercise 1 :}} + \ParagraphePapierRuled[Ligne=9]{\cursive\lipsum[1]} + \ParagraphePapierRuled[Ligne=22] + {% + We try with math, $1+\frac12=\frac32$, inline, with several lines.\\ + And another math example, $\int_0^1 2x dx = 1$.\\ + A new line now ! + } +\end{PleinePageRuled} + +\pagebreak + + \part*{History} +\verb|v0.1.1|~:~~~~Best color choice + \verb|v0.1.0|~:~~~~Initial version \end{document}
\ No newline at end of file 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 3604f845ea6..cb3fe7aade1 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 57975ee6a6f..37b3191cc7a 100644 --- a/Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-fr.tex +++ b/Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-fr.tex @@ -3,7 +3,6 @@ % arara: pdflatex: {shell: yes, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)') \documentclass[a4paper]{article} -\usepackage[svgnames]{xcolor} \usepackage[french]{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} @@ -13,16 +12,35 @@ \usepackage{fontawesome5} \usepackage{enumitem} \usepackage{frcursive} +\usepackage{lipsum} \usepackage{tabularray} \usepackage{fancyvrb} \usepackage{fancyhdr} +\usepackage{frcursive} \fancyhf{} \renewcommand{\headrulewidth}{0pt} \lfoot{\sffamily\small [WriteOnGrid]} \cfoot{\sffamily\small - \thepage{} -} \rfoot{\hyperlink{matoc}{\small\faArrowAltCircleUp[regular]}} -\usepackage{hvlogos} +%\usepackage{hvlogos} +\usepackage{hologo} +\providecommand\tikzlogo{Ti\textit{k}Z} +\providecommand\TeXLive{\TeX{}Live\xspace} +\providecommand\PSTricks{\textsf{PSTricks}\xspace} +\let\pstricks\PSTricks +\let\TikZ\tikzlogo +\newcommand\TableauDocumentation{% + \begin{tblr}{width=\linewidth,colspec={X[c]X[c]X[c]X[c]X[c]X[c]},cells={font=\sffamily}} + {\huge \LaTeX} & & & & &\\ + & {\huge \hologo{pdfLaTeX}} & & & & \\ + & & {\huge \hologo{LuaLaTeX}} & & & \\ + & & & {\huge \TikZ} & & \\ + & & & & {\huge \TeXLive} & \\ + & & & & & {\huge \hologo{MiKTeX}} \\ + \end{tblr} +} + \usepackage{hyperref} \urlstyle{same} \hypersetup{pdfborder=0 0 0} @@ -30,8 +48,8 @@ \setlength{\parindent}{0pt} \definecolor{LightGray}{gray}{0.9} -\def\TPversion{0.1.0} -\def\TPdate{16 Janvier 2023} +\def\TPversion{0.1.1} +\def\TPdate{20 Janvier 2023} \usepackage[most]{tcolorbox} \tcbuselibrary{minted} @@ -90,12 +108,16 @@ \vspace{0.5cm} -{$\blacktriangleright$~~Quelques commandes créer une grille (5x5 ou Seyes) et écrire \og sur \fg{} les lignes.} +{$\blacktriangleright$~~Quelques commandes créer une grille (5x5 ou Seyes ou Ruled) et écrire \og sur \fg{} les lignes.} \smallskip {$\blacktriangleright$~~Personnalisation de la taille de la grille, des marges, etc.} +\smallskip + +{$\blacktriangleright$~~Possibilité de créer une page complète Seyes} + \vspace{1cm} \begin{center} @@ -110,7 +132,7 @@ \end{EnvQuadrillage} \end{center} -\begin{EnvQuadrillage}[NbCarreaux=24x5,Marge=1,Elargir=2/2,Seyes] +\begin{EnvQuadrillage}[NbCarreaux=24x5,Marge=1,Elargir=2/2,Grille=Seyes]<Plum!75/LightSteelBlue!50> \EcrireLigne[Echelle=1.5]{\textcolor{red}{mon texte sur la ligne 1\ldots}} \EcrireLigne[Echelle=1.5]{\textcolor{blue}{mon texte sur la ligne 2\ldots}} \EcrireLigne[Echelle=1.5,DecalH=-1]{$1+\frac{1}{2}=\frac32$ et $(1+x)^2=1+2x+x^2$ sur la ligne 3\ldots} @@ -119,7 +141,7 @@ \vspace{0.5cm} -%\hfill{}\textit{Merci à Denis Bitouzé et à Patrick Bideault pour leurs retours et idées !} +\hfill{}\textit{Merci à Patrick Bideault pour ses retours et idées !} \vfill @@ -127,14 +149,7 @@ \medskip -\begin{tblr}{width=\linewidth,colspec={X[c]X[c]X[c]X[c]X[c]X[c]},cells={font=\sffamily}} -{\huge \LaTeX} & & & & &\\ -& {\huge \pdfLaTeX} & & & & \\ -& & {\huge \LuaLaTeX} & & & \\ -& & & {\huge \TikZ} & & \\ -& & & & {\huge \TeXLive} & \\ -& & & & & {\huge \MiKTeX} \\ -\end{tblr} +\TableauDocumentation \medskip @@ -144,16 +159,21 @@ \newpage -\part*{Introduction} +\phantomsection +\hypertarget{matoc}{} -\section{Le package writeongrid} +\tableofcontents + +\newpage + +\section{Le package WriteOnGrid} \subsection{Chargement du package, packages utilisés} -Le package \textsf{writeongrid} se charge dans le préambule via la commande : +Le package \textsf{WriteOnGrid} se charge dans le préambule via la commande : \begin{PresentationCode}{listing only} -\usepackage{writeongrid} +\usepackage{WriteOnGrid} \end{PresentationCode} Il est compatible avec les compilations usuelles en \textsf{latex}, \textsf{pdflatex}, \textsf{lualatex} ou \textsf{xelatex}. @@ -163,6 +183,7 @@ Il est compatible avec les compilations usuelles en \textsf{latex}, \textsf{pdfl Il charge les packages et librairies suivantes : \begin{itemize} + \item \texttt{xcolor} avec les options \Cle{table,svgnames} ; \item \texttt{tikz} avec les librairies \Cle{calc} et \Cle{positionning} ; \item \texttt{xstring}, \texttt{xparse} et \texttt{simplekv}. \end{itemize} @@ -175,7 +196,7 @@ L'idée est de proposer, grâce à \TikZ, des \textsf{commandes} et \textsf{envi %environnement francisé, avec clés en français pour préparer la grille %commandes pour placer ou passer une ligne -\begin{EnvQuadrillage}[clés]<couleur> +\begin{EnvQuadrillage}[clés]<couleur(s)> \EcrireLigne[clés]<alignement>{texte} \PasseLigne \end{EnvQuadrillage} @@ -200,7 +221,7 @@ Ci-dessous on représente une grille $5\times5$ : \begin{tikzpicture} \useasboundingbox (0,0) rectangle ({0.5*24},{-0.5*5}) ; - \draw[xstep=0.5,ystep=0.5,thin,lightgray!75] ({-0.5*2},0) grid ({0.5*24+0.5*3},{-0.5*5}) ; + \draw[xstep=0.5,ystep=0.5,thin,lightgray!50] ({-0.5*2},0) grid ({0.5*24+0.5*3},{-0.5*5}) ; \draw[thick,decorate,decoration={brace,amplitude=8pt,mirror}](0,{-0.5*5-0.25})--({0.5*24},{-0.5*5-0.25}) node[midway,below=8pt,font=\small\sffamily] {24C} ; \draw[red,thick,decorate,decoration={brace,amplitude=8pt,mirror}] ({-2*0.5},{-0.5*5-0.25})--({0},{-0.5*5-0.25}) node[midway,below=8pt,font=\small\sffamily] {2C} ; \draw[blue,thick,decorate,decoration={brace,amplitude=8pt,mirror}] ({0.5*24},{-0.5*5-0.25})--({0.5*24+3*0.5},{-0.5*5-0.25}) node[midway,below=8pt,font=\small\sffamily] {3C} ; @@ -219,14 +240,14 @@ De plus, le bord gauche du \textcolor{ForestGreen}{\textit{cadre}} est aligné s \pagebreak -\section{Commandes, clés et options} +\section{Grilles individuelles} \subsection{L'environnement} \begin{PresentationCode}{listing only} %environnement francisé, avec clés en français pour préparer la grille -\begin{EnvQuadrillage}[clés]<couleur> +\begin{EnvQuadrillage}[clés]<couleur(s)> ... \end{EnvQuadrillage} \end{PresentationCode} @@ -239,43 +260,49 @@ Le premier argument, \textit{optionnel}, entre \texttt{[...]} propose les \Cle{c \item \Cle{Marge} pour spécifier la \textcolor{orange}{marge} du début des lignes ; \hfill~défaut : \Cle{0} \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 le booléen \Cle{Seyes} pour afficher un quadrillage de type Seyes.\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{<...>} est quant à lui la couleur de base du quadrillage, \Cle{lightgray} par défaut. +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$ ou Ruled ; + \item sous la forme \Cle{CouleurP/CouleurS} (\Cle{lightgray!50/lightgray!25} par défaut) pour le Seyes. +\end{itemize} \medskip \begin{PresentationCode}{listing only} -%les cadres ont été rajoutés pour la sortie +%des cadres ont été rajoutés pour la sortie -%30x5 petits carreaux, sans dépassement, couleur de base -\begin{EnvQuadrillage}[NbCarreaux=30x5] +%18x4 grands carreaux, sans dépassement, couleurs adaptées, marge de 3 carreaux +\begin{EnvQuadrillage}[NbCarreaux=18x4,Grille=Seyes,Marge=3]<Plum!75/LightSteelBlue!50> \end{EnvQuadrillage} -%36x8 petits carreaux, avec débordements 3/3, couleur LightSteelBlue -\begin{EnvQuadrillage}[NbCarreaux=36x8,Elargir=3/3]<LightSteelBlue> +%36x8 petits carreaux, avec débordements 3/3, couleur LightSteelBlue!50 +\begin{EnvQuadrillage}[NbCarreaux=36x8,Elargir=3/3]<LightSteelBlue!50> \end{EnvQuadrillage} -%15x5 grand carreaux, avec débordements 1/2, couleur orange, centré +%12x3 lignes "Ruled", sans débordements, couleur orange!50, centré, avec marge \begin{center} - \begin{EnvQuadrillage}[NbCarreaux=15x5,Elargir=1/2,Seyes]<orange> + \begin{EnvQuadrillage}[NbCarreaux=12x3,Elargir=2/2,Grille=Ruled,Marge=2]<orange!50> \end{EnvQuadrillage} \end{center} \end{PresentationCode} \medskip -\begin{EnvQuadrillage}[NbCarreaux=30x5,Cadre] +\begin{EnvQuadrillage}[NbCarreaux=18x4,Grille=Seyes,Marge=3]<Plum!75/LightSteelBlue!50> \end{EnvQuadrillage} \smallskip -\begin{EnvQuadrillage}[NbCarreaux=36x8,Elargir=3/3,Cadre]<LightSteelBlue> +\begin{EnvQuadrillage}[NbCarreaux=36x8,Elargir=3/3,Cadre]<LightSteelBlue!50> \end{EnvQuadrillage} \begin{center} - \begin{EnvQuadrillage}[NbCarreaux=15x5,Elargir=1/2,Seyes,Cadre]<orange> + \begin{EnvQuadrillage}[NbCarreaux=12x3,Grille=Ruled,Marge=2]<orange!50> \end{EnvQuadrillage} \end{center} @@ -317,7 +344,7 @@ Le troisième argument, \textit{mandataire} et entre \texttt{\{...\}} est quant \begin{PresentationCode}{listing only} \begin{EnvQuadrillage}[NbCarreaux=36x8] \EcrireLigne{mon texte sur la ligne 1\ldots} - \EcrireLigne<center>{\ttfamily mon texte, en fonte teletype augmentée de 25\,\%, centré sur la ligne 2\ldots} + \EcrireLigne[Echelle=1.25]<center>{\ttfamily mon texte, en fonte teletype +25\,\%, centré sur la ligne 2\ldots} \EcrireLigne<right>{mon texte aligné à droite sur la ligne 3\ldots} \EcrireLigne[DecalV=0.1]{\textcolor{red}{mon texte rouge sur la ligne 4, décalé de 1mm vers le haut\ldots}} \PasseLigne @@ -328,7 +355,7 @@ Le troisième argument, \textit{mandataire} et entre \texttt{\{...\}} est quant \begin{EnvQuadrillage}[NbCarreaux=36x8] \EcrireLigne{mon texte sur la ligne 1\ldots} - \EcrireLigne<center>{\ttfamily mon texte, en fonte teletype augmentée de 25\,\%, centré sur la ligne 2\ldots} + \EcrireLigne[Echelle=1.25]<center>{\ttfamily mon texte, en fonte teletype augmentée de 25\,\%, centré sur la ligne 2\ldots} \EcrireLigne<right>{mon texte aligné à droite sur la ligne 3\ldots} \EcrireLigne[DecalV=0.1]{\textcolor{red}{mon texte rouge sur la ligne 4, décalé de 1mm vers le haut\ldots}} \PasseLigne @@ -337,22 +364,323 @@ Le troisième argument, \textit{mandataire} et entre \texttt{\{...\}} est quant \end{EnvQuadrillage} \begin{PresentationCode}{listing only} -\begin{EnvQuadrillage}[NbCarreaux=22x4,Marge=1,Elargir=2/3,Seyes,Cadre] - \EcrireLigne[Echelle=1.5]{\textcolor{red}{mon texte rouge, un peu agrandi,sur la ligne 1\ldots}} - \EcrireLigne[Echelle=1.15,DecalH=1]{$(1+x)^2=1+2x+x^2$ sur la l2, avec un décal de 1 en plus de la marge\ldots} - \EcrireLigne[DecalH=-1]{\textcolor{blue}{mon texte bleu, remis à gauche, sur la ligne 3\ldots}} +\begin{EnvQuadrillage}[NbCarreaux=22x4,Marge=2,Elargir=2/3,Grille=Seyes] + \EcrireLigne[Echelle=1.5]{\textcolor{red}{mon texte rouge, un peu agrandi, sur la ligne 1\ldots}} + \EcrireLigne[Echelle=1.15,DecalH=1]{$(1+x)^2=1+2x+x^2$ sur la l2, avec un décal de 1 en plus\ldots} + \EcrireLigne[DecalH=-1.75]{\textcolor{blue}{mon texte bleu, remis un peu à gauche, sur la ligne 3\ldots}} \end{EnvQuadrillage} \end{PresentationCode} -\begin{EnvQuadrillage}[NbCarreaux=22x4,Marge=1,Elargir=2/3,Seyes,Cadre] - \EcrireLigne[Echelle=1.5]{\textcolor{red}{mon texte rouge, un peu agrandi,sur la ligne 1\ldots}} - \EcrireLigne[Echelle=1.15,DecalH=1]{$(1+x)^2=1+2x+x^2$ sur la ligne 2, avec un décalage de 1 carreau en plus de la marge\ldots} - \EcrireLigne[DecalH=-1]{\textcolor{blue}{mon texte bleu, remis à gauche, sur la ligne 3\ldots}} +\begin{EnvQuadrillage}[NbCarreaux=22x4,Marge=2,Elargir=2/3,Grille=Seyes] + \EcrireLigne[Echelle=1.5]{\textcolor{red}{mon texte rouge, un peu agrandi, sur la ligne 1\ldots}} + \EcrireLigne[Echelle=1.15,DecalH=1]{$(1+x)^2=1+2x+x^2$ sur la ligne 2, avec un décalage de 1 carreau en plus\ldots} + \EcrireLigne[DecalH=-1.75]{\textcolor{blue}{mon texte bleu, remis un peu à gauche, sur la ligne 3\ldots}} \end{EnvQuadrillage} +\pagebreak + +\section{Page complète type Seyes} + +\subsection{Idée et fonctionnement global} + +Il s'agit ici de créer le quadrillage Seyes sur la page complète, comme pour la copie d'un élève ! + +Dans ce cas, le type de papier utilisé \textbf{doit} être \texttt{a4}, et les unités sont fixées à 1~cm ! + +\smallskip + +\faBomb{} Le fonctionnement est différent des environnements \textit{ponctuels} précédents, et l'écriture sur les lignes du quadrillage peuvent poser souci avec des environnements mathématiques !! + +\medskip + +La grille complète est liée à un environnement (basé sur \texttt{tikzpicture}), et les commandes pour écrire sont à mettre dans l'environnement. + +\smallskip + +Tout le placement est géré grâce à un point (fictif), nommé \texttt{(SeyesOrigine)}, qui correspond au point de départ de l'écriture sur la copie ! + +\begin{PresentationCode}{listing only} +\begin{PleinePageSeyes}[options] + \LignePapierSeyes[options]<alignement>(ajustement){texte} + \CadreNoteSeyes[hauteur]{numligne} + \ParagraphePapierSeyes[options]<alignement>(ajustement){texte} +\end{PleinePageSeyes} +\end{PresentationCode} + +\subsection{La grille} + +Pour l'environnement de création de la grille, l'argument, \textit{optionnel} et entre \texttt{[...]}, propose : + +\begin{itemize} + \item la clé \Cle{CouleurP} pour la couleur des \textit{gros traits} ;\hfill~défaut : \Cle{Plum!66} + \item la clé \Cle{CouleurS} pour la couleur des \textit{petits traits} ;\hfill~défaut : \Cle{LightSteelBlue!33} + \item la clé \Cle{CouleurMarge} pour la couleur du trait de la marge ;\hfill~défaut : \Cle{red!75} + \item le booléen \Cle{NumLignes} pour afficher le numéro des lignes (pour aider !). \hfill~défaut : \Cle{false} +\end{itemize} + +\subsection{La commande pour saisir une ligne} + +La commande \texttt{LignePapierSeyes} permet de saisir une ligne \textbf{unique}, un peu comme la commande pour les petits blocs de quadrillage. Plusieurs options et arguments sont disponibles. + +\begin{PresentationCode}{listing only} +\LignePapierSeyes[options]<alignement>(ajustement){texte} +\end{PresentationCode} + +La commande positionne le \textsf{texte}, au niveau de la marge verticale, sur la ligne précisée ! + +\smallskip + +Le premier argument, \textit{optionnel} et entre \texttt{[...]} propose : + +\begin{itemize} + \item la clé \Cle{Couleur} pour spécifier une couleur globale pour le texte ;\hfill~défaut : \Cle{black} + \item la clé \Cle{Echelle} pour spécifier une échelle globale pour le texte ;\hfill~défaut : \Cle{1} + \item la clé \Cle{Ligne} pour spécifier le numéro de ligne sur lequel on souhaite écrire ;\hfill~défaut : \Cle{1} + \item la clé \Cle{Largeur} pour spécifier la largeur (en cm) de la boîte dans laquelle le texte sera placé.\hfill~défaut : \Cle{16.8} +\end{itemize} + +Le deuxième argument, \textit{optionnel} et entre \texttt{<...>}, permet de spécifier l'alignement souhaité pour la ligne, parmi \Cle{left/center/right}, et vaut \Cle{left} par défaut. + +\smallskip + +Le troisième argument, \textit{optionnel} et entre \texttt{(...)}, permet de positionner le texte avec un \textit{décalage fin} et \textit{relatif} de $(x\,;y)$, et il est fixé par défaut à \Cle{0,0}. + +\smallskip + +Le dernier argument, \textit{mandataire} et entre \texttt{\{...\}} est le texte à placer, avec les options classiques en langage \TeX{} ! + +\subsection{Une commande pour un cadre de note} + +\begin{PresentationCode}{listing only} +\CadreNoteSeyes[hauteur]{numligne} +\end{PresentationCode} + +Cette commande permet de tracer un cadre \textsf{note/appréciation} de \Cle{hauteur} en carreaux, et placé sur la ligne \Cle{numligne}. + +\pagebreak + +\subsection{Une commande pour saisir un paragraphe (non fonctionnelle à 100\,\%)} + +La commande \texttt{ParagraphePapierSeyes} permet de saisir des commandes \textit{multilignes}, grâce à l'utilisation de \texttt{\textbackslash\textbackslash}. + +\begin{PresentationCode}{listing only} +\ParagraphePapierSeyes[options]<alignement>(ajustement){texte} +\end{PresentationCode} + +\faBomb{} Cet aspect \textit{multilignes} pourra sans doute être problématique pour un placement optimal, donc doit être utilisée avec précautions\ldots + +\smallskip + +Le premier argument, \textit{optionnel} et entre \texttt{[...]} propose : + +\begin{itemize} + \item la clé \Cle{Couleur} pour spécifier une couleur globale pour le texte ;\hfill~défaut : \Cle{black} + \item la clé \Cle{TaillePolice} pour spécifier la taille, en points, du texte ;\hfill~défaut : \Cle{1} + \item la clé \Cle{Espacement}, en points, pour que l'interligne soit OK ;\hfill~défaut : \Cle{22.792} + \item la clé \Cle{Largeur} pour la largeur (en cm) de la boîte dans laquelle le paragraphe sera placé.\hfill~défaut : \Cle{16.8} +\end{itemize} + +Le deuxième argument, \textit{optionnel} et entre \texttt{<...>}, permet de spécifier l'alignement souhaité pour la ligne, parmi \Cle{left/center/right/justify}, et vaut \Cle{justify} par défaut. + +\smallskip + +Le troisième argument, \textit{optionnel} et entre \texttt{(...)}, permet de positionner le paragraphe avec un \textit{décalage fin} et \textit{relatif} de $(x\,;y)$, et il est fixé par défaut à \Cle{0,0}. + +\smallskip + +Le dernier argument, \textit{mandataire} et entre \texttt{\{...\}} est le paragraphe à placer, avec les options classiques en langage \TeX{}, et le passage à la ligne effectué par \texttt{\textbackslash\textbackslash} ! + +\subsection{Exemple \og détaillé \fg} + +Un exemple \textit{détaillé}, avec le rendu en page suivante, avec quelques commentaires pour expliquer. + +\begin{PresentationCode}{listing only} +\pagestyle{empty} + +\begin{PleinePageSeyes}[NumLignes]%numéro de lignes pour mieux "lire" + %entête + \LignePapierSeyes[Echelle=1.25,Ligne=1]{C. PIERQUET \hfill LaTeX} + %titre + \LignePapierSeyes[Echelle=1.5,Ligne=2,Couleur=red]<center>{\underline{\cursive\bfseries Devoir 1}} + %cadre de notes + \CadreNoteSeyes{3} + %ligne pour un petit titre + \LignePapierSeyes[Echelle=1.5,Ligne=9,Couleur=ForestGreen]{\sffamily\underline{Exercice 1 :}} + %un paragraphe de quelques lignes + \ParagraphePapierSeyes[Ligne=10]{\cursive\lipsum[1]} + %un paragraphe avec des maths + \ParagraphePapierSeyes[Ligne=22] + {% + On essaye avec des maths $1+\frac12=\frac32$ en mode ligne avec des lignes assez longues pour voir + ce que ça peut donner\ldots Et une intégrale $\int_0^1 2x dx = 1$.\\On essaye en passant à la ligne !!! + } + %une ligne avec des maths + \LignePapierSeyes[Ligne=25]<center>{${\displaystyle\sum_{i=1}^{n} i=\displaystyle\frac{n(n+1)}{2}}$.} + + %un environnement, avec ajustement manuel via (x,y)... + %pas fonctionnel à 100% + \LignePapierSeyes[Echelle=1.1,Ligne=27](-1.4,0.95) + { + \begin{align*} + \frac{d}{dx} \ln x &= \lim_{h\to 0} \frac{\ln(x+h) - \ln x}{h} \\ + &= \ln e^{1/x} &&\text{How this follows is left as an exercise.}\\ + &= \frac{1}{x} &&\text{Using the definition of ln as inverse function} + \end{align*} + } + %un paragraphe multiligne, avec police agrandie + \ParagraphePapierSeyes[TaillePolice=14,Ligne=30] + {BlablablaBlablabla.\\BlablablaBlablablaBlablablaBlablabla.} +\end{PleinePageSeyes} +\end{PresentationCode} + \newpage -\part*{Historique} +\pagestyle{empty} + +\begin{PleinePageSeyes}[NumLignes]%numéro de lignes pour mieux "lire" + %entête + \LignePapierSeyes[Echelle=1.25,Ligne=1]{C. PIERQUET \hfill LaTeX} + %titre + \LignePapierSeyes[Echelle=1.5,Ligne=2,Couleur=red]<center>{\underline{\cursive\bfseries Devoir 1}} + %cadre de notes + \CadreNoteSeyes{3} + %ligne pour un petit titre + \LignePapierSeyes[Echelle=1.5,Ligne=9,Couleur=ForestGreen]{\sffamily\underline{Exercice 1 :}} + %un paragraphe de quelques lignes + \ParagraphePapierSeyes[Ligne=10]{\cursive\lipsum[1]} + %un paragraphe avec des maths + \ParagraphePapierSeyes[Ligne=22] + {% + On essaye avec des maths $1+\frac12=\frac32$ en mode ligne avec des lignes assez longues pour voir + ce que ça peut donner\ldots Et une intégrale $\int_0^1 2x dx = 1$.\\On essaye en passant à la ligne !!! + } + %une ligne avec des maths + \LignePapierSeyes[Ligne=25]<center>{${\displaystyle\sum_{i=1}^{n} i=\displaystyle\frac{n(n+1)}{2}}$.} + + %un environnement, avec ajustement manuel via (x,y)... + %pas fonctionnel à 100% + \LignePapierSeyes[Echelle=1.1,Ligne=27](-1.4,0.95) + { + \begin{align*} + \frac{d}{dx} \ln x &= \lim_{h\to 0} \frac{\ln(x+h) - \ln x}{h} \\ + &= \ln e^{1/x} &&\text{How this follows is left as an exercise.}\\ + &= \frac{1}{x} &&\text{Using the definition of ln as inverse function} + \end{align*} + } + %un paragraphe multiligne, avec police aggrandie + \ParagraphePapierSeyes[TaillePolice=14,Ligne=30] + {BlablablaBlablabla.\\BlablablaBlablablaBlablablaBlablabla.} +\end{PleinePageSeyes} + +\pagebreak + +\section{Pages type 5x5 et College Ruled} + +\subsection{Fonctionnement global} + +Les commandes, méthodes et remarques de la section précédente sur les grilles Seyes peuvent être adaptées pour les grilles de type 5x5 et College Ruled. + +\subsection{Commandes et environnements} + +Les commandes et environnements sont suffixées différemment, mais le reste est identique ! + +\begin{PresentationCode}{listing only} +\pagestyle{empty} + +\begin{PleinePageCinqCinq}[options] + \LignePapierCinqCinq[options]<alignement>(ajustement){texte} + \CadreNoteCinqCinq[hauteur]{numligne} + \ParagraphePapierCinqCinq[options]<alignement>(ajustement){texte} +\end{PleinePageSeyes} +\end{PresentationCode} + +\begin{PresentationCode}{listing only} +\pagestyle{empty} + +\begin{PleinePageRuled}[options] + \LignePapierRuled[options]<alignement>(ajustement){texte} + \CadreNoteRuled[hauteur]{numligne} + \ParagraphePapierRuled[options]<alignement>(ajustement){texte} +\end{PleinePageSeyes} +\end{PresentationCode} + +\subsection{Exemples} + +Les exemples des pages suivantes ont été obtenus de la même manière que celui de la pleine page Seyes, il \textit{suffit} d'adapter les commandes et environnements avec le bon suffixe. + +\begin{PresentationCode}{listing only} +\pagestyle{empty} + +\begin{PleinePageCinqCinq}[NumLignes] + \LignePapierCinqCinq[Echelle=1.25,Ligne=1]{C. PIERQUET \hfill LaTeX} + \LignePapierCinqCinq[Echelle=1.25,Ligne=3,Couleur=red]<center>{\underline{\cursive\bfseries Devoir 2}} + \CadreNoteCinqCinq{4} + \LignePapierCinqCinq[Echelle=1.25,Ligne=9,Couleur=ForestGreen]{\sffamily\underline{Exercice 1 :}} + \ParagraphePapierCinqCinq[Ligne=11]{\cursive\lipsum[1]} + \ParagraphePapierCinqCinq[Ligne=30] + {% + On essaye avec des maths $1+\frac12=\frac32$ en mode ligne avec des lignes assez longues pour voir + ce que ça peut donner\ldots Et une intégrale $\int_0^1 2x dx = 1$.\\On essaye en passant à la ligne !!! + } +\end{PleinePageCinqCinq} +\end{PresentationCode} + +\begin{PresentationCode}{listing only} +\pagestyle{empty} + +\begin{PleinePageRuled}[NumLignes] + \LignePapierRuled[Echelle=1.25,Ligne=1]{C. PIERQUET \hfill LaTeX} + \LignePapierRuled[Echelle=1.25,Ligne=2,Couleur=red]<center>{\underline{\cursive\bfseries Devoir 3}} + \CadreNoteRuled{3} + \LignePapierRuled[Echelle=1.25,Ligne=8,Couleur=ForestGreen]{\sffamily\underline{Exercice 1 :}} + \ParagraphePapierRuled[Ligne=9]{\cursive\lipsum[1]} + \ParagraphePapierRuled[Ligne=22] + {% + On essaye avec des maths $1+\frac12=\frac32$ en mode ligne avec des lignes assez longues pour voir + ce que ça peut donner\ldots Et une intégrale $\int_0^1 2x dx = 1$.\\On essaye en passant à la ligne !!! + } +\end{PleinePageRuled} +\end{PresentationCode} + +\pagebreak + +\pagestyle{empty} + +\begin{PleinePageCinqCinq}[NumLignes] + \LignePapierCinqCinq[Echelle=1.25,Ligne=1]{C. PIERQUET \hfill LaTeX} + \LignePapierCinqCinq[Echelle=1.25,Ligne=3,Couleur=red]<center>{\underline{\cursive\bfseries Devoir 2}} + \CadreNoteCinqCinq{4} + \LignePapierCinqCinq[Echelle=1.25,Ligne=9,Couleur=ForestGreen]{\sffamily\underline{Exercice 1 :}} + \ParagraphePapierCinqCinq[Ligne=11]{\cursive\lipsum[1]} + \ParagraphePapierCinqCinq[Ligne=30] + {% + On essaye avec des maths $1+\frac12=\frac32$ en mode ligne avec des lignes assez longues pour voir + ce que ça peut donner\ldots Et une intégrale $\int_0^1 2x dx = 1$.\\On essaye en passant à la ligne !!! + } +\end{PleinePageCinqCinq} + +\pagebreak + +\pagestyle{empty} + +\begin{PleinePageRuled}[NumLignes] + \LignePapierRuled[Echelle=1.25,Ligne=1]{C. PIERQUET \hfill LaTeX} + \LignePapierRuled[Echelle=1.25,Ligne=2,Couleur=red]<center>{\underline{\cursive\bfseries Devoir 3}} + \CadreNoteRuled{3} + \LignePapierRuled[Echelle=1.25,Ligne=8,Couleur=ForestGreen]{\sffamily\underline{Exercice 1 :}} + \ParagraphePapierRuled[Ligne=9]{\cursive\lipsum[1]} + \ParagraphePapierRuled[Ligne=22] + {% + On essaye avec des maths $1+\frac12=\frac32$ en mode ligne avec des lignes assez longues pour voir + ce que ça peut donner\ldots Et une intégrale $\int_0^1 2x dx = 1$.\\On essaye en passant à la ligne !!! + } +\end{PleinePageRuled} + +\pagebreak + +\section{Historique} + +\verb|v0.1.1|~:~~~~Meilleure gestion des couleurs du quadrillage + Ajout pages complètes \verb|v0.1.0|~:~~~~Version initiale diff --git a/Master/texmf-dist/tex/latex/writeongrid/WriteOnGrid.sty b/Master/texmf-dist/tex/latex/writeongrid/WriteOnGrid.sty index 096ea98be14..35924168857 100644 --- a/Master/texmf-dist/tex/latex/writeongrid/WriteOnGrid.sty +++ b/Master/texmf-dist/tex/latex/writeongrid/WriteOnGrid.sty @@ -2,10 +2,12 @@ % 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/16 v0.1.0 package to write on grid lines] +\ProvidesPackage{WriteOnGrid}[2023/01/20 v0.1.1 package to write on grid lines] +% 0.1.1 Ajout de la couleur + modifications mineures + grille "ruled" + grilles pleine page ! % 0.1.0 Version initiale [fr] & [en] %------Packages utiles +\RequirePackage[table,svgnames]{xcolor} \RequirePackage{tikz} \RequirePackage{simplekv} \RequirePackage{xstring} @@ -26,37 +28,67 @@ \addtocounter{lgquadri}{1} \useKVdefault[LigneQuadrill] \setKV[LigneQuadrill]{#1} - \node[text width=\fpeval{\ValeurCarreau*\QuadNbCol-\ValeurCarreau*\useKV[Quadrill]{Marge}}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,\useKV[LigneQuadrill]{DecalV})$) {\strut #3} ; + \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} ; } -\defKV[Quadrill]{NbCarreaux=\xdef\QuadNbCar{#1},Elargir=\xdef\QuadElar{#1}}%déf des clés -\setKVdefault[Quadrill]{NbCarreaux=17x5,Unite=1,Marge=0,Elargir=0,Cadre=false,Seyes=false}%valeurs par défaut (nbc x nbl) +\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,% + Marge=0,% + Elargir=0,% + Cadre=false,% + Grille=5x5,% + CouleurBarreSeyes={red!75} + } -\NewDocumentEnvironment{EnvQuadrillage}{ O{} D<>{gray} }%créer le quadrillage +\NewDocumentEnvironment{EnvQuadrillage}{ O{} D<>{lightgray!50/lightgray!25} }%créer le quadrillage, couleurs ? {% \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}% - \ifboolKV[Quadrill]{Seyes}%seyes ou 5x5 + \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}},trim left={(0,0)},trim right={({\QuadNbCol},0)}] \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 - \ifboolKV[Quadrill]{Seyes}%seyes ou 5x5 + \IfStrEq{\QuadType}{Seyes}% {% - \draw[xstep=0.8,ystep=0.2,thin,#2!50] ({-\ValeurCarreau*\QuadElarG},0) grid ({\ValeurCarreau*\QuadNbCol+\ValeurCarreau*\QuadElarD},{-\ValeurCarreau*\QuadNbLig}) ;%grille seyes - \draw[xstep=0.8,ystep=0.8,#2!85] ({-\ValeurCarreau*\QuadElarG},0) grid ({\ValeurCarreau*\QuadNbCol+\ValeurCarreau*\QuadElarD},{-\ValeurCarreau*\QuadNbLig}) ;%grille 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 + \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,#2!50] ({-\ValeurCarreau*\QuadElarG},0) grid ({\ValeurCarreau*\QuadNbCol+\ValeurCarreau*\QuadElarD},{-\ValeurCarreau*\QuadNbLig}) ;%grille 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 + \draw[thin,\QuadCoulA] ({\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}) ;}% {}% @@ -75,37 +107,54 @@ \addtocounter{lgquadri}{1} \useKVdefault[LineQuadril] \setKV[LineQuadril]{#1} - \node[text width=\fpeval{\ValeurCarreau*\QuadNbCol-\ValeurCarreau*\useKV[Quadril]{Margin}}cm,align=#2,scale=\QuadEchelle,anchor=base west,inner sep={\useKV[LineQuadril]{Sep}}] at ($({\ValeurCarreau*\useKV[Quadril]{Margin}+\ValeurCarreau*\useKV[LineQuadril]{OffsetH}},{-\ValeurCarreau*\thelgquadri})+(0,\useKV[LineQuadril]{OffsetV})$) {\strut #3} ; + \node[text width=\fpeval{\ValeurCarreau*\QuadNbCol/\QuadEchelle-\ValeurCarreau*\useKV[Quadrill]{Marge}/\QuadEchelle}cm,align=#2,scale=\QuadEchelle,anchor=base west,inner sep={\useKV[LineQuadril]{Sep}}] at ($({\ValeurCarreau*\useKV[Quadril]{Margin}+\ValeurCarreau*\useKV[LineQuadril]{OffsetH}},{-\ValeurCarreau*\thelgquadri})+(0.025,\useKV[LineQuadril]{OffsetV})$) {\strut #3} ; } -\defKV[Quadril]{NumSquares=\xdef\QuadNbCar{#1},Enlarge=\xdef\QuadElar{#1}}%déf des clés -\setKVdefault[Quadril]{NumSquares=17x5,Unit=1,Margin=0,Enlarge=0,Border=false,Seyes=false}%valeurs par défaut +\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 -\NewDocumentEnvironment{EnvGrid}{ O{} D<>{gray} }%créer le quadrillage +\NewDocumentEnvironment{EnvGrid}{ 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}% - \ifboolKV[Quadril]{Seyes}%seyes ou 5x5 + \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}},trim left={(0,0)},trim right={({\QuadNbCol},0)}] - \begin{tikzpicture}[xscale={\useKV[Quadrill]{Unite}},yscale={\useKV[Quadrill]{Unite}}] + \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 - \ifboolKV[Quadril]{Seyes}%seyes ou 5x5 + \IfStrEq{\QuadType}{Seyes}% {% - \draw[xstep=0.8,ystep=0.2,thin,#2!75] ({-\ValeurCarreau*\QuadElarG},0) grid ({\ValeurCarreau*\QuadNbCol+\ValeurCarreau*\QuadElarD},{-\ValeurCarreau*\QuadNbLig}) ;%grille seyes - \draw[xstep=0.8,ystep=0.8,#2] ({-\ValeurCarreau*\QuadElarG},0) grid ({\ValeurCarreau*\QuadNbCol+\ValeurCarreau*\QuadElarD},{-\ValeurCarreau*\QuadNbLig}) ;%grille 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 + \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,#2!75] ({-\ValeurCarreau*\QuadElarG},0) grid ({\ValeurCarreau*\QuadNbCol+\ValeurCarreau*\QuadElarD},{-\ValeurCarreau*\QuadNbLig}) ;%grille 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 + \draw[thin,\QuadCoulA] ({\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}) ;}% {}% @@ -113,4 +162,252 @@ {% \end{tikzpicture}% }% + +%------page entière seyes +\defKV[SeyesFull]{% + CouleurP=\xdef\SeyesFullCoulP{#1},% + CouleurS=\xdef\SeyesFullCoulS{#1},% + CouleurMarge=\xdef\SeyesFullCoulM{#1} +} +\setKVdefault[SeyesFull]{% + CouleurP=Plum!66,% + CouleurS=LightSteelBlue!33,% + CouleurMarge=red!75, + NumLignes=false +} + +\NewDocumentEnvironment{PleinePageSeyes}{ O{} }%semble OK ^^ +{ + \useKVdefault[SeyesFull] + \setKV[SeyesFull]{#1} + \begin{tikzpicture}[remember picture,overlay,x=1cm,y=1cm] + %grille secondaire + \foreach \L in {0,1,...,125} {\draw[\SeyesFullCoulS] ($(current page.north west)+(0,{-2.4-\L*0.2})$)--++(21,0) ;} + %grille principale + \foreach \C in {1,2,...,21} {\draw[\SeyesFullCoulP] ($(current page.north west)+({4+0.8*\C},0)$)--($(current page.south west)+({4+0.8*\C},0)$) ;} + \foreach \L in {0,1,...,30} {\draw[\SeyesFullCoulP] ($(current page.north west)+(0,{-3-\L*0.8})$)--++(21,0) ;} + %marge + \draw[\SeyesFullCoulM,thick] ($(current page.north west)+(4,0)$)--($(current page.south west)+(4,0)$) ; + \coordinate (SeyesOrigine) at ($(current page.north west)+(4,-3)$) ; + \ifboolKV[SeyesFull]{NumLignes}% + {% + \foreach \lig in {1,2,...,31} {\node[gray,inner sep=0pt,anchor=base east] at ($(SeyesOrigine)+(-0.2,{-0.8*(\lig-1)})$) {\scriptsize\sffamily \lig};} + }% + {} +} +{ + \end{tikzpicture}% +} + +\newcommand\CadreNoteSeyes[2][3]{%on précise la {ligne de début} + [hauteur] + %cadre de note + \draw[thick] ($(SeyesOrigine)+(0,{(-#2+1)*0.8})$) --++ ({17},{0}) ; + \draw[thick] ($(SeyesOrigine)+(0,{(-#2+1)*0.8})$) --++ ({0},{-#1*0.8}) ; + \draw[thick] ($(SeyesOrigine)+(0,{(-#2+1-#1)*0.8})$) --++ ({17},{0}) ; + \draw[thick] ($(SeyesOrigine)+(0,{(-#2+1)*0.8})$) rectangle++ ({#1.*0.8},{-#1*0.8}) ; + \draw[thick] ($(SeyesOrigine)+(0,{(-#2+1-#1)*0.8})$) --++ ({#1.*0.8},{#1*0.8}) ; +} + +\defKV[SeyesLigne]{% + Couleur=\xdef\SeyesLigneCouleur{#1},% + Echelle=\xdef\SeyesLigneEchelle{#1},% + Ligne=\xdef\SeyesLigne{#1},% + Largeur=\xdef\SeyesLigneLarg{#1} +} +\setKVdefault[SeyesLigne]{% + Couleur=black,% + Ligne=1,% + Echelle=1,% + Largeur=16.5 +} + +\NewDocumentCommand\LignePapierSeyes{ O{} D<>{left} D(){0,0} m }{% + \useKVdefault[SeyesLigne] + \setKV[SeyesLigne]{#1} + \node[\SeyesLigneCouleur,text width=\fpeval{\SeyesLigneLarg/\SeyesLigneEchelle}cm,align=#2,inner sep=0pt,anchor=base west,scale=\SeyesLigneEchelle] at ($(SeyesOrigine)+(0.025,{-(\SeyesLigne-1)*0.8})+(#3)$) {#4} ; + } + +\defKV[SeyesPar]{% + Couleur=\xdef\SeyesParCouleur{#1},% + TaillePolice=\xdef\SeyesParEchelle{#1},% + Espacement=\xdef\SeyesParBase{#1},% + Ligne=\xdef\SeyesPar{#1},% + Largeur=\xdef\SeyesParLarg{#1} +} +\setKVdefault[SeyesPar]{% + Couleur=black,% + Ligne=1,% + TaillePolice=11,% + Espacement=22.792,% + Largeur=16.5 +} + +\NewDocumentCommand\ParagraphePapierSeyes{ O{} D<>{justify} D(){0,0} m }{% + \useKVdefault[SeyesPar] + \setKV[SeyesPar]{#1} + \node[\SeyesParCouleur,text width=\SeyesParLarg cm,align=#2,inner sep=0pt,anchor=base west,font=\fontsize{\SeyesParEchelle}{\SeyesParBase}\selectfont] at ($(SeyesOrigine)+(0.025,{-(\SeyesPar-1)*0.8})+(#3)$) {#4} ; +} + +%------page entière 5x5 +\defKV[CxCFull]{% + Couleur=\xdef\CCFullCoul{#1},% + CouleurMarge=\xdef\CCFullCoulM{#1} +} +\setKVdefault[CxCFull]{% + Couleur=lightgray!50,% + CouleurMarge=gray, + NumLignes=false +} + +\NewDocumentEnvironment{PleinePageCinqCinq}{ O{} }%semble OK ^^ +{ + \useKVdefault[CxCFull] + \setKV[CxCFull]{#1} + \begin{tikzpicture}[remember picture,overlay,x=1cm,y=1cm] + %lignes horizontales + \foreach \L in {0,1,...,58} {\draw[\CCFullCoul] ($(current page.north west)+(0,{-0.3-\L*0.5})$)--++(21,0) ;} + %lignes verticales + \foreach \C in {0,1,...,41} {\draw[\CCFullCoul] ($(current page.north west)+({0.2+0.5*\C},0)$)--($(current page.south west)+({0.2+0.5*\C},0)$) ;} + %marge + \draw[\CCFullCoulM,thick] ($(current page.north west)+(1.7,0)$)--($(current page.south west)+(1.7,0)$) ; + \coordinate (CinqCinqOrigine) at ($(current page.north west)+(1.7,-1.3)$) ; + \ifboolKV[CxCFull]{NumLignes}% + {% + \foreach \lig in {1,2,...,57} {\node[gray,inner sep=0pt,anchor=base east] at ($(CinqCinqOrigine)+(-0.2,{-0.5*(\lig-1)})$) {\tiny\sffamily \lig};} + }% + {} + } + { + \end{tikzpicture}% +} + +\newcommand\CadreNoteCinqCinq[2][3]{%on précise la {ligne de début} + [hauteur] + %cadre de note + \draw[thick] ($(CinqCinqOrigine)+(0,{(-#2+1)*0.5})$) --++ ({19.3},{0}) ; + \draw[thick] ($(CinqCinqOrigine)+(0,{(-#2+1)*0.5})$) --++ ({0},{-#1*0.5}) ; + \draw[thick] ($(CinqCinqOrigine)+(0,{(-#2+1-#1)*0.5})$) --++ ({19.3},{0}) ; + \draw[thick] ($(CinqCinqOrigine)+(0,{(-#2+1)*0.5})$) rectangle++ ({#1.*0.5},{-#1*0.5}) ; + \draw[thick] ($(CinqCinqOrigine)+(0,{(-#2+1-#1)*0.5})$) --++ ({#1.*0.5},{#1*0.5}) ; +} + +\defKV[CCLigne]{% + Couleur=\xdef\CCLigneCouleur{#1},% + Echelle=\xdef\CCLigneEchelle{#1},% + Ligne=\xdef\CCLigne{#1},% + Largeur=\xdef\CCLigneLarg{#1} +} +\setKVdefault[CCLigne]{% + Couleur=black,% + Ligne=1,% + Echelle=1,% + Largeur=18.7 +} + +\NewDocumentCommand\LignePapierCinqCinq{ O{} D<>{left} D(){0,0} m }{% + \useKVdefault[CCLigne] + \setKV[CCLigne]{#1} + \node[\CCLigneCouleur,text width=\fpeval{\CCLigneLarg/\CCLigneEchelle}cm,align=#2,inner sep=0pt,anchor=base west,scale=\CCLigneEchelle] at ($(CinqCinqOrigine)+(0.025,{-(\CCLigne-1)*0.5})+(#3)$) {#4} ; +} + +\defKV[CCPar]{% + Couleur=\xdef\CCParCouleur{#1},% + TaillePolice=\xdef\CCParEchelle{#1},% + Espacement=\xdef\CCParBase{#1},% + Ligne=\xdef\CCPar{#1},% + Largeur=\xdef\CCParLarg{#1} +} +\setKVdefault[CCPar]{% + Couleur=black,% + Ligne=1,% + TaillePolice=11,% + Espacement=28.5,% + Largeur=18.7 +} + +\NewDocumentCommand\ParagraphePapierCinqCinq{ O{} D<>{justify} D(){0,0} m }{% + \useKVdefault[CCPar] + \setKV[CCPar]{#1} + \node[\CCParCouleur,text width=\CCParLarg cm,align=#2,inner sep=0pt,anchor=base west,font=\fontsize{\CCParEchelle}{\CCParBase}\selectfont] at ($(CinqCinqOrigine)+(0.025,{-(\CCPar-1)*0.5})+(#3)$) {#4} ; +} + +%------page entière ruled +\defKV[RuledFull]{% + Couleur=\xdef\RuledFullCoul{#1} +} +\setKVdefault[RuledFull]{% + Couleur=lightgray,% + NumLignes=false +} + +\NewDocumentEnvironment{PleinePageRuled}{ O{} }%semble OK ^^ +{ + \useKVdefault[RuledFull] + \setKV[RuledFull]{#1} + \begin{tikzpicture}[remember picture,overlay,x=1cm,y=1cm] + %lignes horizontales + \foreach \L in {1.5,2.4,...,27.6} {\draw[\RuledFullCoul] ($(current page.north west)+(0,{-\L})$)--++(21,0) ;} + %lignes verticales + \foreach \C in {3,18} {\draw[\RuledFullCoul] ($(current page.north west)+({\C},0)$)--($(current page.south west)+({\C},0)$) ;} + %origine + \coordinate (RuledOrigine) at ($(current page.north west)+(3,-1.5)$) ; + \ifboolKV[RuledFull]{NumLignes}% + {% + \foreach \lig in {1,2,...,30} {\node[gray,inner sep=0pt,anchor=base east] at ($(RuledOrigine)+(-0.2,{-0.9*(\lig-1)})$) {\tiny\sffamily \lig};} + }% + {} + } + { + \end{tikzpicture}% +} + +\newcommand\CadreNoteRuled[2][3]{%on précise la {ligne de début} + [hauteur] + %cadre de note + \draw[thick] ($(RuledOrigine)+(0,{(-#2+1)*0.9})$) --++ ({15},{0}) ; + \draw[thick] ($(RuledOrigine)+(0,{(-#2+1)*0.9})$) --++ ({0},{-#1*0.9}) ; + \draw[thick] ($(RuledOrigine)+(15,{(-#2+1)*0.9})$) --++ ({0},{-#1*0.9}) ; + \draw[thick] ($(RuledOrigine)+(0,{(-#2+1-#1)*0.9})$) --++ ({15},{0}) ; + \draw[thick] ($(RuledOrigine)+(0,{(-#2+1)*0.9})$) rectangle++ ({#1.*0.9},{-#1*0.9}) ; + \draw[thick] ($(RuledOrigine)+(0,{(-#2+1-#1)*0.9})$) --++ ({#1.*0.9},{#1*0.9}) ; +} + +\defKV[RuledLigne]{% + Couleur=\xdef\RuledLigneCouleur{#1},% + Echelle=\xdef\RuledLigneEchelle{#1},% + Ligne=\xdef\RuledLigne{#1},% + Largeur=\xdef\RuledLigneLarg{#1} +} +\setKVdefault[RuledLigne]{% + Couleur=black,% + Ligne=1,% + Echelle=1,% + Largeur=14.75 +} + +\NewDocumentCommand\LignePapierRuled{ O{} D<>{left} D(){0,0} m }{% + \useKVdefault[RuledLigne] + \setKV[RuledLigne]{#1} + \node[\RuledLigneCouleur,text width=\fpeval{\RuledLigneLarg/\RuledLigneEchelle}cm,align=#2,inner sep=0pt,anchor=base west,scale=\RuledLigneEchelle] at ($(RuledOrigine)+(0.025,{-(\RuledLigne-1)*0.9})+(#3)$) {#4} ; +} + +\defKV[RuledPar]{% + Couleur=\xdef\RuledParCouleur{#1},% + TaillePolice=\xdef\RuledParEchelle{#1},% + Espacement=\xdef\RuledParBase{#1},% + Ligne=\xdef\RuledPar{#1},% + Largeur=\xdef\RuledParLarg{#1} +} +\setKVdefault[RuledPar]{% + Couleur=black,% + Ligne=1,% + TaillePolice=11,% + Espacement=25.641,% + Largeur=14.75 +} + +\NewDocumentCommand\ParagraphePapierRuled{ O{} D<>{justify} D(){0,0} m }{% + \useKVdefault[RuledPar] + \setKV[RuledPar]{#1} + \node[\RuledParCouleur,text width=\RuledParLarg cm,align=#2,inner sep=0pt,anchor=base west,font=\fontsize{\RuledParEchelle}{\RuledParBase}\selectfont] at ($(RuledOrigine)+(0.025,{-(\RuledPar-1)*0.9})+(#3)$) {#4} ; +} + \endinput
\ No newline at end of file |