texlive[70939] Master/texmf-dist: writeongrid (13apr24)

commits+karl at tug.org commits+karl at tug.org
Sat Apr 13 22:34:21 CEST 2024


Revision: 70939
          https://tug.org/svn/texlive?view=revision&revision=70939
Author:   karl
Date:     2024-04-13 22:34:21 +0200 (Sat, 13 Apr 2024)
Log Message:
-----------
writeongrid (13apr24)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-en.pdf
    trunk/Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-en.tex
    trunk/Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-fr.pdf
    trunk/Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-fr.tex
    trunk/Master/texmf-dist/tex/latex/writeongrid/WriteOnGrid.sty

Modified: trunk/Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-en.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-en.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-en.tex	2024-04-13 20:34:11 UTC (rev 70938)
+++ trunk/Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-en.tex	2024-04-13 20:34:21 UTC (rev 70939)
@@ -45,8 +45,8 @@
 \setlength{\parindent}{0pt}
 \definecolor{LightGray}{gray}{0.9}
 
-\def\TPversion{0.1.5}
-\def\TPdate{15/11/2023}
+\def\TPversion{0.1.6}
+\def\TPdate{12/04/2024}
 
 \usepackage[most]{tcolorbox}
 \tcbuselibrary{minted}
@@ -252,6 +252,30 @@
 {\tikz \filldraw[PapierGris] (0,0) rectangle++ (6,1) node[midway,font=\bfseries\large,text=black] {\verb+PapierGris+};}
 \end{PresentationCode}
 
+\subsection{The number of squares}
+
+The number of grid squares (for individual grids and environments) can be given in several ways:
+
+\begin{itemize}
+	\item \Cle{NumSquares=<nbcols>x<nblines>} to specify manually;
+	\item \Cle{NumSquares=Auto} to fill the rest of the page (horiz. and vert.);
+	\item \Cle{NumSquares=Cx<nblines} to fill horizontally and specify the number of lines;
+	\item \Cle{NumSquares=<nbcols>xL} to fill vertically and specify the number of columns.
+\end{itemize}
+
+Note that the calculations carried out to determine the remaining \textit{space} do not take into account any elastic springs that \LaTeX\ can add to \textit{optimize} the space.
+
+\smallskip
+
+To \textit{force} the addition of additional line(s), it is possible to use:
+
+\begin{itemize}
+	\item \Cle{NumSquares=Auto*} to force the addition of one more line;
+	\item \Cle{NumSquares=Auto**} to force the addition of two more lines;
+	\item \Cle{NumSquares=Auto***} to force the addition of three more lines;
+	\item etc.
+\end{itemize}
+
 \pagebreak
 
 \section{Commands, keys and options}
@@ -501,6 +525,8 @@
 
 \part*{History}
 
+\verb|v0.1.6|~:~~~~Possibility to automatically determine L\&C based on the remaining space.
+
 \verb|v0.1.4|~:~~~~New \texttt{[keys]} + enhancements for paragraphs, for french version (for the moment\dots)
 
 \verb|v0.1.4|~:~~~~\texttt{xcolor} isn't loaded with \textsf{[table,svgnames]})

Modified: trunk/Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-fr.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-fr.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-fr.tex	2024-04-13 20:34:11 UTC (rev 70938)
+++ trunk/Master/texmf-dist/doc/latex/writeongrid/WriteOnGrid-doc-fr.tex	2024-04-13 20:34:21 UTC (rev 70939)
@@ -48,8 +48,8 @@
 \setlength{\parindent}{0pt}
 \definecolor{LightGray}{gray}{0.9}
 
-\def\TPversion{0.1.5}
-\def\TPdate{15 novembre 2023}
+\def\TPversion{0.1.6}
+\def\TPdate{12 avril 2024}
 
 \usepackage[most]{tcolorbox}
 \tcbuselibrary{minted}
@@ -266,8 +266,30 @@
 {\tikz \filldraw[PapierGris] (0,0) rectangle++ (6,1) node[midway,font=\bfseries\large,text=black] {\verb+PapierGris+};}
 \end{PresentationCode}
 
+\subsection{Le nombre de carreaux}
 
+Le nombre de carreaux de la grille (pour les quadrillages individuelles et les environnements) peuvent être donnés de plusieurs manières :
 
+\begin{itemize}
+	\item \Cle{NbCarreaux=<nbcols>x<nblignes>} pour spécifier manuellement ;
+	\item \Cle{NbCarreaux=Auto} pour remplir le reste de la page (horiz. et vert.) ;
+	\item \Cle{NbCarreaux=Cx<nblignes} pour remplir horizontalement et spécifier le nombre de lignes ;
+	\item \Cle{NbCarreaux=<nbcols>xL} pour remplir verticalement et spécifier le nombre de colonnes.
+\end{itemize}
+
+À noter que les calculs effectués pour déterminer la \textit{place} restante ne tiennent pas compte des éventuels ressorts élastiques que \LaTeX\ peut rajouter pour \textit{optimiser} la place.
+
+\smallskip
+
+Pour \textit{forcer} l'ajout de ligne(s) supplémentaire(s), il est possible d'utiliser :
+
+\begin{itemize}
+	\item \Cle{NbCarreaux=Auto*} pour forcer l'ajout d'une ligne en plus ;
+	\item \Cle{NbCarreaux=Auto**} pour forcer l'ajout de deux lignes en plus ;
+	\item \Cle{NbCarreaux=Auto***} pour forcer l'ajout de trois lignes en plus ;
+	\item etc
+\end{itemize}
+
 \pagebreak
 
 \section{Grilles individuelles}
@@ -587,6 +609,14 @@
 Un exemple \textit{détaillé}, avec le rendu en page suivante, avec quelques commentaires pour expliquer.
 
 \begin{PresentationCode}{listing only}
+\documentclass[a4paper,11pt]{article}
+\usepackage{WriteOnGrid}
+\usepackage{amsmath,amssymb}
+\usepackage{frcursive}
+\usepackage{lipsum}
+
+\begin{document}
+
 \pagestyle{empty}
 
 \begin{PleinePageSeyes}[NumLignes]%numéro de lignes pour mieux "lire"
@@ -601,18 +631,16 @@
 	%un paragraphe de quelques lignes
 	\ParagraphePapierSeyes[Ligne=10]{\cursive\lipsum[1]}
 	%un paragraphe avec des maths
-	\ParagraphePapierSeyes[Ligne=22]
-	{%
+	\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)
-	{
+	\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.}\\
@@ -620,9 +648,10 @@
 		\end{align*}
 	}
 	%un paragraphe multiligne, avec police agrandie
-	\ParagraphePapierSeyes[Echelle=1.15,Ligne=30]
-		{BlablablaBlablabla.\\BlablablaBlablablaBlablablaBlablabla.}
+	\ParagraphePapierSeyes[Echelle=1.15,Ligne=30]{BlablablaBlablabla.\\BlablablaBlablablaBlablablaBlablabla.}
 \end{PleinePageSeyes}
+
+\end{document}
 \end{PresentationCode}
 
 \newpage
@@ -813,6 +842,8 @@
 
 \section{Historique}
 
+\verb|v0.1.6|~:~~~~Possibilité de déterminer automatiquement L\&C en fonction de la place restante.
+
 \verb|v0.1.5|~:~~~~Possibilité de spécifier la réglure pour les quadrillages de type \textsf{Seyes} + meilleure gestion des paragraphes.
 
 \phantom{\texttt{v0.1.5}}~:~~~~Amélioration de la gestion des paragraphes en mode \textsf{pleine page}.

Modified: trunk/Master/texmf-dist/tex/latex/writeongrid/WriteOnGrid.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/writeongrid/WriteOnGrid.sty	2024-04-13 20:34:11 UTC (rev 70938)
+++ trunk/Master/texmf-dist/tex/latex/writeongrid/WriteOnGrid.sty	2024-04-13 20:34:21 UTC (rev 70939)
@@ -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/11/15 v0.1.5 package to write on grid lines]
+\ProvidesPackage{WriteOnGrid}[2024/04/12 v0.1.6 package to write on grid lines]
+% 0.1.6		Commande pour calculer le nombre de lignes à insérer en fin de page / options Auto
 % 0.1.5		Choix de la réglure pour le seyes (en pretest) + amélioration de la gestion des paragraphes
 % 0.1.4		Suppression des options de xcolor (définition manuelle des couleurs)
 % 0.1.3		Ajout de commandes simples pour des mini-quadrillages autonomes, sans texte
@@ -20,6 +21,33 @@
 %------Variables
 \newcounter{lgquadri}%compteur des lignes, qui sera incrémenté
 
+%-----Calcul du nombre de lignes/colonnes
+\NewDocumentCommand\GridCalcNbCols{ O{\ColAuto} m }{%
+	\IfStrEqCase{#2}{%
+		{Seyes}{\xdef#1{\fpeval{trunc((\the\linewidth)/(22.762192pt),0)}}}%
+		{5x5}{\xdef#1{\fpeval{trunc((\the\linewidth)/(14.22637pt),0)}}}%
+		{Ruled}{\xdef#1{\fpeval{trunc((\the\linewidth)/(25.607466pt),0)}}}%
+	}[\xdef#1{\fpeval{trunc((\the\linewidth)/(22.762192pt),0)}}]%
+}
+
+\NewDocumentCommand\GridCalcNbLignes{ O{\LgnAuto} m }{%
+	\edef\measurepage{\dimexpr\pagegoal-\pagetotal\relax}
+	\IfStrEqCase{#2}{%
+		{Seyes}{\xdef#1{\fpeval{trunc((\the\measurepage)/(22.762192pt),0)}}}%
+		{5x5}{\xdef#1{\fpeval{trunc((\the\measurepage)/(14.22637pt),0)}}}%
+		{Ruled}{\xdef#1{\fpeval{trunc((\the\measurepage)/(25.607466pt),0)}}}%
+	}[\xdef#1{\fpeval{trunc((\the\measurepage)/(22.762192pt),0)}}]%
+}
+
+\NewDocumentCommand\GridCalcAuto{ O{\LgnAuto} O{\ColAuto} m }{%
+	\edef\measurepage{\dimexpr\pagegoal-\pagetotal\relax}
+	\IfStrEqCase{#3}{%
+		{Seyes}{\xdef#1{\fpeval{trunc((\the\measurepage)/(22.762192pt),0)}}\xdef#2{\fpeval{trunc((\the\linewidth)/(22.762192pt),0)}}}%
+		{5x5}{\xdef#1{\fpeval{trunc((\the\measurepage)/(14.22637pt),0)}}\xdef#2{\fpeval{trunc((\the\linewidth)/(14.22637pt),0)}}}%
+		{Ruled}{\xdef#1{\fpeval{trunc((\the\measurepage)/(25.607466pt),0)}}\xdef#2{\fpeval{trunc((\the\linewidth)/(25.607466pt),0)}}}%
+	}[\xdef#1{\fpeval{trunc((\the\measurepage)/(22.762192pt),0)}}\xdef#2{\fpeval{trunc((\the\linewidth)/(22.762192pt),0)}}]%
+}
+
 %-----Couleurs utiles
 \definecolor{TyrianPurple}{rgb}{0.4,0.01,0.24}
 \definecolor{PapierRose}{HTML}{E6B8E6}
@@ -78,7 +106,35 @@
 	\IfSubStr{#2}{/}%on récupère les couleurs
 		{\StrCut{#2}{/}{\QuadCoulA}{\QuadCoulB}}
 		{\def\QuadCoulA{#2}\def\QuadCoulB{#2}}%
-	\StrCut{\QuadNbCar}{x}{\QuadNbCol}{\QuadNbLig}%
+	%détermination des nb de carreaux, sans unite... ? TEST !!!!!!
+	\IfSubStr{\QuadNbCar}{Auto}%
+		{%
+			\GridCalcAuto[\QuadNbLig][\QuadNbCol]{\QuadType}%
+			\IfSubStr{\QuadNbCar}{Auto*}%
+				{%
+					\StrCount{\QuadNbCar}{*}[\tmpnbetoiles]%
+					\xdef\QuadNbLig{\inteval{\QuadNbLig+\tmpnbetoiles}}%
+				}%
+				{}%
+		}%
+		{%
+			\IfBeginWith{\QuadNbCar}{C}%
+				{%
+					\GridCalcNbCols[\QuadNbCol]{\QuadType}%
+					\StrBehind{\QuadNbCar}{x}[\QuadNbLig]%
+				}%
+				{%
+					\IfEndWith{\QuadNbCar}{L}%
+						{%
+							\GridCalcNbLignes[\QuadNbLig]{\QuadType}%
+							\StrBefore{\QuadNbCar}{x}[\QuadNbCol]%
+						}%
+						{%
+							\StrCut{\QuadNbCar}{x}{\QuadNbCol}{\QuadNbLig}%
+						}%
+				}%
+		}%
+	%suite des calculs
 	\IfStrEq{\QuadType}{Seyes}%les types de quadrillages
 		{\xdef\ValeurCarreau{0.8}\xdef\CoeffUnite{\fpeval{(\QuadReglureSeyes)/2}}}%
 		{}%
@@ -88,7 +144,6 @@
 	\IfStrEq{\QuadType}{Ruled}%
 		{\xdef\ValeurCarreau{0.9}\xdef\CoeffUnite{1}}%
 		{}%
-		
 	\IfSubStr{\QuadElar}{/}%on récupère les élargissements G et D
 		{\StrCut{\QuadElar}{/}{\QuadElarG}{\QuadElarD}}%
 		{\def\QuadElarG{\QuadElar}\def\QuadElarD{\QuadElar}}%
@@ -133,7 +188,35 @@
 	\IfSubStr{#2}{/}%on récupère les couleurs
 		{\StrCut{#2}{/}{\QuadCoulA}{\QuadCoulB}}
 		{\def\QuadCoulA{#2}\def\QuadCoulB{#2}}%
-	\StrCut{\QuadNbCar}{x}{\QuadNbCol}{\QuadNbLig}%
+	%détermination des nb de carreaux, sans unite... ? TEST !!!!!!
+	\IfSubStr{\QuadNbCar}{Auto}%
+		{%
+			\GridCalcAuto[\QuadNbLig][\QuadNbCol]{\QuadType}%
+			\IfSubStr{\QuadNbCar}{Auto*}%
+				{%
+					\StrCount{\QuadNbCar}{*}[\tmpnbetoiles]%
+					\xdef\QuadNbLig{\inteval{\QuadNbLig+\tmpnbetoiles}}%
+				}%
+				{}%
+		}%
+		{%
+			\IfBeginWith{\QuadNbCar}{C}%
+				{%
+					\GridCalcNbCols[\QuadNbCol]{\QuadType}%
+					\StrBehind{\QuadNbCar}{x}[\QuadNbLig]%
+				}%
+				{%
+					\IfEndWith{\QuadNbCar}{L}%
+						{%
+							\GridCalcNbLignes[\QuadNbLig]{\QuadType}%
+							\StrBefore{\QuadNbCar}{x}[\QuadNbCol]%
+						}%
+						{%
+							\StrCut{\QuadNbCar}{x}{\QuadNbCol}{\QuadNbLig}%
+						}%
+				}%
+		}%
+	%suite des calculs
 	\IfStrEq{\QuadType}{Seyes}%les types de quadrillages
 		{\xdef\ValeurCarreau{0.8}\xdef\CoeffUnite{\fpeval{(\QuadReglureSeyes)/2}}}%
 		{}%
@@ -204,7 +287,35 @@
 	\IfSubStr{#2}{/}%on récupère les couleurs
 		{\StrCut{#2}{/}{\QuadCoulA}{\QuadCoulB}}
 		{\def\QuadCoulA{#2}\def\QuadCoulB{#2}}%
-	\StrCut{\QuadNbCar}{x}{\QuadNbCol}{\QuadNbLig}%
+	%détermination des nb de carreaux, sans unite... ? TEST !!!!!!
+	\IfSubStr{\QuadNbCar}{Auto}%
+		{%
+			\GridCalcAuto[\QuadNbLig][\QuadNbCol]{\QuadType}%
+			\IfSubStr{\QuadNbCar}{Auto*}%
+				{%
+					\StrCount{\QuadNbCar}{*}[\tmpnbetoiles]%
+					\xdef\QuadNbLig{\inteval{\QuadNbLig+\tmpnbetoiles}}%
+				}%
+				{}%
+		}%
+		{%
+			\IfBeginWith{\QuadNbCar}{C}%
+				{%
+					\GridCalcNbCols[\QuadNbCol]{\QuadType}%
+					\StrBehind{\QuadNbCar}{x}[\QuadNbLig]%
+				}%
+				{%
+					\IfEndWith{\QuadNbCar}{L}%
+						{%
+							\GridCalcNbLignes[\QuadNbLig]{\QuadType}%
+							\StrBefore{\QuadNbCar}{x}[\QuadNbCol]%
+						}%
+						{%
+							\StrCut{\QuadNbCar}{x}{\QuadNbCol}{\QuadNbLig}%
+						}%
+				}%
+		}%
+	%suite des calculs
 	\IfStrEq{\QuadType}{Seyes}%les types de quadrillages
 		{\xdef\ValeurCarreau{0.8}}%
 		{}%
@@ -258,7 +369,35 @@
 	\IfSubStr{#2}{/}%on récupère les couleurs
 		{\StrCut{#2}{/}{\QuadCoulA}{\QuadCoulB}}
 		{\def\QuadCoulA{#2}\def\QuadCoulB{#2}}%
-	\StrCut{\QuadNbCar}{x}{\QuadNbCol}{\QuadNbLig}%
+	%détermination des nb de carreaux, sans unite... ? TEST !!!!!!
+	\IfSubStr{\QuadNbCar}{Auto}%
+		{%
+			\GridCalcAuto[\QuadNbLig][\QuadNbCol]{\QuadType}%
+			\IfSubStr{\QuadNbCar}{Auto*}%
+				{%
+					\StrCount{\QuadNbCar}{*}[\tmpnbetoiles]%
+					\xdef\QuadNbLig{\inteval{\QuadNbLig+\tmpnbetoiles}}%
+				}%
+				{}%
+		}%
+		{%
+			\IfBeginWith{\QuadNbCar}{C}%
+				{%
+					\GridCalcNbCols[\QuadNbCol]{\QuadType}%
+					\StrBehind{\QuadNbCar}{x}[\QuadNbLig]%
+				}%
+				{%
+					\IfEndWith{\QuadNbCar}{L}%
+						{%
+							\GridCalcNbLignes[\QuadNbLig]{\QuadType}%
+							\StrBefore{\QuadNbCar}{x}[\QuadNbCol]%
+						}%
+						{%
+							\StrCut{\QuadNbCar}{x}{\QuadNbCol}{\QuadNbLig}%
+						}%
+				}%
+		}%
+	%suite des calculs
 	\IfStrEq{\QuadType}{Seyes}%les types de quadrillages
 		{\xdef\ValeurCarreau{0.8}}%
 		{}%
@@ -354,7 +493,7 @@
 			{%
 				\foreach \lig in {1,...,\inteval{\SeyesFullNbLignP+1}} {\node[gray,inner sep=0pt,anchor=base east] at ($(SeyesOrigine)+(-0.2,{-0.4*\SeyesFullReglureSeyes*(\lig-1)})$) {\scriptsize\sffamily\lig};}
 			}%
-			{}
+			{}%
 }
 {
 	\end{tikzpicture}%



More information about the tex-live-commits mailing list.