texlive[62949] Master/texmf-dist: letgut (22mar22)

commits+karl at tug.org commits+karl at tug.org
Wed Apr 6 00:15:26 CEST 2022


Revision: 62949
          http://tug.org/svn/texlive?view=revision&revision=62949
Author:   karl
Date:     2022-04-06 00:15:26 +0200 (Wed, 06 Apr 2022)
Log Message:
-----------
letgut (22mar22)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/lualatex/letgut/CHANGELOG.md
    trunk/Master/texmf-dist/doc/lualatex/letgut/README.md
    trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-code.pdf
    trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-code.tex
    trunk/Master/texmf-dist/doc/lualatex/letgut/letgut.pdf
    trunk/Master/texmf-dist/doc/lualatex/letgut/letgut.tex
    trunk/Master/texmf-dist/source/lualatex/letgut/letgut-banner.org
    trunk/Master/texmf-dist/source/lualatex/letgut/letgut.org
    trunk/Master/texmf-dist/tex/lualatex/letgut/letgut-banner.sty
    trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.cbx
    trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.cls
    trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.dbx
    trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.lbx

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-banner-code.pdf
    trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-banner-code.tex
    trunk/Master/texmf-dist/tex/lualatex/letgut/letgut-francophony-icon.pdf

Removed Paths:
-------------
    trunk/Master/texmf-dist/tex/lualatex/letgut/Flag_of_La_Francophonie-crop.pdf

Modified: trunk/Master/texmf-dist/doc/lualatex/letgut/CHANGELOG.md
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/letgut/CHANGELOG.md	2022-04-05 22:14:40 UTC (rev 62948)
+++ trunk/Master/texmf-dist/doc/lualatex/letgut/CHANGELOG.md	2022-04-05 22:15:26 UTC (rev 62949)
@@ -7,6 +7,12 @@
 
 ## [Unreleased]
 
+## [0.9.1] - 2022-03-22
+
+### Changed
+File renamed (Karl Berry request)
+
 ## [0.9] - 2022-03-18
 
-### Added First public testing release
+### Added
+First public testing release

Modified: trunk/Master/texmf-dist/doc/lualatex/letgut/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/letgut/README.md	2022-04-05 22:14:40 UTC (rev 62948)
+++ trunk/Master/texmf-dist/doc/lualatex/letgut/README.md	2022-04-05 22:15:26 UTC (rev 62949)
@@ -9,7 +9,7 @@
 
 Release
 -------
-2022-03-18 v0.9
+2022-03-22 v0.9.1
 
 Development
 -----------

Added: trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-banner-code.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-banner-code.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-banner-code.pdf	2022-04-05 22:14:40 UTC (rev 62948)
+++ trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-banner-code.pdf	2022-04-05 22:15:26 UTC (rev 62949)

Property changes on: trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-banner-code.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-banner-code.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-banner-code.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-banner-code.tex	2022-04-05 22:15:26 UTC (rev 62949)
@@ -0,0 +1,806 @@
+% Created 2022-03-22 mar. 11:25
+% Intended LaTeX compiler: lualatex
+\documentclass{letgut}
+                                \setmainfont{KpRoman}
+\setsansfont{KpSans}
+\setmonofont[Scale = MatchLowercase]{RobotoMono}
+\letgutsetup{editorial=false}
+\input{listings-conf}
+\author{Association GUTenberg}
+\date{\today}
+\title{Support for the banner of the newsletter “La Lettre de GUTenberg”}
+\begin{document}
+
+
+\section{Identification}
+\label{sec:org4c9ba67}
+
+\begin{lstlisting}
+% This is file `letgut.cls',
+% generated with the Emacs Org-babel utility.
+%
+% The original source file is letgut-banner.org
+%
+% -------------:| ---------------------------------------------------
+% letgut-banner:| Package for the banner of the newsletter
+%               | “La Lettre GUTenberg”
+%        Author:| Association GUTenberg
+%        E-mail:| secretariat at gutenberg.eu.org
+%       License:| Released under the LaTeX Project Public License
+%               |  v1.3c or later
+%           See:| http://www.latex-project.org/lppl.txt
+%
+% Copyright (C) 1994-2022 by Association GUTenberg
+% <secretariat at gutenberg.eu.org>
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License (LPPL), either
+% version 1.3c of this license or (at your option) any later
+% version.  The latest version of this license is in the file:
+%
+% http://www.latex-project.org/lppl.txt
+%
+% This work is “maintained” (as per LPPL maintenance status)
+% by Association GUTenberg.
+\end{lstlisting}
+
+\section{Implementation}
+\label{sec:orgb1ea800}
+
+These document classes can only be used with \LaTeXe, so we make
+sure that an appropriate message is displayed when another \TeX{}
+format is used.
+
+\begin{lstlisting}
+\NeedsTeXFormat{LaTeX2e}[2020-10-01]
+\end{lstlisting}
+
+Now, we can announce the package name and its version:
+
+\begin{lstlisting}
+\ProvidesExplPackage{letgut-banner}
+{2022-03-22}
+{0.9.1}
+{
+  Package for the banner of the newsletter “La Lettre de GUTenberg”
+}
+\end{lstlisting}
+
+\subsection{Packages loaded}
+\label{sec:org09b0cd2}
+
+In order to provide class options, we load the \package{l3keys2e} which provides
+\LaTeXe{} option processing using \LaTeX3 keys:
+
+\begin{lstlisting}
+\RequirePackage{l3keys2e}
+\end{lstlisting}
+
+Till the Lua-based color will be  added to the core \package{l3color} approach,
+we have to rely on \package{xcolor}
+
+\begin{lstlisting}
+\RequirePackage{xcolor}
+\end{lstlisting}
+
+We want the material added to the first page to be not selectable in order to let the
+reader who wants to copy the interesting text be able to select it (see below).
+
+\begin{lstlisting}
+\RequirePackage{accsupp}
+\end{lstlisting}
+
+What follows has to be done at this end of the preamble, otherwise the font set
+with \lstinline+\setmainfont+ in the preamble isn't taken in account in the banner.
+
+We define an option for the color of the text in the “L” (that has to be the
+same as the page color of the document).
+
+\begin{lstlisting}
+\keys_define:nn { letgut-banner }
+{
+  , pagecolor .clist_gset:N = \g__letgutbanner_pagecolor_clist
+  , pagecolor .initial:n = { 1,1,1 }
+}
+\ProcessKeysOptions { letgut-banner }
+\end{lstlisting}
+
+\begin{lstlisting}
+\AddToHook{begindocument}{
+\end{lstlisting}
+
+\begin{lstlisting}
+\cs_generate_variant:Nn \color_fill:nn { nV }
+\end{lstlisting}
+
+\subsection{Declarations}
+\label{sec:org61842b5}
+
+\subsubsection{Dimensions}
+\label{sec:org447090b}
+
+\begin{lstlisting}
+\dim_new:N \g__letgutbanner_area_height_dim
+\dim_new:N \g__letgutbanner_La_height_dim
+\dim_new:N \g__letgutbanner_La_depth_dim
+\dim_new:N \g__letgutbanner_La_yoffset_dim
+\dim_new:N \g__letgutbanner_banner_vertical_contents_width_dim
+\dim_new:N \g__letgutbanner_largest_LETR_box_height_dim
+\dim_new:N \g__letgutbanner_between_letters_yoffset_dim
+\dim_new:N \g__letgutbanner_between_letters_vertical_space_dim
+\dim_new:N \g__letgutbanner_banner_padding_dim
+\dim_if_exist:NF \g__letgutbanner_first_page_shrink_dim {
+  \dim_new:N \g__letgutbanner_first_page_shrink_dim
+}
+\end{lstlisting}
+
+\begin{itemize}
+\item Dimensions of the page. If the present package is used with the
+\class*{letgut}, they are borrowed from it. Otherwise, they are set to default
+values. For this, we first generate a variant of \lstinline+\dim_const:Nn+ (see
+\url{https://github.com/latex3/latex3/issues/947\#issuecomment-860950569}).
+\begin{lstlisting}
+\cs_generate_variant:Nn \dim_const:Nn { NV }
+\dim_if_exist:NTF \c__letgut_textheight_dim {
+  \dim_const:NV \c__letgutbanner_textheight_dim
+  \c__letgut_textheight_dim
+}{
+  \dim_const:Nn \c__letgutbanner_textheight_dim
+  { 25cm }
+}
+\dim_if_exist:NTF \c__letgut_textwidth_dim {
+  \dim_const:NV \c__letgutbanner_textwidth_dim
+  \c__letgut_textwidth_dim
+}{
+  \dim_const:Nn \c__letgutbanner_textwidth_dim
+  { 14cm }
+}
+\dim_if_exist:NTF \c__letgut_lmargin_dim {
+  \dim_const:NV \c__letgutbanner_lmargin_dim
+    \c__letgut_lmargin_dim
+}{
+  \dim_const:Nn \c__letgutbanner_lmargin_dim
+  { 5cm }
+}
+\dim_if_exist:NTF \c__letgut_tmargin_dim {
+  \dim_const:NV \c__letgutbanner_tmargin_dim
+    \c__letgut_tmargin_dim
+}{
+  \dim_const:Nn \c__letgutbanner_tmargin_dim
+  { 2.92cm }
+  % \dim_const:Nn \c__letgutbanner_tmargin_dim
+  % { 3cm }
+}
+\dim_if_exist:NTF \c__letgut_head_dim {
+  \dim_const:NV \c__letgutbanner_head_dim
+    \c__letgut_head_dim
+}{
+  \dim_const:Nn \c__letgutbanner_head_dim
+  { 0.6cm }
+}
+\dim_if_exist:NTF \c__letgut_headsep_dim {
+  \dim_const:NV \c__letgutbanner_headsep_dim
+    \c__letgut_headsep_dim
+}{
+  \dim_const:Nn \c__letgutbanner_headsep_dim
+  { 0.82cm }
+  % \dim_const:Nn \c__letgutbanner_headsep_dim
+  % { 0.9cm }
+}
+\dim_if_exist:NTF \c__letgut_marginparwidth_dim {
+  \dim_const:NV \c__letgutbanner_marginparwidth_dim
+  \c__letgut_marginparwidth_dim
+}{
+  \dim_const:Nn \c__letgutbanner_marginparwidth_dim
+  { 3.74cm }
+}
+\end{lstlisting}
+\item Dimensions of the banner. If the present package is used with the
+\class*{letgut}, they are borrowed from it. Otherwise, they are set to
+default values.
+\begin{itemize}
+\item Thickness of the “L”.
+\begin{lstlisting}
+\dim_if_exist:NTF \c__letgut_banner_thickness_dim {
+  \dim_const:NV \c__letgutbanner_banner_thickness_dim
+  \c__letgut_banner_thickness_dim
+}{
+  \dim_const:Nn \c__letgutbanner_banner_thickness_dim
+  { 4cm }
+}
+\end{lstlisting}
+\item Height of the “L” (that of the text area plus 3cm).
+\begin{lstlisting}
+\dim_if_exist:NTF \c__letgut_banner_height_dim {
+  \dim_const:NV \c__letgutbanner_banner_height_dim
+    \c__letgut_banner_height_dim
+}{
+  \dim_const:Nn \c__letgutbanner_banner_height_dim  {
+    \c__letgutbanner_textheight_dim
+    +
+    3cm
+  }
+}
+\end{lstlisting}
+\item Initial padding of the text embedded in the vertical bar of the “L”.
+\begin{lstlisting}
+\dim_const:Nn \c__letgutbanner_banner_padding_dim  { .25cm }
+\end{lstlisting}
+\item Width of the “L” (the width (\(w\)) of the text zone plus the width (\(l\)) of
+the left margin minus half the difference between the width of the left
+margin and the width (\(d\)) of the “L”: \(=w+l-(l-d)/2=w+(l+d)/2\)).
+\begin{lstlisting}
+\dim_const:Nn \c__letgutbanner_banner_width_dim  {
+  \c__letgutbanner_textwidth_dim
+  +
+  (
+  \c__letgutbanner_banner_thickness_dim
+  +
+  \c__letgutbanner_lmargin_dim
+  )/2
+}
+\end{lstlisting}
+\item Initial width of the text embedded in the “L” vertical bar.
+\begin{lstlisting}
+\dim_const:Nn
+\c__letgutbanner_banner_vertical_contents_width_dim {
+  \c__letgutbanner_banner_thickness_dim
+  -
+  2\c__letgutbanner_banner_padding_dim
+}
+\end{lstlisting}
+\item Width of the text embedded in the horizontal bar of the “L” (of the text
+area plus half the difference between that of the left margin and that of
+the thickness of the “L”, minus the padding -- and not 2 times the
+padding because this text will be stuck to its left “margin”).
+\begin{lstlisting}
+\dim_const:Nn
+\c__letgutbanner_banner_horizontal_contents_width_dim {
+  \c__letgutbanner_textwidth_dim
+  - (
+  \c__letgutbanner_banner_thickness_dim
+  -
+  \c__letgutbanner_lmargin_dim
+  )/2
+  -
+  \c__letgutbanner_banner_padding_dim
+}
+\end{lstlisting}
+\end{itemize}
+\end{itemize}
+
+\subsubsection{Boxes}
+\label{sec:org5711d86}
+
+New boxes, for each of the letters in the word “LETTRE” (!), and then for the
+rest of the content listed in the banner.
+\begin{lstlisting}
+\box_new:N \g__letgutbanner_L_box
+\box_new:N \g__letgutbanner_E_box
+\box_new:N \g__letgutbanner_T_box
+\box_new:N \g__letgutbanner_R_box
+\box_new:N \g__letgutbanner_La_box
+\box_new:N \g__letgutbanner_GUTenberg_box
+\box_new:N \g__letgutbanner_largest_LETR_box
+\box_new:N \g__letgutbanner_g_box
+\end{lstlisting}
+
+\subsubsection{Floating point numbers}
+\label{sec:orge5b5c6b}
+
+\begin{itemize}
+\item Minimum percentage of the common height of the letters of the word “LETTRE”
+that their line spacing must represent.
+\end{itemize}
+\begin{lstlisting}
+\fp_const:Nn \c__letgutbanner_leading_minimum_percent_fp { 0.15 }
+\end{lstlisting}
+\begin{itemize}
+\item Factor applied to the line spacing between “La” and the 1st letter of
+“LETTRE” compared to that between the letters of “LETTRE”.
+\end{itemize}
+\begin{lstlisting}
+\fp_const:Nn \c__letgutbanner_leading_La_factor_fp { 1.5 }
+\end{lstlisting}
+
+\subsection{Application des dimensions de la page}
+\label{sec:orgbda0ae2}
+
+\begin{lstlisting}
+\geometry{
+  asymmetric,
+  textheight    = \c__letgutbanner_textheight_dim,
+  textwidth     = \c__letgutbanner_textwidth_dim,
+  lmargin       = \c__letgutbanner_lmargin_dim,
+  tmargin       = \c__letgutbanner_tmargin_dim,
+  head          = \c__letgutbanner_head_dim,
+  headsep       = \c__letgutbanner_headsep_dim,
+  marginparwidth= \c__letgutbanner_marginparwidth_dim,
+  % showframe,
+  % verbose,
+}
+\end{lstlisting}
+
+\subsection{Filling of the boxes}
+\label{sec:orgb3e9382}
+\begin{lstlisting}
+\hbox_gset:Nn \g__letgutbanner_L_box { \textbf{L} }
+\hbox_gset:Nn \g__letgutbanner_E_box { \textbf{E} }
+\hbox_gset:Nn \g__letgutbanner_T_box { \textbf{T} }
+\hbox_gset:Nn \g__letgutbanner_R_box { \textbf{R} }
+\hbox_gset:Nn \g__letgutbanner_La_box { \textbf{\textit{La}} }
+\hbox_gset:Nn \g__letgutbanner_GUTenberg_box {
+  \textbf{\textit{GUTenberg}}
+}
+\hbox_gset:Nn \g__letgutbanner_g_box { \textbf{g} }
+\end{lstlisting}
+
+\subsection{Computations}
+\label{sec:orgdd18dd8}
+
+Determination of the widths of each of the letter boxes of the word “LETTRE”.
+\begin{lstlisting}
+\dim_const:Nn \c__letgutbanner_L_width_dim {
+  \box_wd:N \g__letgutbanner_L_box
+}
+\dim_const:Nn \c__letgutbanner_E_width_dim {
+  \box_wd:N \g__letgutbanner_E_box
+}
+\dim_const:Nn \c__letgutbanner_T_width_dim {
+  \box_wd:N \g__letgutbanner_T_box
+}
+\dim_const:Nn \c__letgutbanner_R_width_dim {
+  \box_wd:N \g__letgutbanner_R_box
+}
+\end{lstlisting}
+Determination of the largest of these widths, stored in the scratch dimension
+\lstinline+\g_tmpa_dim+.
+\begin{lstlisting}
+\dim_gset:Nn \g_tmpa_dim {
+  \fp_eval:n {
+    max (
+    \c__letgutbanner_L_width_dim,
+    \c__letgutbanner_E_width_dim,
+    \c__letgutbanner_T_width_dim,
+    \c__letgutbanner_R_width_dim,
+    )
+  }pt
+}
+\end{lstlisting}
+Determination of the (1st) box whose width is the largest of all (\lstinline+argmax+, as
+it were).
+\begin{lstlisting}
+\box_gset_eq:NN \g__letgutbanner_largest_LETR_box \dim_case:nnF
+{ \g_tmpa_dim }
+{
+  { \c__letgutbanner_L_width_dim } { \g__letgutbanner_L_box }
+  { \c__letgutbanner_E_width_dim } { \g__letgutbanner_E_box }
+  { \c__letgutbanner_T_width_dim } { \g__letgutbanner_T_box }
+  { \c__letgutbanner_R_width_dim } { \g__letgutbanner_R_box }
+}
+{ No~ idea! }
+\end{lstlisting}
+Resize the box containing “GUTenberg” to the width of the text embedded in the
+horizontal bar of the “L”.
+\begin{lstlisting}
+\box_gresize_to_wd:Nn \g__letgutbanner_GUTenberg_box {
+  \c__letgutbanner_banner_horizontal_contents_width_dim
+}
+\end{lstlisting}
+Determination of the height and depth of the box containing “GUTenberg” resized.
+\begin{lstlisting}
+\dim_const:Nn \c__letgutbanner_GUTenberg_height_dim {
+  \box_ht:N \g__letgutbanner_GUTenberg_box
+}
+\dim_const:Nn \c__letgutbanner_GUTenberg_depth_dim  {
+  \box_dp:N \g__letgutbanner_GUTenberg_box
+}
+\end{lstlisting}
+Determining the size of the vertical offset of the box containing the resized
+“GUTenberg”, so that it is vertically centered in the horizontal bar of the “L”:
+the box positioned in \(0\) would be at the very bottom of the box containing the
+banner so with base line at the bottom the horizontal bar of the “L” so we raise
+it first by its depth (\(d\)) and then by half the difference between the heights
+(\(H\)) of the horizontal bar of the “L” and (\(h+d\)) total of the box containing
+“GUTenberg” resized (\(=d+H/2-(h+d)/2=(H-h+d)/2\)).
+\begin{lstlisting}
+\dim_const:Nn \c__letgutbanner_GUTenberg_yoffset_dim {
+  (
+  \c__letgutbanner_banner_thickness_dim
+  -
+  \c__letgutbanner_GUTenberg_height_dim
+  +
+  \c__letgutbanner_GUTenberg_depth_dim
+  )/2
+}
+\end{lstlisting}
+Once the height of the zone devoted to “La LETTRE” in the vertical bar of the
+“L” has been fixed, the line spacing between the letters of the word “LETTRE”
+depends in fact only on the width occupied by the widest of them, by definition
+equal to the width allocated to the text embedded in the vertical bar of the
+“L”. The latter, stored in \lstinline+\g__letgutbanner_banner_vertical_contents_width_dim+, is
+initially fixed:
+\begin{lstlisting}
+\dim_gset:Nn
+\g__letgutbanner_banner_vertical_contents_width_dim
+\c__letgutbanner_banner_vertical_contents_width_dim
+\end{lstlisting}
+but, to avoid this line spacing being too small (or even negative), we test that
+it is greater than a certain threshold, equal to a certain minimum percentage of
+the height common to the letters of the word “LETTRE”, stored in:
+
+\lstinline+\c__letgutbanner_leading_minimum_percent_fp+
+
+and fixed at 0.15. If this is not the
+case, we reduce (by 1pt):
+
+\lstinline+\g__letgutbanner_banner_vertical_contents_width_dim+
+
+and loop until it is the case.
+\begin{lstlisting}
+\dim_do_until:nNnn {
+  \g__letgutbanner_between_letters_vertical_space_dim
+}
+>
+{
+  \fp_use:N\c__letgutbanner_leading_minimum_percent_fp
+  \g__letgutbanner_largest_LETR_box_height_dim
+}{
+\end{lstlisting}
+Resize the largest of these boxes to the width of the text embedded in the “L”.
+\begin{lstlisting}
+\box_gresize_to_wd:Nn \g__letgutbanner_largest_LETR_box {
+  \g__letgutbanner_banner_vertical_contents_width_dim
+}
+\end{lstlisting}
+Height of this resized larger box.
+\begin{lstlisting}
+\dim_gset:Nn \g__letgutbanner_largest_LETR_box_height_dim {
+  \box_ht:N \g__letgutbanner_largest_LETR_box
+}
+\end{lstlisting}
+Resize the boxes for each of the letters in the word “LETTRE” so that they are
+all the same height as the widest of them.
+\begin{lstlisting}
+\box_gresize_to_ht:Nn \g__letgutbanner_L_box {
+  \g__letgutbanner_largest_LETR_box_height_dim
+}
+\box_gresize_to_ht:Nn \g__letgutbanner_E_box {
+  \g__letgutbanner_largest_LETR_box_height_dim
+}
+\box_gresize_to_ht:Nn \g__letgutbanner_T_box {
+  \g__letgutbanner_largest_LETR_box_height_dim
+}
+\box_gresize_to_ht:Nn \g__letgutbanner_R_box {
+  \g__letgutbanner_largest_LETR_box_height_dim
+}
+\end{lstlisting}
+Resize the box containing “La” to the width of the text embedded in the “L”
+vertical bar.
+\begin{lstlisting}
+\box_gresize_to_wd:Nn \g__letgutbanner_La_box {
+  \g__letgutbanner_banner_vertical_contents_width_dim
+}
+\end{lstlisting}
+Determine the height (\(h\)) and depth (\(d\)) of the resized box containing “La”.
+\begin{lstlisting}
+\dim_gset:Nn \g__letgutbanner_La_height_dim {
+  \box_ht:N \g__letgutbanner_La_box
+}
+\dim_gset:Nn \g__letgutbanner_La_depth_dim  {
+  \box_dp:N \g__letgutbanner_La_box
+}
+\end{lstlisting}
+Determining the size of the vertical offset of the resized box containing “La”
+so that its top is, relative to the top of the “L”, offset by the same amount as
+the bottom of the box containing “GUTenberg” is offset from the bottom of the
+“L” (i.e., the distance from the top of the page to the top of “La” and the
+distance from the bottom of the page to the baseline of “GUTenberg” are
+identical).
+\begin{lstlisting}
+\dim_gset:Nn \g__letgutbanner_La_yoffset_dim {
+  \c__letgutbanner_banner_height_dim
+  -
+  \c__letgutbanner_GUTenberg_yoffset_dim
+  -
+  \g__letgutbanner_La_height_dim
+  +
+  \g__letgutbanner_La_depth_dim
+}
+\end{lstlisting}
+For the following, the area containing the letters of the word “LETTRE” aligned
+vertically is fixed, defined as follows:
+\begin{itemize}
+\item its top is the baseline of “La”,
+\item its bottom is the baseline of “GUTenberg”.
+\end{itemize}
+Determination of the height of this area.
+\begin{lstlisting}
+\dim_gset:Nn \g__letgutbanner_area_height_dim {
+  \g__letgutbanner_La_yoffset_dim
+  -
+  \g__letgutbanner_La_depth_dim
+  -
+  \c__letgutbanner_GUTenberg_yoffset_dim
+}
+\end{lstlisting}
+Determining the vertical jump (\(s\)) between the letters in the word “LETTRE”
+with the constraints that:
+\begin{itemize}
+\item the top of the 1st letter (“L”) is \(3e/2\) below the top of the area (where
+\(e\) is the common vertical space separating the letters of the word
+“LETTRE”),
+\item the baseline of the last letter (“E”) is merged with the bottom of the area,
+\item this jump must not be less than 20 \% of the common height \(h\) to all these
+letters i.e.:
+
+\lstinline+\g__letgutbanner_largest_LETR_box_height_dim+
+
+otherwise the size of the largest of these boxes is reduced to less than the
+width of the text embedded in the “L”.
+\end{itemize}
+
+The sum of :
+\begin{itemize}
+\item the 5 vertical spaces (\(5e\)) between the letters in the word “LETTRE”,
+\item the 6 common heights (\(6h\)) to all these letters,
+\item \(3e/2\),
+\end{itemize}
+must equal the height (\(H\)) of the zone. So we have \(H=3e/2+5e+6h\), that is
+\(e=2(H-6h)/13\). Once initialized, the vertical jump between the letters is
+\(s=e+h\) that is \(s=(2H+h)/13\). Therefore:
+
+\begin{enumerate}
+\item Determine the vertical half-space between the letters.
+\begin{lstlisting}
+\dim_set:Nn \l_tmpa_dim {
+  (
+  \g__letgutbanner_area_height_dim
+  -
+  6\g__letgutbanner_largest_LETR_box_height_dim
+  )/13
+}
+\end{lstlisting}
+\item Vertical space between letters.
+\begin{lstlisting}
+\dim_gset:Nn \g__letgutbanner_between_letters_vertical_space_dim {
+  2\l_tmpa_dim
+}
+\end{lstlisting}
+\item If this space does not check the condition explained above, we reduce:
+
+\lstinline+\g__letgutbanner_banner_vertical_contents_width_dim+
+
+and loop.
+\begin{lstlisting}
+\dim_gsub:Nn \g__letgutbanner_banner_vertical_contents_width_dim {
+  1pt
+  }
+}
+\end{lstlisting}
+\end{enumerate}
+The width allocated to the text embedded in the vertical bar of the “L” may have
+been re-evaluated, so the padding (which must be symmetrical) may have changed
+as well.
+\begin{lstlisting}
+\dim_gset:Nn \g__letgutbanner_banner_padding_dim {
+  (
+  \c__letgutbanner_banner_thickness_dim
+  -
+  \g__letgutbanner_banner_vertical_contents_width_dim
+  )/2
+}
+\end{lstlisting}
+\begin{enumerate}
+\item Determination of the vertical offset of the 1st letter (“L”).
+\begin{lstlisting}
+\dim_const:Nn \c__letgutbanner_first_letter_yoffset_dim {
+  \g__letgutbanner_La_yoffset_dim
+  -
+  \g__letgutbanner_largest_LETR_box_height_dim
+  -
+  \fp_use:N \c__letgutbanner_leading_La_factor_fp
+  \g__letgutbanner_between_letters_vertical_space_dim
+}
+\end{lstlisting}
+\item Determination of the vertical jump between letters.
+\begin{lstlisting}
+\dim_gset:Nn \g__letgutbanner_between_letters_yoffset_dim {
+  \g__letgutbanner_between_letters_vertical_space_dim
+  +
+  \g__letgutbanner_largest_LETR_box_height_dim
+}
+\end{lstlisting}
+\end{enumerate}
+Resize the box containing “g” to the width of the text.
+\begin{lstlisting}
+\box_gresize_to_wd:Nn \g__letgutbanner_g_box {
+  \c__letgutbanner_textwidth_dim
+}
+\end{lstlisting}
+Calculates the size by which the height of the text box on the 1st page must be
+reduced so that the banner does not encroach on the text. Relative to the top of
+the page:
+\begin{itemize}
+\item the top of the horizontal bar of “L” is at a distance equal to the sum of :
+\begin{itemize}
+\item the distance between this top of page and the top of the vertical bar of
+“L”, equal to the height (\(p\)) of the paper minus the height (\(l\)) of “L”
+\end{itemize}
+\end{itemize}
+\begin{lstlisting}
+\dim_gset:Nn \g__letgutbanner_first_page_shrink_dim {
+  \c__letgutbanner_tmargin_dim
+  +
+  \c__letgutbanner_textheight_dim
+  +
+  \c__letgutbanner_banner_thickness_dim
+  -
+  .5\paperheight
+  -
+  .5\c__letgutbanner_banner_height_dim
+  +
+  .5\baselineskip
+}
+\end{lstlisting}
+Automatic addition on the 1st page (only) of the banner.
+\begin{lstlisting}
+\AddToHookNext{shipout/background}{
+\end{lstlisting}
+We want the material added to this page to be not selectable in order to let the
+reader who wants to copy the interesting text be able to select it.
+\begin{lstlisting}
+\BeginAccSupp{ActualText={}}
+\end{lstlisting}
+We put now the big “L” at the right place.
+\begin{lstlisting}
+\put(
+.5\c__letgutbanner_lmargin_dim-.5\c__letgutbanner_banner_thickness_dim
+,
+-.5\paperheight-.5\c__letgutbanner_banner_height_dim
+){
+  \put(0,0){
+    \rule{
+      \c__letgutbanner_banner_width_dim
+    }{
+      \c__letgutbanner_banner_thickness_dim
+    }
+  }
+  \put(0,0){
+    \rule{
+      \c__letgutbanner_banner_thickness_dim
+    }{
+      \c__letgutbanner_banner_height_dim
+    }
+  }
+\end{lstlisting}
+The color should not be systematically white, but should be identical to the one
+chosen for the page background.
+\begin{lstlisting}
+  % \color_fill:nV {rgb}{ \g__letgutbanner_pagecolor_clist }
+  \color[rgb]{ \g__letgutbanner_pagecolor_clist }
+  \put(
+  \g__letgutbanner_banner_padding_dim
+  ,
+  \g__letgutbanner_La_yoffset_dim
+  ){
+    \box_use:N \g__letgutbanner_La_box
+  }
+  \put(
+  \g__letgutbanner_banner_padding_dim
+  ,
+  \c__letgutbanner_first_letter_yoffset_dim
+  -0\g__letgutbanner_between_letters_yoffset_dim
+  ){
+    \box_use:N \g__letgutbanner_L_box
+  }
+  \put(
+  \g__letgutbanner_banner_padding_dim
+  ,
+  \c__letgutbanner_first_letter_yoffset_dim
+  -1\g__letgutbanner_between_letters_yoffset_dim
+  ){
+    \box_use:N \g__letgutbanner_E_box
+  }
+  \put(
+  \g__letgutbanner_banner_padding_dim
+  ,
+  \c__letgutbanner_first_letter_yoffset_dim
+  -2\g__letgutbanner_between_letters_yoffset_dim
+  ){
+    \box_use:N \g__letgutbanner_T_box
+  }
+  \put(
+  \g__letgutbanner_banner_padding_dim
+  ,
+  \c__letgutbanner_first_letter_yoffset_dim
+  -3\g__letgutbanner_between_letters_yoffset_dim
+  ){
+    \box_use:N \g__letgutbanner_T_box
+  }
+  \put(
+  \g__letgutbanner_banner_padding_dim
+  ,
+  \c__letgutbanner_first_letter_yoffset_dim
+  -4\g__letgutbanner_between_letters_yoffset_dim
+  ){
+    \box_use:N \g__letgutbanner_R_box
+  }
+  \put(
+  \g__letgutbanner_banner_padding_dim
+  ,
+  \c__letgutbanner_first_letter_yoffset_dim
+  -5\g__letgutbanner_between_letters_yoffset_dim
+  ){
+    \box_use:N \g__letgutbanner_E_box
+  }
+  \put(
+  \c__letgutbanner_banner_thickness_dim
+  ,
+  \c__letgutbanner_GUTenberg_yoffset_dim
+  ){
+    \box_use:N \g__letgutbanner_GUTenberg_box
+  }
+  % \color_fill:n {black!10}
+  \color{ black!10 }
+  \put(
+  .5\c__letgutbanner_lmargin_dim+.5\c__letgutbanner_banner_thickness_dim
+  ,
+  .5\paperheight
+  +
+  .5\c__letgutbanner_banner_height_dim
+  -
+  \c__letgutbanner_tmargin_dim
+  ){
+    \box_move_down:nn {.5\c__letgutbanner_textheight_dim}
+    {\box_use:N \g__letgutbanner_g_box}
+  }
+}
+\end{lstlisting}
+We end the part which isn't selectable.
+\begin{lstlisting}
+\EndAccSupp{}
+}
+\end{lstlisting}
+
+We close \lstinline+\AddToHook{begindocument}+.
+
+\begin{lstlisting}
+}
+\end{lstlisting}
+
+If the package is used with another class than \class{letgut}, we reduce the
+textheight of the first page of the height of the horizontal bar of the “L”.
+
+\begin{lstlisting}
+\@ifclassloaded{letgut}{
+}{
+  \AddToHook{begindocument/end}{%
+    \enlargethispage{
+      - \g__letgutbanner_first_page_shrink_dim
+    }
+    \thispagestyle{empty}
+  }
+}
+\end{lstlisting}
+
+\section{Example file (\texttt{letgut-banner-example.tex})}
+\label{sec:org4c5e60d}
+
+\begin{lstlisting}
+\documentclass[twoside]{article}
+\usepackage{fontspec}
+\usepackage[a4paper]{geometry}
+\usepackage{fancyhdr}
+\usepackage{letgut-banner}
+\usepackage{lipsum}
+\setmainfont{TeX Gyre Schola}
+\fancyhf{}
+\fancyhead[RO,LE]{\thepage}
+\fancyhead[RE,LO]{Test~\textsf{letgut-banner}}
+\pagestyle{fancy}
+\begin{document}
+\lipsum[1-20]
+\end{document}
+\end{lstlisting}
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-banner-code.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-code.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-code.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-code.tex	2022-04-05 22:14:40 UTC (rev 62948)
+++ trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-code.tex	2022-04-05 22:15:26 UTC (rev 62949)
@@ -1,4 +1,4 @@
-% Created 2022-03-18 ven. 19:02
+% Created 2022-03-22 mar. 11:24
 % Intended LaTeX compiler: lualatex
 \documentclass{letgut}
                                 \setmainfont{KpRoman}
@@ -88,8 +88,8 @@
 
 \begin{lstlisting}
 \ProvidesExplClass{letgut}
-{2022-03-18}
-{0.9}
+{2022-03-22}
+{0.9.1}
 {
   Class~ for~ the~ newsletter~
   “\c__letgut_La_lettre_gutenberg_tl”
@@ -1928,7 +1928,7 @@
 \NewDocumentCommand {\francophony} {  } {
   \raisebox{-1.5pt}{
     \includegraphics[width=\f at size pt]{
-      Flag_of_La_Francophonie-crop
+      letgut-francophony-icon
     }
   }
 }
@@ -2497,7 +2497,7 @@
 \end{lstlisting}
 The keys options are created.
 \begin{lstlisting}
-\keys_define:nn { gzt/bookreview }
+\keys_define:nn { letgut/bookreview }
 {
   title .tl_gset:N = \g__letgut_bookreview_title_tl,
   frontcover .tl_gset:N = \g__letgut_bookreview_frontcover_tl,
@@ -2523,7 +2523,7 @@
 \cs_generate_variant:Nn \msg_error:nnnn { nnVV }
 \NewDocumentEnvironment{bookreview}{ m }
 {
-  \keys_set:nn { gzt/bookreview } { #1 }
+  \keys_set:nn { letgut/bookreview } { #1 }
   \section{\g__letgut_bookreview_title_tl}
   \tl_if_empty:NTF \g__letgut_bookreview_frontcover_tl {
     \msg_warning:nnV{letgut}{frontcover-missing}{
@@ -2992,7 +2992,7 @@
 \end{itemize}
 
 \begin{lstlisting}
-\ProvidesFile{letgut.lbx}[2022-03-18 v0.9 letgut localization]
+\ProvidesFile{letgut.lbx}[2022-03-22 v0.9.1 letgut localization]
 \InheritBibliographyExtras{french}
 \DeclareBibliographyStrings{
   inherit          = {french},
@@ -3006,7 +3006,7 @@
 create the corresponding new entry).
 
 \begin{lstlisting}
-\ProvidesFile{letgut.dbx}[2022-03-18 v0.9 letgut data model macros]
+\ProvidesFile{letgut.dbx}[2022-03-22 v0.9.1 letgut data model macros]
 \DeclareBibliographyDriver{bookreview}{%
   \usebibmacro{bibindex}%
   \usebibmacro{begentry}%
@@ -3061,7 +3061,7 @@
 We provide a specific \lstinline+biblatex+ citation style .
 
 \begin{lstlisting}
-\ProvidesFile{letgut.cbx}[2022-03-18 v0.9 letgut base citation style]
+\ProvidesFile{letgut.cbx}[2022-03-22 v0.9.1 letgut base citation style]
 \RequireCitationStyle{numeric}
 \end{lstlisting}
 

Modified: trunk/Master/texmf-dist/doc/lualatex/letgut/letgut.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/lualatex/letgut/letgut.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/letgut/letgut.tex	2022-04-05 22:14:40 UTC (rev 62948)
+++ trunk/Master/texmf-dist/doc/lualatex/letgut/letgut.tex	2022-04-05 22:15:26 UTC (rev 62949)
@@ -88,7 +88,7 @@
 }
 \author{Association GUTenberg}
 \date{%
-  Version 0.9 en date du \today%
+  Version 0.9.1 en date du \today%
   \texorpdfstring{%
     \\
     \url{https://framagit.org/gutenberg/classe-lettre-gut}%

Modified: trunk/Master/texmf-dist/source/lualatex/letgut/letgut-banner.org
===================================================================
--- trunk/Master/texmf-dist/source/lualatex/letgut/letgut-banner.org	2022-04-05 22:14:40 UTC (rev 62948)
+++ trunk/Master/texmf-dist/source/lualatex/letgut/letgut-banner.org	2022-04-05 22:15:26 UTC (rev 62949)
@@ -36,7 +36,7 @@
 
   Release
   -------
-  2022-03-18 v0.9
+  2022-03-22 v0.9.1
 
   Development
   -----------
@@ -89,8 +89,8 @@
 
 #+begin_src latex
 \ProvidesExplPackage{letgut-banner}
-{2022-03-18}
-{0.9}
+{2022-03-22}
+{0.9.1}
 {
   Package for the banner of the newsletter “La Lettre de GUTenberg”
 }

Modified: trunk/Master/texmf-dist/source/lualatex/letgut/letgut.org
===================================================================
--- trunk/Master/texmf-dist/source/lualatex/letgut/letgut.org	2022-04-05 22:14:40 UTC (rev 62948)
+++ trunk/Master/texmf-dist/source/lualatex/letgut/letgut.org	2022-04-05 22:15:26 UTC (rev 62949)
@@ -22,21 +22,186 @@
 #+PROPERTY: header-args :padline no :tangle letgut.cls :exports both :noweb yes :eval always
 #+export_file_name: letgut-code
 
+* Ctanomat file                                                    :noexport:
+
+We crete here a ~ctanomat~ description file in order to simplify the upload of
+new versions of the class on CTAN.
+
+#+begin_src markdown :tangle letgut.pkg
+  % This is a description file for ctan-o-mat.
+  % It manages uploads of a package to
+  % CTAN -- the Comprehensive TeX Archive Network.
+  %
+  % The syntax is roughly oriented towards (La)TeX.
+  % Two form of the macros are used. The simple macros take one argument
+  % in braces. Here the argument may not contain embedded macros.
+  %
+  % The second form uses an environment enclosed in \begin{}/\end{}.
+  % In the long text fields logo macros can be used.
+  %
+  % You should enter your values between the begin and the end of the
+  % named type.
+  % -------------------------------------------------------------------------
+  % This field contains the CTAN id of the package.
+  % The value is optional.
+  % The value is restricted to 32 characters.
+  \pkg{letgut}
+  % -------------------------------------------------------------------------
+  % This field contains the version of the package.
+  % The value is optional.
+  % The value is restricted to 32 characters.
+  \version{0.9.1 2022-03-22}
+  % -------------------------------------------------------------------------
+  % This field contains the name of the author(s).
+  % The value is optional.
+  % The value is restricted to 128 characters.
+  \author{Association GUTenberg}
+  % -------------------------------------------------------------------------
+  % This field contains the email address of the uploader.
+  % The value is an email address.
+  % The value is restricted to 255 characters.
+  \email{secretariat at gutenberg.eu.org}
+  % -------------------------------------------------------------------------
+  % This field contains the name of the uploader.
+  % The value is restricted to 255 characters.
+  \uploader{Denis Bitouzé}
+  % -------------------------------------------------------------------------
+  % This field contains the directory on CTAN.
+  % The value is optional.
+  % The value is restricted to 255 characters.
+  \ctanPath{/macros/luatex/latex/letgut}
+  % -------------------------------------------------------------------------
+  % This field contains the license.
+  % The value is optional.
+  % The value is restricted to 2048 characters.
+  % Multiple values are allowed.
+  \license{lppl1.3c}
+  % -------------------------------------------------------------------------
+  % This field contains the URL of the home page.
+  % The value is optional.
+  % The value is a URL.
+  % The value is restricted to 255 characters.
+  % Multiple values are allowed.
+  \home{}
+  % -------------------------------------------------------------------------
+  % This field contains the URL of the bug tracker.
+  % The value is optional.
+  % The value is a URL.
+  % The value is restricted to 255 characters.
+  % Multiple values are allowed.
+  \bugtracker{https://framagit.org/gutenberg/classe-lettre-gut/-/issues}
+  % -------------------------------------------------------------------------
+  % This field contains the support channel.
+  % The value is optional.
+  % The value is a URL.
+  % The value is restricted to 255 characters.
+  % Multiple values are allowed.
+  \support{}
+  % -------------------------------------------------------------------------
+  % This field contains the version management.
+  % The value is optional.
+  % The value is a URL.
+  % The value is restricted to 255 characters.
+  % Multiple values are allowed.
+  \repository{https://framagit.org/gutenberg/classe-lettre-gut/}
+  % -------------------------------------------------------------------------
+  % This field contains the developer's channel.
+  % The value is optional.
+  % The value is a URL.
+  % The value is restricted to 255 characters.
+  % Multiple values are allowed.
+  \development{https://framagit.org/gutenberg/classe-lettre-gut/-/merge_requests}
+  % -------------------------------------------------------------------------
+  % This field contains the update indicator; true for update.
+  % The value is optional.
+  % The value is restricted to 8 characters.
+  \update{true}
+  % -------------------------------------------------------------------------
+  % This field contains the topics id.
+  % The value is optional.
+  % The value is restricted to 1024 characters.
+  % Multiple values are allowed.
+  \topic{}
+  % -------------------------------------------------------------------------
+  % This field contains the text for the mail announcement.
+  % The value is optional.
+  % The value is restricted to 8192 characters.
+  \begin{announcement}
+  \end{announcement}
+  % -------------------------------------------------------------------------
+  % This field contains the one-liner for the package.
+  % The value is optional.
+  % The value is restricted to 128 characters.
+  \summary{Class for the newsletter “La Lettre GUTenberg” of the French TeX User Group GUTenberg}
+  % -------------------------------------------------------------------------
+  % This field contains the descriptive abstract for the package.
+  % The value is optional.
+  % The value is restricted to 4096 characters.
+  \begin{description}
+  # English
+
+  The French TeX User Group GUTenberg has been publishing “The GUTenberg Letter”,
+  its irregular newsletter, since February 1993.
+
+  For this purpose, a dedicated, in-house (La)TeX class was gradually created but,
+  depending on new needs and on the people who were publishing the Newsletter, its
+  development was somewhat erratic; in particular, it would not have been possible
+  to publish its code as it was. In addition, its documentation was non-existent.
+
+  The Board of Directors of the association, elected in November 2020, wished to
+  provide a better structured, more perennial and documented class, able to be
+  published on the CTAN. This is now done with the present `letgut` class.
+
+  # French
+
+  L'association GUTenberg publie « La Lettre GUTenberg », son bulletin
+  irrégulomestriel, depuis février 1993.
+
+  Pour ce faire, une classe (La)TeX dédiée, maison, a peu à peu vu le jour mais,
+  au gré des nouveaux besoins et des personnes qui ont assuré la publication de la
+  Lettre, son développement a été quelque peu erratique ; il n'aurait notamment
+  pas été possible de publier son code en l'état. En outre, sa documentation était
+  inexistante.
+
+  Le Conseil d'Administration de l'association, élu en novembre 2020, a souhaité
+  fournir une classe mieux structurée, davantage pérenne et documentée, à même
+  d'être publiée sur le CTAN. C'est désormais chose faite avec la présente classe
+  `letgut`.
+  \end{description}
+  % -------------------------------------------------------------------------
+  % This field contains the note to the CTAN upload managers.
+  % The value is optional.
+  % The value is restricted to 2048 characters.
+  \begin{note}
+  \end{note}
+  % -------------------------------------------------------------------------
+  % This field contains the archive file.
+  % The value is the file name of the archive to be uploaded.
+  % It may have a relative or absolute directory.
+  \file{../dtx-forge/letgut.zip}
+#+end_src
+
 * Changelog file :noexport:
 
 #+begin_src markdown :tangle CHANGELOG.md
-# Changelog
-All notable changes to this project will be documented in this file.
+  # Changelog
+  All notable changes to this project will be documented in this file.
 
-The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
-and this project adheres to [Semantic
-Versioning](http://semver.org/spec/v2.0.0.html).
+  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
+  and this project adheres to [Semantic
+  Versioning](http://semver.org/spec/v2.0.0.html).
 
-## [Unreleased]
+  ## [Unreleased]
 
-## [0.9] - 2022-03-18
+  ## [0.9.1] - 2022-03-22
 
-### Added First public testing release
+  ### Changed
+  File renamed (Karl Berry request)
+
+  ## [0.9] - 2022-03-18
+
+  ### Added
+  First public testing release
 #+end_src
 
 * Readme file :noexport:
@@ -52,7 +217,7 @@
 
 Release
 -------
-2022-03-18 v0.9
+2022-03-22 v0.9.1
 
 Development
 -----------
@@ -182,8 +347,8 @@
 
 #+begin_src latex
   \ProvidesExplClass{letgut}
-  {2022-03-18}
-  {0.9}
+  {2022-03-22}
+  {0.9.1}
   {
     Class~ for~ the~ newsletter~
     “\c__letgut_La_lettre_gutenberg_tl”
@@ -2004,7 +2169,7 @@
    \NewDocumentCommand {\francophony} {  } {
      \raisebox{-1.5pt}{
        \includegraphics[width=\f at size pt]{
-         Flag_of_La_Francophonie-crop
+         letgut-francophony-icon
        }
      }
    }
@@ -2556,7 +2721,7 @@
   #+end_src
 The keys options are created.
   #+begin_src latex
-  \keys_define:nn { gzt/bookreview }
+  \keys_define:nn { letgut/bookreview }
   {
     title .tl_gset:N = \g__letgut_bookreview_title_tl,
     frontcover .tl_gset:N = \g__letgut_bookreview_frontcover_tl,
@@ -2582,7 +2747,7 @@
       \cs_generate_variant:Nn \msg_error:nnnn { nnVV }
       \NewDocumentEnvironment{bookreview}{ m }
       {
-        \keys_set:nn { gzt/bookreview } { #1 }
+        \keys_set:nn { letgut/bookreview } { #1 }
         \section{\g__letgut_bookreview_title_tl}
         \tl_if_empty:NTF \g__letgut_bookreview_frontcover_tl {
           \msg_warning:nnV{letgut}{frontcover-missing}{
@@ -3037,7 +3202,7 @@
 - the books advertisements.
 
 #+begin_src latex :tangle letgut.lbx :exports both
-  \ProvidesFile{letgut.lbx}[2022-03-18 v0.9 letgut localization]
+  \ProvidesFile{letgut.lbx}[2022-03-22 v0.9.1 letgut localization]
   \InheritBibliographyExtras{french}
   \DeclareBibliographyStrings{
     inherit          = {french},
@@ -3051,7 +3216,7 @@
   create the corresponding new entry).
 
   #+begin_src latex :tangle letgut.dbx :exports both
-  \ProvidesFile{letgut.dbx}[2022-03-18 v0.9 letgut data model macros]
+  \ProvidesFile{letgut.dbx}[2022-03-22 v0.9.1 letgut data model macros]
   \DeclareBibliographyDriver{bookreview}{%
     \usebibmacro{bibindex}%
     \usebibmacro{begentry}%
@@ -3106,7 +3271,7 @@
 We provide a specific ~biblatex~ citation style .
 
 #+begin_src latex :tangle letgut.cbx :exports both
-  \ProvidesFile{letgut.cbx}[2022-03-18 v0.9 letgut base citation style]
+  \ProvidesFile{letgut.cbx}[2022-03-22 v0.9.1 letgut base citation style]
   \RequireCitationStyle{numeric}
 #+end_src
 

Deleted: trunk/Master/texmf-dist/tex/lualatex/letgut/Flag_of_La_Francophonie-crop.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/tex/lualatex/letgut/letgut-banner.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/letgut/letgut-banner.sty	2022-04-05 22:14:40 UTC (rev 62948)
+++ trunk/Master/texmf-dist/tex/lualatex/letgut/letgut-banner.sty	2022-04-05 22:15:26 UTC (rev 62949)
@@ -26,8 +26,8 @@
 % by Association GUTenberg.
 \NeedsTeXFormat{LaTeX2e}[2020-10-01]
 \ProvidesExplPackage{letgut-banner}
-{2022-03-18}
-{0.9}
+{2022-03-22}
+{0.9.1}
 {
   Package for the banner of the newsletter “La Lettre de GUTenberg”
 }

Added: trunk/Master/texmf-dist/tex/lualatex/letgut/letgut-francophony-icon.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/tex/lualatex/letgut/letgut-francophony-icon.pdf
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/letgut/letgut-francophony-icon.pdf	2022-04-05 22:14:40 UTC (rev 62948)
+++ trunk/Master/texmf-dist/tex/lualatex/letgut/letgut-francophony-icon.pdf	2022-04-05 22:15:26 UTC (rev 62949)

Property changes on: trunk/Master/texmf-dist/tex/lualatex/letgut/letgut-francophony-icon.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.cbx
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.cbx	2022-04-05 22:14:40 UTC (rev 62948)
+++ trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.cbx	2022-04-05 22:15:26 UTC (rev 62949)
@@ -1,4 +1,4 @@
-\ProvidesFile{letgut.cbx}[2022-03-18 v0.9 letgut base citation style]
+\ProvidesFile{letgut.cbx}[2022-03-22 v0.9.1 letgut base citation style]
 \RequireCitationStyle{numeric}
 \DeclareFieldFormat[bookreview]{title}{\textbf{\emph{#1}}}
 \renewbibmacro*{title}{%

Modified: trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.cls
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.cls	2022-04-05 22:14:40 UTC (rev 62948)
+++ trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.cls	2022-04-05 22:15:26 UTC (rev 62949)
@@ -44,8 +44,8 @@
 }
 \ExplSyntaxOff
 \ProvidesExplClass{letgut}
-{2022-03-18}
-{0.9}
+{2022-03-22}
+{0.9.1}
 {
   Class~ for~ the~ newsletter~
   “\c__letgut_La_lettre_gutenberg_tl”
@@ -1141,7 +1141,7 @@
 \NewDocumentCommand {\francophony} {  } {
   \raisebox{-1.5pt}{
     \includegraphics[width=\f at size pt]{
-      Flag_of_La_Francophonie-crop
+      letgut-francophony-icon
     }
   }
 }
@@ -1558,7 +1558,7 @@
 }
 \tl_new:N \g__letgut_bookreview_frontcover_tl
 \tl_new:N \g__letgut_bookreview_bibkey_tl
-\keys_define:nn { gzt/bookreview }
+\keys_define:nn { letgut/bookreview }
 {
   title .tl_gset:N = \g__letgut_bookreview_title_tl,
   frontcover .tl_gset:N = \g__letgut_bookreview_frontcover_tl,
@@ -1574,7 +1574,7 @@
 \cs_generate_variant:Nn \msg_error:nnnn { nnVV }
 \NewDocumentEnvironment{bookreview}{ m }
 {
-  \keys_set:nn { gzt/bookreview } { #1 }
+  \keys_set:nn { letgut/bookreview } { #1 }
   \section{\g__letgut_bookreview_title_tl}
   \tl_if_empty:NTF \g__letgut_bookreview_frontcover_tl {
     \msg_warning:nnV{letgut}{frontcover-missing}{

Modified: trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.dbx
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.dbx	2022-04-05 22:14:40 UTC (rev 62948)
+++ trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.dbx	2022-04-05 22:15:26 UTC (rev 62949)
@@ -1,4 +1,4 @@
-\ProvidesFile{letgut.dbx}[2022-03-18 v0.9 letgut data model macros]
+\ProvidesFile{letgut.dbx}[2022-03-22 v0.9.1 letgut data model macros]
 \DeclareBibliographyDriver{bookreview}{%
   \usebibmacro{bibindex}%
   \usebibmacro{begentry}%

Modified: trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.lbx	2022-04-05 22:14:40 UTC (rev 62948)
+++ trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.lbx	2022-04-05 22:15:26 UTC (rev 62949)
@@ -1,4 +1,4 @@
-\ProvidesFile{letgut.lbx}[2022-03-18 v0.9 letgut localization]
+\ProvidesFile{letgut.lbx}[2022-03-22 v0.9.1 letgut localization]
 \InheritBibliographyExtras{french}
 \DeclareBibliographyStrings{
   inherit          = {french},



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