texlive[72490] Master/texmf-dist: letgut (7oct24)
commits+mseven at tug.org
commits+mseven at tug.org
Tue Oct 8 03:22:19 CEST 2024
Revision: 72490
https://tug.org/svn/texlive?view=revision&revision=72490
Author: mseven
Date: 2024-10-08 03:22:18 +0200 (Tue, 08 Oct 2024)
Log Message:
-----------
letgut (7oct24)
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-banner-code.pdf
trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-banner-code.tex
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/informations-gut.tex
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
Modified: trunk/Master/texmf-dist/doc/lualatex/letgut/CHANGELOG.md
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/letgut/CHANGELOG.md 2024-10-08 01:08:26 UTC (rev 72489)
+++ trunk/Master/texmf-dist/doc/lualatex/letgut/CHANGELOG.md 2024-10-08 01:22:18 UTC (rev 72490)
@@ -7,6 +7,21 @@
## [Unreleased]
+## [0.9.10] - 2024-10-07
+
+### Changed
+- Multiple rebuses handled
+- Paper clips (links to source files of the articles) not in the magin anymore and separated by spaces
+- Watermark letter and scale can now be specified
+
+### Fixed
+- Wrong output with \terminal
+- Title of publication in small capitals
+- Options of `letgut-banner` never taken in account
+- Not all included graphics attached to the PDF
+- Variables wrongly local or not reset
+- `\citeauthor` displayed family name in small caps
+
## [0.9.9] - 2024-03-07
### Fixed
Modified: trunk/Master/texmf-dist/doc/lualatex/letgut/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/letgut/README.md 2024-10-08 01:08:26 UTC (rev 72489)
+++ trunk/Master/texmf-dist/doc/lualatex/letgut/README.md 2024-10-08 01:22:18 UTC (rev 72490)
@@ -8,7 +8,7 @@
Release
-------
-2024-03-07 v0.9.9
+2024-10-07 v0.9.10
Development
-----------
Modified: trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-banner-code.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-banner-code.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-banner-code.tex 2024-10-08 01:08:26 UTC (rev 72489)
+++ trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-banner-code.tex 2024-10-08 01:22:18 UTC (rev 72490)
@@ -1,4 +1,4 @@
-% Created 2024-03-07 Thu 14:19
+% Created 2024-10-07 Mon 12:16
% Intended LaTeX compiler: lualatex
\documentclass{letgut}
\setmainfont{KpRoman}
@@ -13,20 +13,19 @@
\section{Readme file}
-\label{sec:org4c9ba67}
-
+\label{Readmefile-dlkgxqt0fck0}
\begin{lstlisting}
-------:| ---------------------------------------------------
letgut:| Package for the banner of the newsletter
| "La Lettre de GUTenberg"
Author:| Association GUTenberg
- E-mail:| secretariat at gutenberg.eu.org
+ E-mail:| secretariat at gutenberg-asso.fr
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>
+Copyright (C) 1994-2024 by Association GUTenberg
+ <secretariat at gutenberg-asso.fr>
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License (LPPL), either
@@ -40,11 +39,9 @@
\end{lstlisting}
\section{Implementation}
-\label{sec:org4c5e60d}
-
+\label{Implementation-ckogxqt0fck0}
\subsection{Identification}
-\label{sec:org09b0cd2}
-
+\label{ImplementationIdentification-gwqgxqt0fck0}
\begin{lstlisting}
This is file `letgut-banner.sty,
generated with the Emacs Org-babel utility.
@@ -65,8 +62,8 @@
\begin{lstlisting}
\ProvidesExplPackage{letgut-banner}
-{2022-03-17}
-{0.9}
+{2024-10-07}
+{0.10}
{
Package for the banner of the newsletter "La Lettre de GUTenberg"
}
@@ -73,15 +70,7 @@
\end{lstlisting}
\subsection{Packages loaded}
-\label{sec:org447090b}
-
-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}
-
+\label{ImplementationPackagesloaded-etvgxqt0fck0}
Till the Lua-based color will be added to the core \package{l3color} approach,
we have to rely on \package{xcolor}
@@ -96,35 +85,14 @@
\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:orgbda0ae2}
-
+\label{ImplementationDeclarations-u0ygxqt0fck0}
\subsubsection{Dimensions}
-\label{sec:org5711d86}
-
+\label{ImplementationDeclarationsDimensions-9t0hxqt0fck0}
\begin{lstlisting}
\dim_new:N \g__letgutbanner_area_height_dim
\dim_new:N \g__letgutbanner_La_height_dim
@@ -138,6 +106,7 @@
\dim_if_exist:NF \g__letgutbanner_first_page_shrink_dim {
\dim_new:N \g__letgutbanner_first_page_shrink_dim
}
+\dim_new:N \g__letgutbanner_textwidth_dim
\end{lstlisting}
\begin{itemize}
@@ -155,11 +124,9 @@
{ 25cm }
}
\dim_if_exist:NTF \c__letgut_textwidth_dim {
- \dim_const:NV \c__letgutbanner_textwidth_dim
- \c__letgut_textwidth_dim
+ \dim_gset_eq:NN \g__letgutbanner_textwidth_dim \c__letgut_textwidth_dim
}{
- \dim_const:Nn \c__letgutbanner_textwidth_dim
- { 14cm }
+ \dim_gset:Nn \g__letgutbanner_textwidth_dim { 14cm }
}
\dim_if_exist:NTF \c__letgut_lmargin_dim {
\dim_const:NV \c__letgutbanner_lmargin_dim
@@ -237,7 +204,7 @@
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
+ \g__letgutbanner_textwidth_dim
+
(
\c__letgutbanner_banner_thickness_dim
@@ -262,7 +229,7 @@
\begin{lstlisting}
\dim_const:Nn
\c__letgutbanner_banner_horizontal_contents_width_dim {
- \c__letgutbanner_textwidth_dim
+ \g__letgutbanner_textwidth_dim
- (
\c__letgutbanner_banner_thickness_dim
-
@@ -276,8 +243,7 @@
\end{itemize}
\subsubsection{Boxes}
-\label{sec:orge5b5c6b}
-
+\label{ImplementationDeclarationsBoxes-s83hxqt0fck0}
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}
@@ -292,8 +258,7 @@
\end{lstlisting}
\subsubsection{Floating point numbers}
-\label{sec:org61842b5}
-
+\label{ImplementationDeclarationsFloatingpointnumbers-e75hxqt0fck0}
\begin{itemize}
\item Minimum percentage of the common height of the letters of the word "LETTRE"
that their line spacing must represent.
@@ -309,14 +274,13 @@
\fp_const:Nn \c__letgutbanner_leading_La_factor_fp { 1.5 }
\end{lstlisting}
-\subsection{Application des dimensions de la page}
-\label{sec:orgb3e9382}
-
+\subsection{Applying the page dimensions}
+\label{ImplementationApplyingthepagedimensions-187hxqt0fck0}
\begin{lstlisting}
\geometry{
asymmetric,
textheight = \c__letgutbanner_textheight_dim,
- textwidth = \c__letgutbanner_textwidth_dim,
+ textwidth = \g__letgutbanner_textwidth_dim,
lmargin = \c__letgutbanner_lmargin_dim,
tmargin = \c__letgutbanner_tmargin_dim,
head = \c__letgutbanner_head_dim,
@@ -328,7 +292,7 @@
\end{lstlisting}
\subsection{Filling of the boxes}
-\label{sec:orgdd18dd8}
+\label{ImplementationFillingoftheboxes-q49hxqt0fck0}
\begin{lstlisting}
\hbox_gset:Nn \g__letgutbanner_L_box { \textbf{L} }
\hbox_gset:Nn \g__letgutbanner_E_box { \textbf{E} }
@@ -341,9 +305,40 @@
\hbox_gset:Nn \g__letgutbanner_g_box { \textbf{g} }
\end{lstlisting}
+\subsection{Options of the package}
+\label{ImplementationOptionsofthepackage-21ri36v0fck0}
+We define:
+
+\begin{itemize}
+\item an option for the color of the text in the "L" (that has to be the same as the
+page color of the document),
+\item an option that let us choose another letter than “g” as the watermark letter.
+\end{itemize}
+
+\begin{lstlisting}
+\keys_define:nn { letgut-banner }
+{
+ , pagecolor .clist_gset:N = \g__letgutbanner_pagecolor_clist
+ , pagecolor .initial:n = { 1,1,1 }
+ , watermark~ letter .code:n = {
+ \hbox_gset:Nn \g__letgutbanner_g_box { \textbf{#1} }
+ }
+ , watermark~ scale .tl_gset:N = \g__letgutbanner_watermark_scale_tl
+ , watermark~ scale .initial:n = 1
+}
+\ProcessKeyOptions [ letgut-banner ]
+\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.
+
+\begin{lstlisting}
+\AddToHook{begindocument}{
+\end{lstlisting}
+
+
\subsection{Computations}
-\label{sec:orgb1ea800}
-
+\label{ImplementationComputations-r7bhxqt0fck0}
Determination of the widths of each of the letter boxes of the word "LETTRE".
\begin{lstlisting}
\dim_const:Nn \c__letgutbanner_L_width_dim {
@@ -621,7 +616,11 @@
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
+ \fp_to_dim:n {
+ \g__letgutbanner_watermark_scale_tl
+ *
+ \g__letgutbanner_textwidth_dim
+ }
}
\end{lstlisting}
Calculates the size by which the height of the text box on the 1st page must be
@@ -649,6 +648,7 @@
.5\baselineskip
}
\end{lstlisting}
+
Automatic addition on the 1st page (only) of the banner.
\begin{lstlisting}
\AddToHookNext{shipout/background}{
@@ -750,7 +750,13 @@
% \color_fill:n {black!10}
\color{ black!10 }
\put(
- .5\c__letgutbanner_lmargin_dim+.5\c__letgutbanner_banner_thickness_dim
+ .5\c__letgutbanner_lmargin_dim
+ +
+ .5\c__letgutbanner_banner_thickness_dim
+ +
+ \fp_to_dim:n {
+ (1-\g__letgutbanner_watermark_scale_tl)/2*\g__letgutbanner_textwidth_dim
+ }
,
.5\paperheight
+
@@ -791,5 +797,5 @@
\end{lstlisting}
\section{Example file (\texttt{letgut-banner-example.tex})}
-\label{sec:orgaf6d8ec}
+\label{Examplefileletgutbannerexampletex-heehxqt0fck0}
\end{document}
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 2024-10-08 01:08:26 UTC (rev 72489)
+++ trunk/Master/texmf-dist/doc/lualatex/letgut/letgut-code.tex 2024-10-08 01:22:18 UTC (rev 72490)
@@ -1,4 +1,4 @@
-% Created 2024-03-07 Thu 14:19
+% Created 2024-10-07 Mon 12:16
% Intended LaTeX compiler: lualatex
\documentclass{letgut}
\setmainfont{KpRoman}
@@ -24,13 +24,13 @@
% -------:| ----------------------------------------------------
% letgut:| Class for the newsletter “La Lettre GUTenberg”
% Author:| Association GUTenberg
-% E-mail:| secretariat at gutenberg.eu.org
+% E-mail:| secretariat at gutenberg-asso.fr
% License:| Released under the LaTeX Project Public License
% | v1.3c or later
% See:| http://www.latex-project.org/lppl.txt
%
% Copyright (C) 1994-2024 by Association GUTenberg
-% <secretariat at gutenberg.eu.org>
+% <secretariat at gutenberg-asso.fr>
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License (LPPL), either
@@ -68,15 +68,22 @@
\begin{lstlisting}
\ExplSyntaxOn
-\tl_const:Nn \c__letgut_Lettre_tl { \emph{ Lettre } }
+\tl_const:Nn \c__letgut_Lettre_plain_tl { Lettre }
+\tl_const:Nn \c__letgut_Lettre_tl { \emph{ \c__letgut_Lettre_plain_tl } }
\tl_const:Nn \c__letgut_Lettres_tl {
\c__letgut_Lettre_tl \emph{ s }
}
\tl_const:Nn \c__letgut_gutenberg_tl { GUTenberg }
\tl_const:Nn \c__letgut_association_tl { association }
+\tl_const:Nn \c__letgut_Lettre_gutenberg_plain_tl {
+ \c__letgut_Lettre_plain_tl~\c_space_tl \c__letgut_gutenberg_tl
+}
\tl_const:Nn \c__letgut_Lettre_gutenberg_tl {
\c__letgut_Lettre_tl~\c_space_tl \c__letgut_gutenberg_tl
}
+\tl_const:Nn \c__letgut_la_lettre_gutenberg_plain_tl {
+ la~ \c__letgut_Lettre_gutenberg_plain_tl
+}
\tl_const:Nn \c__letgut_la_lettre_gutenberg_tl {
la~ \c__letgut_Lettre_gutenberg_tl
}
@@ -90,8 +97,8 @@
\begin{lstlisting}
\ProvidesExplClass{letgut}
-{2024-03-07}
-{0.9.9}
+{2024-10-07}
+{0.9.10}
{
Class for the newsletter “The GUTenberg Letter”
}
@@ -1144,7 +1151,10 @@
\item \lstinline+date+ for the date of the issue, either empty (hence the current (month)
date) or at the format \lstinline+YYYY-MM+ or as free input,
\item \lstinline+pagecolor+ (relevant only with the (default) \lstinline+screen+ load time option) for
-a color of the page other than the default one,
+a color of the page other than the default one (used behind the scene by the
+\lstinline+letgut-banner+ package),
+\item \lstinline+watermark letter+ for another letter than the “g” in watermark,
+\item \lstinline+watermark scale+ for the case the letter in watermark is too big,
\item \lstinline+allcolorslinks+ for the color of (all) the links,
\item \lstinline+membership-reminder+ that typesets a membership reminder on the first page,
\item \lstinline+editorial+ depending on the editorial is wanted or not,
@@ -1154,7 +1164,7 @@
\end{itemize}
\begin{lstlisting}
-\DeclareKeys[ letgut ]
+\keys_define:nn { letgut }
{
, for-readers .bool_gset:N = \g__letgut_for_readers_bool
, for-readers .initial:n = { true }
@@ -1191,6 +1201,10 @@
}
}
}
+ , watermark~ letter .tl_gset:N = \g__letgut_watermark_letter_tl
+ , watermark~ letter .initial:n = g
+ , watermark~ scale .tl_gset:N = \g__letgut_watermark_scale_tl
+ , watermark~ scale .initial:n = 1
, allcolorslinks .code:n = {
\colorlet{letgut_allcolors_links}{#1}}
, allcolorslinks .initial:V
@@ -1253,7 +1267,7 @@
\begin{lstlisting}
\fancyhf{}
\fancyhead[RO,LE]{\thepage}
-\fancyhead[RE,LO]{\g__letgut_mark_tl}
+\fancyhead[RE,LO]{\scshape \g__letgut_mark_tl}
\end{lstlisting}
\item The headers are left offset
\begin{lstlisting}
@@ -1419,6 +1433,7 @@
\subsection{Rebus}
\label{ImplementationRebus-osw8m3f0cpj0}
\begin{lstlisting}
+\int_new:N \g__letgut_rebus_int
\NewDocumentCommand{\solution}{}{\tcblower}
\NewDocumentCommand{\displaysolutions}{}{%
\tcbstoprecording\tcbinputrecords%
@@ -1453,19 +1468,20 @@
},
}
}
-\NewTColorBox[auto~ counter]{rebus}{+!O{}}{%
+\NewTColorBox{rebus}{+!O{}}{%
+ before~ title~ pre = {\int_gincr:N \g__letgut_rebus_int},
rebus~ style,
fonttitle=\bfseries,
title={Rébus},
- label={rebus@\thetcbcounter},
- after~ upper={\vpageref[ci-dessous]{solution@\thetcbcounter}},
+ label={rebus@\int_use:N\g__letgut_rebus_int},
+ after~ upper={\vpageref[ci-dessous]{solution@\int_use:N\g__letgut_rebus_int}},
after~ upper~ pre={
\par\bigskip\hfill\scriptsize\itshape
Solution\c_space_tl
},
lowerbox=ignored,
- savelowerto=rebus-\thetcbcounter.tex,
- record={\string\rebussolution*[\thetcbcounter][][]},
+ savelowerto=rebus-\int_use:N\g__letgut_rebus_int.tex,
+ record={\string\rebussolution*[\int_use:N\g__letgut_rebus_int][][]},
#1
}
\NewDocumentCommand{\rebussolution}{s +o o O{}}{%
@@ -1472,6 +1488,7 @@
\IfValueTF{#2}{
\begin{tcolorbox}[
rebus~ style,
+ label=solution@\int_use:N\g__letgut_rebus_int,
halign=justify,
before~ title={\lefthand{}~Solution~ du~ rébus\c_space_tl},
title={
@@ -1543,7 +1560,7 @@
}
\str_if_empty:NTF \g__letgut_ at title_str {
\tl_gset:Nn \g__letgut_mark_tl {
- \textit{\c__letgut_La_lettre_gutenberg_tl}
+ \c__letgut_la_lettre_gutenberg_plain_tl
}
}{
\tl_gset:Nn \g__letgut_mark_tl {
@@ -1581,7 +1598,7 @@
{
\begin{picture}(0,0)
\put(-2cm,-25.275cm){
- \includegraphics*[scale=0.96]{
+ \__letgut_orig_includegraphics*[scale=0.96]{
\c__letgut_banner_file_tl.pdf
}
}
@@ -1597,9 +1614,11 @@
\begin{lstlisting}
\msg_term:nn{letgut}{Banner~file~not~provided}
- \RequirePackage[pagecolor={\g__letgut_pagecolor_clist}]{
- letgut-banner
- }
+ \RequirePackage[
+ , pagecolor = { \g__letgut_pagecolor_clist }
+ , watermark~ letter = { \g__letgut_watermark_letter_tl }
+ , watermark~ scale = { \g__letgut_watermark_scale_tl }
+ ]{letgut-banner}
}
\end{lstlisting}
@@ -2093,7 +2112,7 @@
\begin{lstlisting}
\NewDocumentCommand {\francophony} { } {
\raisebox{-1.5pt}{
- \includegraphics*[width=\f at size pt]{
+ \__letgut_orig_includegraphics*[width=\f at size pt]{
letgut-francophony-icon
}
}
@@ -2868,7 +2887,11 @@
\citeauthor
}
\RenewDocumentCommand {\citeauthor} { O{} O{} m } {
- \AtNextCite{\DeclareNameAlias{labelname}{given-family}}
+ \AtNextCite{
+ \DeclareNameAlias{labelname}{given-family}
+ \protected\def\mkbibnamefamily#1{%
+ \textnohyphenation{#1}}%
+ }
\__letgut_old_citeauthor[#1][#2]{#3}
}
\end{lstlisting}
@@ -2876,7 +2899,7 @@
\subsection{Book reviews}
\label{ImplementationBookreviews-ekzg55h0jlj0}
\begin{lstlisting}
-\tl_new:N \g__letgut_bookreview_frontcover_tl
+\tl_new:N \l__letgut_bookreview_frontcover_tl
\tl_new:N \g__letgut_bookreview_bibkey_tl
\end{lstlisting}
The keys options are created.
@@ -2884,7 +2907,7 @@
\keys_define:nn { letgut/bookreview }
{
title .tl_gset:N = \g__letgut_bookreview_title_tl,
- frontcover .tl_gset:N = \g__letgut_bookreview_frontcover_tl,
+ frontcover .tl_set:N = \l__letgut_bookreview_frontcover_tl,
bibkey .tl_gset:N = \g__letgut_bookreview_bibkey_tl,
reviewer .tl_gset:N = \g__letgut_bookreview_reviewer_tl,
price .tl_gset:N = \g__letgut_bookreview_price_tl,
@@ -2907,9 +2930,10 @@
\cs_generate_variant:Nn \msg_error:nnnn { nnVV }
\NewDocumentEnvironment{bookreview}{ m }
{
+ \tl_gclear:N \g__letgut_bookreview_price_tl
\keys_set:nn { letgut/bookreview } { #1 }
\section{\g__letgut_bookreview_title_tl}
- \tl_if_empty:NTF \g__letgut_bookreview_frontcover_tl {
+ \tl_if_empty:NTF \l__letgut_bookreview_frontcover_tl {
\msg_warning:nnV{letgut}{frontcover-missing}{
\g__letgut_bookreview_title_tl
}
@@ -2921,7 +2945,7 @@
\begin{lstlisting}
\clist_map_inline:Nn \Gin at extensions {
- \file_if_exist:nT{\g__letgut_bookreview_frontcover_tl##1}{
+ \file_if_exist:nT{\l__letgut_bookreview_frontcover_tl##1}{
\bool_set_true:N \l__letgut_tmpa_bool
\clist_map_break:
}
@@ -2932,8 +2956,8 @@
% \raggedleft
\raisebox{-\totalheight}{
\fbox{
- \includegraphics[width=-\c__letgut_title_hoffset_dim]{
- \g__letgut_bookreview_frontcover_tl
+ \includegraphics*[width=-\c__letgut_title_hoffset_dim]{
+ \l__letgut_bookreview_frontcover_tl
}
}
}
@@ -2943,7 +2967,7 @@
{letgut}
{frontcover-file-not-found}
{\g__letgut_bookreview_title_tl}
- {\g__letgut_bookreview_frontcover_tl}
+ {\l__letgut_bookreview_frontcover_tl}
}
}
\noindent
@@ -3094,9 +3118,9 @@
\begin{lstlisting}
\cs_new_protected:Npn \__letgut_attach_non_empty_existing_file:n #1 {
- \file_get_size:nN {./#1} \tmpa_tl
- \quark_if_no_value:NF \tmpa_tl {
- \tl_if_eq:NnF \tmpa_tl {0} {
+ \file_get_size:nN {./#1.tex} \l__letgut_tmpa_tl
+ \quark_if_no_value:NF \l__letgut_tmpa_tl {
+ \tl_if_eq:NnF \l__letgut_tmpa_tl {0} {
\seq_gput_left:Nn \g__letgut_included_files_seq {
\attachfile[
description={Source~ nécessaire~ (fichier~ `#1.tex`)},
@@ -3114,7 +3138,9 @@
\FloatBarrier
\lstset{ style=__letgut_reset_listings_styles }
\acresetall%
- \input{#2}%
+ \begin{refsection}
+ \input{#2}%
+ \end{refsection}
\bool_if:NT \g__letgut_included_files_attached_bool {
\IfBooleanF {#1}{
\__letgut_attach_non_empty_existing_file:n {
@@ -3140,7 +3166,7 @@
}
}
\seq_remove_duplicates:N \g__letgut_included_files_seq
- \marginpar{\seq_use:Nn \g__letgut_included_files_seq { } }
+ \seq_use:Nn \g__letgut_included_files_seq { \c_space_tl }
\seq_clear:N \g__letgut_included_files_seq
\bool_gset_false:N \g__letgut_acronyms_file_attached_bool
\bool_gset_false:N \g__letgut_lstlanguage_file_attached_bool
@@ -3162,7 +3188,7 @@
\clist_set:Nx \l__letgut_tmpa_clist {\Gin at extensions}
\cs_new_protected:Npn \__letgut_includegraphics:nnn #1 #2 #3
{
- \file_if_exist:nTF {#3} {
+ \file_if_exist:nTF {./#3} {
\bool_if:NT \g__letgut_included_files_attached_bool {
\IfBooleanF {#1}{
\seq_gput_left:Nn \g__letgut_included_files_seq {
@@ -3172,16 +3198,15 @@
présent~ article~ (fichier~ `#3`)
},
mimetype=image
- ]
- {#3}
+ ]{./#3}
}
}
}
- \__letgut_orig_includegraphics[#2]{#3}
+ \__letgut_orig_includegraphics[#2]{./#3}
}{
\bool_gset_false:N \g__letgut_tmpa_bool
\clist_map_inline:Nn \l__letgut_tmpa_clist {%
- \file_if_exist:nTF {#3##1} {
+ \file_if_exist:nT {./#3##1} {
\clist_map_break:n {
\bool_if:NT \g__letgut_included_files_attached_bool {
\IfBooleanF {#1}{
@@ -3189,8 +3214,7 @@
\attachfile[
description={Fichier~ image~ inclus~ dans~ le~ présent~ article~ (fichier~ `#3##1`)},
mimetype=image/##1
- ]
- {#3##1}
+ ]{./#3##1}
}
}
}
@@ -3199,11 +3223,11 @@
}
}
}
- \bool_if:NF \g__letgut_tmpa_bool {
- \@latex at error{File~ `#3'~ not~ found}%
- {I~ could~ not~ locate~ the~ file~ with~ any~ of~ these~ extensions:^^J%
- \clist_use:Nn \l__letgut_tmpa_clist { ~ }^^J\@ehc}%
- }
+ % \bool_if:NF \g__letgut_tmpa_bool {
+ % \@latex at error{File~ `#3'~ not~ found}%
+ % {I~ could~ not~ locate~ the~ file~ with~ any~ of~ these~ extensions:^^J%
+ % \clist_use:Nn \l__letgut_tmpa_clist { ~ }^^J\@ehc}%
+ % }
}
}
\RenewDocumentCommand {\includegraphics} {s O{} m } {
@@ -3927,41 +3951,18 @@
style=__letgut_terminal_listings_style,
language=terminal,
},
- every~ listing~ line={%
- \textcolor{__letgut_terminal_prompt}{%
- \ttfamily%
- \bfseries%
- \__letgut_unselectable:n {#1\c_space_tl}
- }
- },
+ fontupper=\ttfamily,
+ fontlower=\ttfamily,
},
}
\end{lstlisting}
-We define now the command
+We now define the command.
\begin{lstlisting}
\cs_new_protected:Npn \__letgut_terminal:nnnn #1 #2 #3 #4
{
\bool_set_false:N \l__letgut_tmpa_bool
- \tl_if_empty:nF {#3}{
- \tcbset{tempfile=\jobname-stdin.tex}
- \exp_args:Nx \scantokens
- {
- \token_to_str:N\begin{tcbwritetemp}
- #3
- \token_to_str:N\end{tcbwritetemp}
- }
- }
- \tl_if_empty:nF {#4}{
- \tcbset{tempfile=\jobname-stdout.tex}
- \exp_args:Nx \scantokens
- {
- \token_to_str:N\begin{tcbwritetemp}
- #4
- \token_to_str:N\end{tcbwritetemp}
- }
- }
\tl_if_empty:nTF {#3}{
\tl_if_empty:nTF {#4}{
\bool_set_true:N \l__letgut_tmpa_bool
@@ -3970,24 +3971,25 @@
}
}{
\tcbset{colback=__letgut_background_terminal_stdin}
- \tl_if_empty:nTF {#4}{
- }{
+ \tl_if_empty:nF {#4}{
\tcbset{
bicolor,
- middle=0mm,
- boxsep=0mm,
colbacklower=__letgut_background_terminal_stdout,
}
}
}
\bool_if:NF \l__letgut_tmpa_bool {
- \begin{tcolorbox}[terminal={#1},#2]
+ \begin{tcolorbox}[terminal,#2]
\lstset{aboveskip=0pt}
\tl_if_empty:nF {#3}{
- \tcbset{
- tempfile=\jobname-stdin.tex,
+ \tl_if_empty:nF {#1}{
+ \textcolor{__letgut_terminal_prompt}{%
+ \ttfamily%
+ \bfseries%
+ \__letgut_unselectable:n {#1\c_space_tl}
+ }
}
- \tcbusetemplisting
+ #3
\tl_if_empty:nF {#4}{
\tcblower
}
@@ -3997,13 +3999,12 @@
\lstset{aboveskip=0pt}
}
\tcbset{
- tempfile=\jobname-stdout.tex,
every~ listing~ line={},
listing~ options~ app={
language={}
}
}
- \tcbusetemplisting
+ #4
}
\end{tcolorbox}
}
@@ -4021,7 +4022,7 @@
\subsubsection{Unicode characters with positions above 256}
\label{ImplementationListingsUnicodecharacterswithpositionsabove256-4l6h55h0jlj0}
-Unicode characters with positions above 256 causes troubles in
+Unicode characters with positions above 256 cause troubles in
listings. Here is a workaround for some of them (see
\url{https://tex.stackexchange.com/a/25396}).
@@ -4028,7 +4029,7 @@
\begin{lstlisting}
\lst at InputCatcodes
\def\lst at DefEC{%
- \lst at CCECUse \lst at ProcessLetter
+ \lst at CCECUse \lst at ProcessLetter
^^80^^81^^82^^83^^84^^85^^86^^87^^88^^89^^8a^^8b^^8c^^8d^^8e^^8f%
^^90^^91^^92^^93^^94^^95^^96^^97^^98^^99^^9a^^9b^^9c^^9d^^9e^^9f%
^^a0^^a1^^a2^^a3^^a4^^a5^^a6^^a7^^a8^^a9^^aa^^ab^^ac^^ad^^ae^^af%
@@ -4037,11 +4038,16 @@
^^d0^^d1^^d2^^d3^^d4^^d5^^d6^^d7^^d8^^d9^^da^^db^^dc^^dd^^de^^df%
^^e0^^e1^^e2^^e3^^e4^^e5^^e6^^e7^^e8^^e9^^ea^^eb^^ec^^ed^^ee^^ef%
^^f0^^f1^^f2^^f3^^f4^^f5^^f6^^f7^^f8^^f9^^fa^^fb^^fc^^fd^^fe^^ff%
- ^^^^201c^^^^201d% for “ and ”
+ ^^^^201c% for “
+ ^^^^201d% for ”
^^^^215b% for ⅛
^^^^2122% for ™
^^^^2019% for ’
^^^^0153% for œ
+ ^^^^0152% for Œ
+ ^^^^20ac% for €
+ ^^^^27e8% for ⟨
+ ^^^^27e9% for ⟩
^^00%
}
\lst at RestoreCatcodes
@@ -4088,7 +4094,7 @@
\end{itemize}
\begin{lstlisting}
-\ProvidesFile{letgut.lbx}[2024-03-07 v0.9.9 letgut localization]
+\ProvidesFile{letgut.lbx}[2024-10-07 v0.9.10 letgut localization]
\InheritBibliographyExtras{french}
\DeclareBibliographyStrings{
inherit = {french},
@@ -4102,7 +4108,7 @@
create the corresponding new entry).
\begin{lstlisting}
-\ProvidesFile{letgut.dbx}[2024-03-07 v0.9.9 letgut data model macros]
+\ProvidesFile{letgut.dbx}[2024-10-07 v0.9.10 letgut data model macros]
\DeclareBibliographyDriver{bookreview}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
@@ -4157,7 +4163,7 @@
We provide a specific \lstinline+biblatex+ citation style .
\begin{lstlisting}
-\ProvidesFile{letgut.cbx}[2024-03-07 v0.9.9 letgut base citation style]
+\ProvidesFile{letgut.cbx}[2024-10-07 v0.9.10 letgut base citation style]
\RequireCitationStyle{numeric}
\end{lstlisting}
@@ -4313,14 +4319,16 @@
% Hey, Emacs! This is a -*- mode: latex -*- file!
\enlargethispage{1.5cm}
-\small
+\scriptsize
\vspace*{-1cm}
\hspace*{-1.5cm}%
+\ExplSyntaxOn
\raisebox{-\height+0.7\baselineskip}{%
\begin{minipage}[t]{.6\textwidth}%\vspace{0pt}%
- \includegraphics*[width=\linewidth]{logo-gut.pdf}
+ \__letgut_orig_includegraphics*[width=\linewidth]{logo-gut.pdf}
\end{minipage}%
}%
+\ExplSyntaxOff
\hfill%
\begin{minipage}[t]{.5\textwidth}%\vspace{0pt}%
\footnotesize\raggedleft%
@@ -4328,7 +4336,7 @@
15 rue des Halles -- \textsc{bp} 74\\
75001 Paris\\
France\\
- \url{secretariat[at]gutenberg[dot]eu[dot]org}
+ \url{secretariat[at]gutenberg-asso[dot]fr}
\end{minipage}%
\begin{description}
@@ -4349,7 +4357,7 @@
\alertbox{%
Cette association est la vôtre : faites-nous part de
vos idées, de vos envies, de vos préoccupations
- à l'adresse \url{secretariat[at]gutenberg[dot]eu[dot]org}.%
+ à l'adresse \url{secretariat[at]gutenberg-asso[dot]fr}.%
}
% \section[Association GUTenberg (tout sur l')]
@@ -4412,7 +4420,7 @@
\item \textbf{virement bancaire}%
\footnote{Nous vous remercions de \textbf{privilégier}
le \textbf{virement bancaire}.\label{fn:1}} (\textsc{iban} :
- FR76 1870 7000 3003 0191 3568 475)%
+ FR76 3000 3001 0900 0372 6086 280)%
\leavevmode
\alertbox{%
@@ -4427,9 +4435,13 @@
\vfill
+\mbox{}
+
+\vfill{}
+
\begin{center}
\begin{tblr}{
- width=.75\linewidth,
+ width=.9\linewidth,
colspec={
% < (Just not to disturb the parentheses
% balancing detection of my editor.)
@@ -4450,7 +4462,7 @@
& \person{Bideault, Patrick} \\
Comité de rédaction :
& {Patrick Bideault, Denis Bitouzé, \\
- Céline Chevalier \& Maxime Chupin} \\
+ Céline Chevalier, Maxime Chupin \& Bastien Dumont} \\
Adresse de la rédaction : &
{
Association \gut\\
@@ -4461,8 +4473,6 @@
\acs{issn} : & \letgutissn
\end{tblr}
\end{center}
-\vfill
-\mbox{}
\clearpage
\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 2024-10-08 01:08:26 UTC (rev 72489)
+++ trunk/Master/texmf-dist/doc/lualatex/letgut/letgut.tex 2024-10-08 01:22:18 UTC (rev 72490)
@@ -377,6 +377,28 @@
défaut.
\end{docKey}
+\begin{docKeys}[doc new={2024-10-07}]
+ {
+ {
+ doc name = watermark letter,
+ doc description = {\valinitdef[g]},
+ },
+ {
+ doc name = watermark scale,
+ doc description = {\valinitdef[1]},
+ },
+ }%
+ La première page de la \lettre{} comporte, en filigrane et en gris clair,
+ (entre autre) un (très grand) \enquote{g}, composé avec la fonte
+ \enquote{normale}.
+ \begin{itemize}
+ \item La clé \refKey{watermark letter} permet de spécifier une lettre autre
+ qu'un \enquote{g} et/ou composé avec une fonte autre que \enquote{normale}.
+ \item La clé \refKey{watermark scale} permet de spécifier échelle autre que~1
+ pour cette lettre (par exemple si celle-ci s'avère par défaut trop grande).
+ \end{itemize}
+\end{docKeys}
+
\subsection{Options autres}
\label{sec:options-autres}
@@ -716,7 +738,7 @@
{ doc name = gut },
{ doc name = assogut, doc new={2023-01-14} },
{ doc name = Assogut, doc new={2023-01-14} },
- { doc name = lettresn doc new={2023-01-14} },
+ { doc name = lettres, doc new={2023-01-14} },
{ doc name = lettresgut, doc new={2023-01-14} },
{ doc name = cahier },
{ doc name = cahiers },
@@ -1109,54 +1131,21 @@
Ainsi le code suivant :
\begingroup
-\lstset{basicstyle=\ttfamily\scriptsize}
-\begin{ltx-code}[listing options app={%
- deletekeywords={[3]{latex,width,height,string,label,by,example,system,tex}},%
- deletetexcs={edef,rlap,smash,expandafter,string}%
-}]
-\terminal{time rg foobar -g "*.sty" "/home/bitouze/texlive/2022"}{
-/home/bitouze/texlive/2022/texmf-dist/tex/latex/skeyval/skeyval.sty
-445:% \usepackage[option1,option2]{foobar}
-447:% \expandafter\show\csname foobar.sty.poxkeys\endcsname
-
-/home/bitouze/texlive/2022/texmf-dist/tex/latex/thmtools/thm-restate.sty
-197:%%% support for keyval-style: restate=foobar
-
-/home/bitouze/texlive/2022/texmf-dist/tex/latex/pinlabel/pinlabel.sty
-284:\edef\foobar{[width=\@p at swidth sp,height=\@p at sheight sp]{\@p at dffile}}%
-286:\@message{\string\@includegraphics@\foobar}%
-287:\rlap{\smash{\expandafter\@includegraphics@\foobar}}%
-
-/home/bitouze/texlive/2022/texmf-dist/tex/latex/theoremref/theoremref.sty
-129: its label by ``\thlabel{foobar}''. For example,
-
-/home/bitouze/texlive/2022/texmf-dist/tex/latex/qrbill/qrbill.sty
-12:%% Marei Peischl (peiTeX) and Alex Antener (foobar LLC).
-rg -g 0,25s user 0,23s system 320% cpu 0,150 total
+% \lstset{basicstyle=\ttfamily\scriptsize}
+\begin{ltx-code}
+\terminal{lualatex}{
+This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)
+ restricted system commands enabled.
+**
}
\end{ltx-code}
donne-t-il :
-\terminal{time rg foobar -g "*.sty" "/home/bitouze/texlive/2022"}{
-/home/bitouze/texlive/2022/texmf-dist/tex/latex/skeyval/skeyval.sty
-445:% \usepackage[option1,option2]{foobar}
-447:% \expandafter\show\csname foobar.sty.poxkeys\endcsname
-
-/home/bitouze/texlive/2022/texmf-dist/tex/latex/thmtools/thm-restate.sty
-197:%%% support for keyval-style: restate=foobar
-
-/home/bitouze/texlive/2022/texmf-dist/tex/latex/pinlabel/pinlabel.sty
-284:\edef\foobar{[width=\@p at swidth sp,height=\@p at sheight sp]{\@p at dffile}}%
-286:\@message{\string\@includegraphics@\foobar}%
-287:\rlap{\smash{\expandafter\@includegraphics@\foobar}}%
-
-/home/bitouze/texlive/2022/texmf-dist/tex/latex/theoremref/theoremref.sty
-129: its label by ``\thlabel{foobar}''. For example,
-
-/home/bitouze/texlive/2022/texmf-dist/tex/latex/qrbill/qrbill.sty
-12:%% Marei Peischl (peiTeX) and Alex Antener (foobar LLC).
-rg -g 0,25s user 0,23s system 320% cpu 0,150 total
+\terminal{lualatex}{
+This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)
+ restricted system commands enabled.
+**
}
\endgroup
@@ -1290,7 +1279,7 @@
fichier local de configuration, cf. \vpageref{sec:fichier-local-de}) au
moyen de la commande :
\begin{ltx-code}
-\addbibressource{£\meta{bibliographie}£.bib}
+\addbibresource{£\meta{bibliographie}£.bib}
\end{ltx-code}
\end{dbwarning}
\end{docKey}
Modified: trunk/Master/texmf-dist/source/lualatex/letgut/letgut-banner.org
===================================================================
--- trunk/Master/texmf-dist/source/lualatex/letgut/letgut-banner.org 2024-10-08 01:08:26 UTC (rev 72489)
+++ trunk/Master/texmf-dist/source/lualatex/letgut/letgut-banner.org 2024-10-08 01:22:18 UTC (rev 72490)
@@ -2,7 +2,7 @@
#+TITLE: Support for the banner of the newsletter "La Lettre de GUTenberg"
#+AUTHOR: Association GUTenberg
-#+EMAIL: secretariat at gutenberg.eu.org
+#+EMAIL: secretariat at gutenberg-asso.fr
#+DESCRIPTION: ...
#+KEYWORDS: ...
#+LANGUAGE: en
@@ -23,6 +23,9 @@
#+export_file_name: ../../../doc/lualatex/letgut/letgut-banner-code
* Readme file
+:PROPERTIES:
+:CUSTOM_ID: Readmefile-dlkgxqt0fck0
+:END:
#+begin_src markdown :tangle no :exports none
letgut-banner - Support for the banner of the newsletter
@@ -31,12 +34,12 @@
About
-------
- This package automatically draw the banner of the newsletter "La Lettre de
+ This package automatically draws the banner of the newsletter "La Lettre de
GUTenberg" with the current main font.
Release
-------
- 2022-03-17 v0.9
+ 2024-10-07 v0.10
Development
-----------
@@ -50,13 +53,13 @@
letgut:| Package for the banner of the newsletter
| "La Lettre de GUTenberg"
Author:| Association GUTenberg
- E-mail:| secretariat at gutenberg.eu.org
+ E-mail:| secretariat at gutenberg-asso.fr
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>
+Copyright (C) 1994-2024 by Association GUTenberg
+ <secretariat at gutenberg-asso.fr>
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License (LPPL), either
@@ -70,8 +73,14 @@
#+end_src
* Implementation
+:PROPERTIES:
+:CUSTOM_ID: Implementation-ckogxqt0fck0
+:END:
** Identification
+:PROPERTIES:
+:CUSTOM_ID: ImplementationIdentification-gwqgxqt0fck0
+:END:
#+begin_src
This is file `letgut-banner.sty,
@@ -93,8 +102,8 @@
#+begin_src latex
\ProvidesExplPackage{letgut-banner}
-{2022-03-17}
-{0.9}
+{2024-10-07}
+{0.10}
{
Package for the banner of the newsletter "La Lettre de GUTenberg"
}
@@ -101,14 +110,10 @@
#+end_src
** Packages loaded
+:PROPERTIES:
+:CUSTOM_ID: ImplementationPackagesloaded-etvgxqt0fck0
+:END:
-In order to provide class options, we load the \package{l3keys2e} which provides
-\LaTeXe{} option processing using \LaTeX3 keys:
-
- #+begin_src latex
-\RequirePackage{l3keys2e}
- #+end_src
-
Till the Lua-based color will be added to the core \package{l3color} approach,
we have to rely on \package{xcolor}
@@ -123,32 +128,19 @@
\RequirePackage{accsupp}
#+end_src
-What follows has to be done at this end of the preamble, otherwise the font set
-with ~\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_src latex
- \keys_define:nn { letgut-banner }
- {
- , pagecolor .clist_gset:N = \g__letgutbanner_pagecolor_clist
- , pagecolor .initial:n = { 1,1,1 }
- }
- \ProcessKeysOptions { letgut-banner }
-#+end_src
-
-#+begin_src latex
-\AddToHook{begindocument}{
-#+end_src
-
-#+begin_src latex
\cs_generate_variant:Nn \color_fill:nn { nV }
#+end_src
** Declarations
+:PROPERTIES:
+:CUSTOM_ID: ImplementationDeclarations-u0ygxqt0fck0
+:END:
*** Dimensions
+:PROPERTIES:
+:CUSTOM_ID: ImplementationDeclarationsDimensions-9t0hxqt0fck0
+:END:
#+begin_src latex
\dim_new:N \g__letgutbanner_area_height_dim
@@ -163,6 +155,7 @@
\dim_if_exist:NF \g__letgutbanner_first_page_shrink_dim {
\dim_new:N \g__letgutbanner_first_page_shrink_dim
}
+ \dim_new:N \g__letgutbanner_textwidth_dim
#+end_src
- Dimensions of the page. If the present package is used with the
@@ -179,11 +172,9 @@
{ 25cm }
}
\dim_if_exist:NTF \c__letgut_textwidth_dim {
- \dim_const:NV \c__letgutbanner_textwidth_dim
- \c__letgut_textwidth_dim
+ \dim_gset_eq:NN \g__letgutbanner_textwidth_dim \c__letgut_textwidth_dim
}{
- \dim_const:Nn \c__letgutbanner_textwidth_dim
- { 14cm }
+ \dim_gset:Nn \g__letgutbanner_textwidth_dim { 14cm }
}
\dim_if_exist:NTF \c__letgut_lmargin_dim {
\dim_const:NV \c__letgutbanner_lmargin_dim
@@ -260,7 +251,7 @@
margin and the width ($d$) of the "L": $=w+l-(l-d)/2=w+(l+d)/2$).
#+begin_src latex
\dim_const:Nn \c__letgutbanner_banner_width_dim {
- \c__letgutbanner_textwidth_dim
+ \g__letgutbanner_textwidth_dim
+
(
\c__letgutbanner_banner_thickness_dim
@@ -285,7 +276,7 @@
#+begin_src latex
\dim_const:Nn
\c__letgutbanner_banner_horizontal_contents_width_dim {
- \c__letgutbanner_textwidth_dim
+ \g__letgutbanner_textwidth_dim
- (
\c__letgutbanner_banner_thickness_dim
-
@@ -297,6 +288,9 @@
#+end_src
*** Boxes
+:PROPERTIES:
+:CUSTOM_ID: ImplementationDeclarationsBoxes-s83hxqt0fck0
+:END:
New boxes, for each of the letters in the word "LETTRE" (!), and then for the
rest of the content listed in the banner.
@@ -312,6 +306,9 @@
#+end_src
*** Floating point numbers
+:PROPERTIES:
+:CUSTOM_ID: ImplementationDeclarationsFloatingpointnumbers-e75hxqt0fck0
+:END:
- Minimum percentage of the common height of the letters of the word "LETTRE"
that their line spacing must represent.
@@ -324,13 +321,16 @@
\fp_const:Nn \c__letgutbanner_leading_La_factor_fp { 1.5 }
#+end_src
-** Application des dimensions de la page
+** Applying the page dimensions
+:PROPERTIES:
+:CUSTOM_ID: ImplementationApplyingthepagedimensions-187hxqt0fck0
+:END:
#+begin_src latex
\geometry{
asymmetric,
textheight = \c__letgutbanner_textheight_dim,
- textwidth = \c__letgutbanner_textwidth_dim,
+ textwidth = \g__letgutbanner_textwidth_dim,
lmargin = \c__letgutbanner_lmargin_dim,
tmargin = \c__letgutbanner_tmargin_dim,
head = \c__letgutbanner_head_dim,
@@ -342,6 +342,9 @@
#+end_src
** Filling of the boxes
+:PROPERTIES:
+:CUSTOM_ID: ImplementationFillingoftheboxes-q49hxqt0fck0
+:END:
#+begin_src latex
\hbox_gset:Nn \g__letgutbanner_L_box { \textbf{L} }
\hbox_gset:Nn \g__letgutbanner_E_box { \textbf{E} }
@@ -354,7 +357,43 @@
\hbox_gset:Nn \g__letgutbanner_g_box { \textbf{g} }
#+end_src
+** Options of the package
+:PROPERTIES:
+:CUSTOM_ID: ImplementationOptionsofthepackage-21ri36v0fck0
+:END:
+
+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),
+- an option that let us choose another letter than “g” as the watermark letter.
+
+#+begin_src latex
+ \keys_define:nn { letgut-banner }
+ {
+ , pagecolor .clist_gset:N = \g__letgutbanner_pagecolor_clist
+ , pagecolor .initial:n = { 1,1,1 }
+ , watermark~ letter .code:n = {
+ \hbox_gset:Nn \g__letgutbanner_g_box { \textbf{#1} }
+ }
+ , watermark~ scale .tl_gset:N = \g__letgutbanner_watermark_scale_tl
+ , watermark~ scale .initial:n = 1
+ }
+ \ProcessKeyOptions [ letgut-banner ]
+#+end_src
+
+What follows has to be done at this end of the preamble, otherwise the font set
+with ~\setmainfont~ in the preamble isn't taken in account in the banner.
+
+#+begin_src latex
+\AddToHook{begindocument}{
+#+end_src
+
+
** Computations
+:PROPERTIES:
+:CUSTOM_ID: ImplementationComputations-r7bhxqt0fck0
+:END:
Determination of the widths of each of the letter boxes of the word "LETTRE".
#+begin_src latex
@@ -622,9 +661,13 @@
#+end_src
Resize the box containing "g" to the width of the text.
#+begin_src latex
- \box_gresize_to_wd:Nn \g__letgutbanner_g_box {
- \c__letgutbanner_textwidth_dim
+ \box_gresize_to_wd:Nn \g__letgutbanner_g_box {
+ \fp_to_dim:n {
+ \g__letgutbanner_watermark_scale_tl
+ *
+ \g__letgutbanner_textwidth_dim
}
+ }
#+end_src
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
@@ -647,6 +690,7 @@
.5\baselineskip
}
#+end_src
+
Automatic addition on the 1st page (only) of the banner.
#+begin_src latex
\AddToHookNext{shipout/background}{
@@ -681,85 +725,91 @@
The color should not be systematically white, but should be identical to the one
chosen for the page background.
#+begin_src latex
- % \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
+ % \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
+ +
+ \fp_to_dim:n {
+ (1-\g__letgutbanner_watermark_scale_tl)/2*\g__letgutbanner_textwidth_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}
+ }
}
- \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_src
We end the part which isn't selectable.
#+begin_src latex
@@ -789,6 +839,9 @@
#+end_src
* Example file (=letgut-banner-example.tex=)
+:PROPERTIES:
+:CUSTOM_ID: Examplefileletgutbannerexampletex-heehxqt0fck0
+:END:
#+begin_src latex :tangle ../../../doc/lualatex/letgut/letgut-banner-example.tex :exports none
\documentclass[twoside]{article}
Modified: trunk/Master/texmf-dist/source/lualatex/letgut/letgut.org
===================================================================
--- trunk/Master/texmf-dist/source/lualatex/letgut/letgut.org 2024-10-08 01:08:26 UTC (rev 72489)
+++ trunk/Master/texmf-dist/source/lualatex/letgut/letgut.org 2024-10-08 01:22:18 UTC (rev 72490)
@@ -2,7 +2,7 @@
#+TITLE: Support for the newsletter “La Lettre GUTenberg”
#+AUTHOR: Association GUTenberg
-#+EMAIL: secretariat at gutenberg.eu.org
+#+EMAIL: secretariat at gutenberg-asso.fr
#+DESCRIPTION: ...
#+KEYWORDS: ...
#+LANGUAGE: en
@@ -54,7 +54,7 @@
% This field contains the version of the package.
% The value is optional.
% The value is restricted to 32 characters.
- \version{0.9.9 2024-03-07}
+ \version{0.9.10 2024-10-07}
% -------------------------------------------------------------------------
% This field contains the name of the author(s).
% The value is optional.
@@ -64,7 +64,7 @@
% 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}
+ \email{secretariat at gutenberg-asso.fr}
% -------------------------------------------------------------------------
% This field contains the name of the uploader.
% The value is restricted to 255 characters.
@@ -131,8 +131,18 @@
% The value is optional.
% The value is restricted to 8192 characters.
\begin{announcement}
+ ### Changed
+ - Multiple rebuses handled
+ - Paper clips (links to source files of the articles) not in the magin anymore and separated by spaces
+ - Watermark letter and scale can now be specified
+
### Fixed
- Private scratch variables not declared.
+ - Wrong output with \terminal
+ - Title of publication in small capitals
+ - Options of `letgut-banner` never taken in account
+ - Not all included graphics attached to the PDF
+ - Variables wrongly local or not reset
+ - `\citeauthor` displayed family name in small caps
\end{announcement}
% -------------------------------------------------------------------------
% This field contains the one-liner for the package.
@@ -202,6 +212,21 @@
## [Unreleased]
+ ## [0.9.10] - 2024-10-07
+
+ ### Changed
+ - Multiple rebuses handled
+ - Paper clips (links to source files of the articles) not in the magin anymore and separated by spaces
+ - Watermark letter and scale can now be specified
+
+ ### Fixed
+ - Wrong output with \terminal
+ - Title of publication in small capitals
+ - Options of `letgut-banner` never taken in account
+ - Not all included graphics attached to the PDF
+ - Variables wrongly local or not reset
+ - `\citeauthor` displayed family name in small caps
+
## [0.9.9] - 2024-03-07
### Fixed
@@ -325,7 +350,7 @@
Release
-------
-2024-03-07 v0.9.9
+2024-10-07 v0.9.10
Development
-----------
@@ -399,13 +424,13 @@
% -------:| ----------------------------------------------------
% letgut:| Class for the newsletter “La Lettre GUTenberg”
% Author:| Association GUTenberg
-% E-mail:| secretariat at gutenberg.eu.org
+% E-mail:| secretariat at gutenberg-asso.fr
% License:| Released under the LaTeX Project Public License
% | v1.3c or later
% See:| http://www.latex-project.org/lppl.txt
%
% Copyright (C) 1994-2024 by Association GUTenberg
-% <secretariat at gutenberg.eu.org>
+% <secretariat at gutenberg-asso.fr>
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License (LPPL), either
@@ -449,15 +474,22 @@
#+begin_src latex
\ExplSyntaxOn
- \tl_const:Nn \c__letgut_Lettre_tl { \emph{ Lettre } }
+ \tl_const:Nn \c__letgut_Lettre_plain_tl { Lettre }
+ \tl_const:Nn \c__letgut_Lettre_tl { \emph{ \c__letgut_Lettre_plain_tl } }
\tl_const:Nn \c__letgut_Lettres_tl {
\c__letgut_Lettre_tl \emph{ s }
}
\tl_const:Nn \c__letgut_gutenberg_tl { GUTenberg }
\tl_const:Nn \c__letgut_association_tl { association }
+ \tl_const:Nn \c__letgut_Lettre_gutenberg_plain_tl {
+ \c__letgut_Lettre_plain_tl~\c_space_tl \c__letgut_gutenberg_tl
+ }
\tl_const:Nn \c__letgut_Lettre_gutenberg_tl {
\c__letgut_Lettre_tl~\c_space_tl \c__letgut_gutenberg_tl
}
+ \tl_const:Nn \c__letgut_la_lettre_gutenberg_plain_tl {
+ la~ \c__letgut_Lettre_gutenberg_plain_tl
+ }
\tl_const:Nn \c__letgut_la_lettre_gutenberg_tl {
la~ \c__letgut_Lettre_gutenberg_tl
}
@@ -471,8 +503,8 @@
#+begin_src latex
\ProvidesExplClass{letgut}
- {2024-03-07}
- {0.9.9}
+ {2024-10-07}
+ {0.9.10}
{
Class for the newsletter “The GUTenberg Letter”
}
@@ -1578,7 +1610,10 @@
- ~date~ for the date of the issue, either empty (hence the current (month)
date) or at the format ~YYYY-MM~ or as free input,
- ~pagecolor~ (relevant only with the (default) ~screen~ load time option) for
- a color of the page other than the default one,
+ a color of the page other than the default one (used behind the scene by the
+ ~letgut-banner~ package),
+- ~watermark letter~ for another letter than the “g” in watermark,
+- ~watermark scale~ for the case the letter in watermark is too big,
- ~allcolorslinks~ for the color of (all) the links,
- ~membership-reminder~ that typesets a membership reminder on the first page,
- ~editorial~ depending on the editorial is wanted or not,
@@ -1587,7 +1622,7 @@
subparagraphs) detailed or not.
#+begin_src latex
- \DeclareKeys[ letgut ]
+ \keys_define:nn { letgut }
{
, for-readers .bool_gset:N = \g__letgut_for_readers_bool
, for-readers .initial:n = { true }
@@ -1624,6 +1659,10 @@
}
}
}
+ , watermark~ letter .tl_gset:N = \g__letgut_watermark_letter_tl
+ , watermark~ letter .initial:n = g
+ , watermark~ scale .tl_gset:N = \g__letgut_watermark_scale_tl
+ , watermark~ scale .initial:n = 1
, allcolorslinks .code:n = {
\colorlet{letgut_allcolors_links}{#1}}
, allcolorslinks .initial:V
@@ -1688,7 +1727,7 @@
#+begin_src latex
\fancyhf{}
\fancyhead[RO,LE]{\thepage}
- \fancyhead[RE,LO]{\g__letgut_mark_tl}
+ \fancyhead[RE,LO]{\scshape \g__letgut_mark_tl}
#+end_src
- The headers are left offset
#+begin_src latex
@@ -1889,6 +1928,7 @@
:END:
#+begin_src latex
+ \int_new:N \g__letgut_rebus_int
\NewDocumentCommand{\solution}{}{\tcblower}
\NewDocumentCommand{\displaysolutions}{}{%
\tcbstoprecording\tcbinputrecords%
@@ -1923,19 +1963,20 @@
},
}
}
- \NewTColorBox[auto~ counter]{rebus}{+!O{}}{%
+ \NewTColorBox{rebus}{+!O{}}{%
+ before~ title~ pre = {\int_gincr:N \g__letgut_rebus_int},
rebus~ style,
fonttitle=\bfseries,
title={Rébus},
- label={rebus@\thetcbcounter},
- after~ upper={\vpageref[ci-dessous]{solution@\thetcbcounter}},
+ label={rebus@\int_use:N\g__letgut_rebus_int},
+ after~ upper={\vpageref[ci-dessous]{solution@\int_use:N\g__letgut_rebus_int}},
after~ upper~ pre={
\par\bigskip\hfill\scriptsize\itshape
Solution\c_space_tl
},
lowerbox=ignored,
- savelowerto=rebus-\thetcbcounter.tex,
- record={\string\rebussolution*[\thetcbcounter][][]},
+ savelowerto=rebus-\int_use:N\g__letgut_rebus_int.tex,
+ record={\string\rebussolution*[\int_use:N\g__letgut_rebus_int][][]},
#1
}
\NewDocumentCommand{\rebussolution}{s +o o O{}}{%
@@ -1942,6 +1983,7 @@
\IfValueTF{#2}{
\begin{tcolorbox}[
rebus~ style,
+ label=solution@\int_use:N\g__letgut_rebus_int,
halign=justify,
before~ title={\lefthand{}~Solution~ du~ rébus\c_space_tl},
title={
@@ -2014,23 +2056,23 @@
# detection of my editor.)
#+begin_src latex
- > \c_zero_int
- {numéro~ \int_use:N\g__letgut_number_int{}~ --~ }
- \g__letgut_date_tl
- }
- \str_if_empty:NTF \g__letgut_ at title_str {
- \tl_gset:Nn \g__letgut_mark_tl {
- \textit{\c__letgut_La_lettre_gutenberg_tl}
+ > \c_zero_int
+ {numéro~ \int_use:N\g__letgut_number_int{}~ --~ }
+ \g__letgut_date_tl
+ }
+ \str_if_empty:NTF \g__letgut_ at title_str {
+ \tl_gset:Nn \g__letgut_mark_tl {
+ \c__letgut_la_lettre_gutenberg_plain_tl
+ }
+ }{
+ \tl_gset:Nn \g__letgut_mark_tl {
+ \g__letgut_ at title_str
+ }
+ }
+ \tl_gput_right:Nn \g__letgut_mark_tl {
+ ,~\g__letgut_title_tl
+ }
}
- }{
- \tl_gset:Nn \g__letgut_mark_tl {
- \g__letgut_ at title_str
- }
- }
- \tl_gput_right:Nn \g__letgut_mark_tl {
- ,~\g__letgut_title_tl
- }
- }
#+end_src
** First page handling
@@ -2059,7 +2101,7 @@
{
\begin{picture}(0,0)
\put(-2cm,-25.275cm){
- \includegraphics*[scale=0.96]{
+ \__letgut_orig_includegraphics*[scale=0.96]{
\c__letgut_banner_file_tl.pdf
}
}
@@ -2074,11 +2116,13 @@
~\AddToHook{begindocument}~ and with ~\AddToHook{begindocument/before}~).
#+begin_src latex
- \msg_term:nn{letgut}{Banner~file~not~provided}
- \RequirePackage[pagecolor={\g__letgut_pagecolor_clist}]{
- letgut-banner
+ \msg_term:nn{letgut}{Banner~file~not~provided}
+ \RequirePackage[
+ , pagecolor = { \g__letgut_pagecolor_clist }
+ , watermark~ letter = { \g__letgut_watermark_letter_tl }
+ , watermark~ scale = { \g__letgut_watermark_scale_tl }
+ ]{letgut-banner}
}
- }
#+end_src
Here starts what is automatically added at the beginning of the document.
@@ -2595,7 +2639,7 @@
#+begin_src latex
\NewDocumentCommand {\francophony} { } {
\raisebox{-1.5pt}{
- \includegraphics*[width=\f at size pt]{
+ \__letgut_orig_includegraphics*[width=\f at size pt]{
letgut-francophony-icon
}
}
@@ -3385,7 +3429,11 @@
\citeauthor
}
\RenewDocumentCommand {\citeauthor} { O{} O{} m } {
- \AtNextCite{\DeclareNameAlias{labelname}{given-family}}
+ \AtNextCite{
+ \DeclareNameAlias{labelname}{given-family}
+ \protected\def\mkbibnamefamily#1{%
+ \textnohyphenation{#1}}%
+ }
\__letgut_old_citeauthor[#1][#2]{#3}
}
#+end_src
@@ -3396,7 +3444,7 @@
:END:
#+begin_src latex
- \tl_new:N \g__letgut_bookreview_frontcover_tl
+ \tl_new:N \l__letgut_bookreview_frontcover_tl
\tl_new:N \g__letgut_bookreview_bibkey_tl
#+end_src
The keys options are created.
@@ -3404,7 +3452,7 @@
\keys_define:nn { letgut/bookreview }
{
title .tl_gset:N = \g__letgut_bookreview_title_tl,
- frontcover .tl_gset:N = \g__letgut_bookreview_frontcover_tl,
+ frontcover .tl_set:N = \l__letgut_bookreview_frontcover_tl,
bibkey .tl_gset:N = \g__letgut_bookreview_bibkey_tl,
reviewer .tl_gset:N = \g__letgut_bookreview_reviewer_tl,
price .tl_gset:N = \g__letgut_bookreview_price_tl,
@@ -3423,17 +3471,18 @@
We create the new environment for the book reviews.
#+begin_src latex
- \cs_generate_variant:Nn \msg_warning:nnn { nnV }
- \cs_generate_variant:Nn \msg_error:nnnn { nnVV }
- \NewDocumentEnvironment{bookreview}{ m }
- {
- \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}{
- \g__letgut_bookreview_title_tl
- }
- }{
+ \cs_generate_variant:Nn \msg_warning:nnn { nnV }
+ \cs_generate_variant:Nn \msg_error:nnnn { nnVV }
+ \NewDocumentEnvironment{bookreview}{ m }
+ {
+ \tl_gclear:N \g__letgut_bookreview_price_tl
+ \keys_set:nn { letgut/bookreview } { #1 }
+ \section{\g__letgut_bookreview_title_tl}
+ \tl_if_empty:NTF \l__letgut_bookreview_frontcover_tl {
+ \msg_warning:nnV{letgut}{frontcover-missing}{
+ \g__letgut_bookreview_title_tl
+ }
+ }{
#+end_src
We check if the front cover file is available against the list of accepted
@@ -3441,7 +3490,7 @@
#+begin_src latex
\clist_map_inline:Nn \Gin at extensions {
- \file_if_exist:nT{\g__letgut_bookreview_frontcover_tl##1}{
+ \file_if_exist:nT{\l__letgut_bookreview_frontcover_tl##1}{
\bool_set_true:N \l__letgut_tmpa_bool
\clist_map_break:
}
@@ -3452,8 +3501,8 @@
% \raggedleft
\raisebox{-\totalheight}{
\fbox{
- \includegraphics[width=-\c__letgut_title_hoffset_dim]{
- \g__letgut_bookreview_frontcover_tl
+ \includegraphics*[width=-\c__letgut_title_hoffset_dim]{
+ \l__letgut_bookreview_frontcover_tl
}
}
}
@@ -3463,7 +3512,7 @@
{letgut}
{frontcover-file-not-found}
{\g__letgut_bookreview_title_tl}
- {\g__letgut_bookreview_frontcover_tl}
+ {\l__letgut_bookreview_frontcover_tl}
}
}
\noindent
@@ -3628,9 +3677,9 @@
#+begin_src latex
\cs_new_protected:Npn \__letgut_attach_non_empty_existing_file:n #1 {
- \file_get_size:nN {./#1} \tmpa_tl
- \quark_if_no_value:NF \tmpa_tl {
- \tl_if_eq:NnF \tmpa_tl {0} {
+ \file_get_size:nN {./#1.tex} \l__letgut_tmpa_tl
+ \quark_if_no_value:NF \l__letgut_tmpa_tl {
+ \tl_if_eq:NnF \l__letgut_tmpa_tl {0} {
\seq_gput_left:Nn \g__letgut_included_files_seq {
\attachfile[
description={Source~ nécessaire~ (fichier~ `#1.tex`)},
@@ -3648,7 +3697,9 @@
\FloatBarrier
\lstset{ style=__letgut_reset_listings_styles }
\acresetall%
- \input{#2}%
+ \begin{refsection}
+ \input{#2}%
+ \end{refsection}
\bool_if:NT \g__letgut_included_files_attached_bool {
\IfBooleanF {#1}{
\__letgut_attach_non_empty_existing_file:n {
@@ -3674,7 +3725,7 @@
}
}
\seq_remove_duplicates:N \g__letgut_included_files_seq
- \marginpar{\seq_use:Nn \g__letgut_included_files_seq { } }
+ \seq_use:Nn \g__letgut_included_files_seq { \c_space_tl }
\seq_clear:N \g__letgut_included_files_seq
\bool_gset_false:N \g__letgut_acronyms_file_attached_bool
\bool_gset_false:N \g__letgut_lstlanguage_file_attached_bool
@@ -3699,7 +3750,7 @@
\clist_set:Nx \l__letgut_tmpa_clist {\Gin at extensions}
\cs_new_protected:Npn \__letgut_includegraphics:nnn #1 #2 #3
{
- \file_if_exist:nTF {#3} {
+ \file_if_exist:nTF {./#3} {
\bool_if:NT \g__letgut_included_files_attached_bool {
\IfBooleanF {#1}{
\seq_gput_left:Nn \g__letgut_included_files_seq {
@@ -3709,16 +3760,15 @@
présent~ article~ (fichier~ `#3`)
},
mimetype=image
- ]
- {#3}
+ ]{./#3}
}
}
}
- \__letgut_orig_includegraphics[#2]{#3}
+ \__letgut_orig_includegraphics[#2]{./#3}
}{
\bool_gset_false:N \g__letgut_tmpa_bool
\clist_map_inline:Nn \l__letgut_tmpa_clist {%
- \file_if_exist:nTF {#3##1} {
+ \file_if_exist:nT {./#3##1} {
\clist_map_break:n {
\bool_if:NT \g__letgut_included_files_attached_bool {
\IfBooleanF {#1}{
@@ -3726,8 +3776,7 @@
\attachfile[
description={Fichier~ image~ inclus~ dans~ le~ présent~ article~ (fichier~ `#3##1`)},
mimetype=image/##1
- ]
- {#3##1}
+ ]{./#3##1}
}
}
}
@@ -3736,11 +3785,11 @@
}
}
}
- \bool_if:NF \g__letgut_tmpa_bool {
- \@latex at error{File~ `#3'~ not~ found}%
- {I~ could~ not~ locate~ the~ file~ with~ any~ of~ these~ extensions:^^J%
- \clist_use:Nn \l__letgut_tmpa_clist { ~ }^^J\@ehc}%
- }
+ % \bool_if:NF \g__letgut_tmpa_bool {
+ % \@latex at error{File~ `#3'~ not~ found}%
+ % {I~ could~ not~ locate~ the~ file~ with~ any~ of~ these~ extensions:^^J%
+ % \clist_use:Nn \l__letgut_tmpa_clist { ~ }^^J\@ehc}%
+ % }
}
}
\RenewDocumentCommand {\includegraphics} {s O{} m } {
@@ -4478,41 +4527,18 @@
style=__letgut_terminal_listings_style,
language=terminal,
},
- every~ listing~ line={%
- \textcolor{__letgut_terminal_prompt}{%
- \ttfamily%
- \bfseries%
- \__letgut_unselectable:n {#1\c_space_tl}
- }
- },
+ fontupper=\ttfamily,
+ fontlower=\ttfamily,
},
}
#+end_src
- We define now the command
+ We now define the command.
#+begin_src latex
\cs_new_protected:Npn \__letgut_terminal:nnnn #1 #2 #3 #4
{
\bool_set_false:N \l__letgut_tmpa_bool
- \tl_if_empty:nF {#3}{
- \tcbset{tempfile=\jobname-stdin.tex}
- \exp_args:Nx \scantokens
- {
- \token_to_str:N\begin{tcbwritetemp}
- #3
- \token_to_str:N\end{tcbwritetemp}
- }
- }
- \tl_if_empty:nF {#4}{
- \tcbset{tempfile=\jobname-stdout.tex}
- \exp_args:Nx \scantokens
- {
- \token_to_str:N\begin{tcbwritetemp}
- #4
- \token_to_str:N\end{tcbwritetemp}
- }
- }
\tl_if_empty:nTF {#3}{
\tl_if_empty:nTF {#4}{
\bool_set_true:N \l__letgut_tmpa_bool
@@ -4521,24 +4547,25 @@
}
}{
\tcbset{colback=__letgut_background_terminal_stdin}
- \tl_if_empty:nTF {#4}{
- }{
+ \tl_if_empty:nF {#4}{
\tcbset{
bicolor,
- middle=0mm,
- boxsep=0mm,
colbacklower=__letgut_background_terminal_stdout,
}
}
}
\bool_if:NF \l__letgut_tmpa_bool {
- \begin{tcolorbox}[terminal={#1},#2]
+ \begin{tcolorbox}[terminal,#2]
\lstset{aboveskip=0pt}
\tl_if_empty:nF {#3}{
- \tcbset{
- tempfile=\jobname-stdin.tex,
+ \tl_if_empty:nF {#1}{
+ \textcolor{__letgut_terminal_prompt}{%
+ \ttfamily%
+ \bfseries%
+ \__letgut_unselectable:n {#1\c_space_tl}
+ }
}
- \tcbusetemplisting
+ #3
\tl_if_empty:nF {#4}{
\tcblower
}
@@ -4548,13 +4575,12 @@
\lstset{aboveskip=0pt}
}
\tcbset{
- tempfile=\jobname-stdout.tex,
every~ listing~ line={},
listing~ options~ app={
language={}
}
}
- \tcbusetemplisting
+ #4
}
\end{tcolorbox}
}
@@ -4575,7 +4601,7 @@
:CUSTOM_ID: ImplementationListingsUnicodecharacterswithpositionsabove256-4l6h55h0jlj0
:END:
-Unicode characters with positions above 256 causes troubles in
+Unicode characters with positions above 256 cause troubles in
listings. Here is a workaround for some of them (see
https://tex.stackexchange.com/a/25396).
@@ -4582,7 +4608,7 @@
#+begin_src latex
\lst at InputCatcodes
\def\lst at DefEC{%
- \lst at CCECUse \lst at ProcessLetter
+ \lst at CCECUse \lst at ProcessLetter
^^80^^81^^82^^83^^84^^85^^86^^87^^88^^89^^8a^^8b^^8c^^8d^^8e^^8f%
^^90^^91^^92^^93^^94^^95^^96^^97^^98^^99^^9a^^9b^^9c^^9d^^9e^^9f%
^^a0^^a1^^a2^^a3^^a4^^a5^^a6^^a7^^a8^^a9^^aa^^ab^^ac^^ad^^ae^^af%
@@ -4591,11 +4617,16 @@
^^d0^^d1^^d2^^d3^^d4^^d5^^d6^^d7^^d8^^d9^^da^^db^^dc^^dd^^de^^df%
^^e0^^e1^^e2^^e3^^e4^^e5^^e6^^e7^^e8^^e9^^ea^^eb^^ec^^ed^^ee^^ef%
^^f0^^f1^^f2^^f3^^f4^^f5^^f6^^f7^^f8^^f9^^fa^^fb^^fc^^fd^^fe^^ff%
- ^^^^201c^^^^201d% for “ and ”
+ ^^^^201c% for “
+ ^^^^201d% for ”
^^^^215b% for ⅛
^^^^2122% for ™
^^^^2019% for ’
^^^^0153% for œ
+ ^^^^0152% for Œ
+ ^^^^20ac% for €
+ ^^^^27e8% for ⟨
+ ^^^^27e9% for ⟩
^^00%
}
\lst at RestoreCatcodes
@@ -4646,7 +4677,7 @@
- the books advertisements.
#+begin_src latex :tangle ../../../tex/lualatex/letgut/letgut.lbx :exports both
-\ProvidesFile{letgut.lbx}[2024-03-07 v0.9.9 letgut localization]
+\ProvidesFile{letgut.lbx}[2024-10-07 v0.9.10 letgut localization]
\InheritBibliographyExtras{french}
\DeclareBibliographyStrings{
inherit = {french},
@@ -4660,7 +4691,7 @@
create the corresponding new entry).
#+begin_src latex :tangle ../../../tex/lualatex/letgut/letgut.dbx :exports both
- \ProvidesFile{letgut.dbx}[2024-03-07 v0.9.9 letgut data model macros]
+ \ProvidesFile{letgut.dbx}[2024-10-07 v0.9.10 letgut data model macros]
\DeclareBibliographyDriver{bookreview}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
@@ -4715,7 +4746,7 @@
We provide a specific ~biblatex~ citation style .
#+begin_src latex :tangle ../../../tex/lualatex/letgut/letgut.cbx :exports both
- \ProvidesFile{letgut.cbx}[2024-03-07 v0.9.9 letgut base citation style]
+ \ProvidesFile{letgut.cbx}[2024-10-07 v0.9.10 letgut base citation style]
\RequireCitationStyle{numeric}
#+end_src
@@ -4879,163 +4910,167 @@
:CUSTOM_ID: ProvidedfilesInformationsabout\gutenberg-hqah55h0jlj0
:END:
- #+begin_src latex :tangle ../../../tex/lualatex/letgut/informations-gut.tex :exports both
- % Hey, Emacs! This is a -*- mode: latex -*- file!
+#+begin_src latex :tangle ../../../tex/lualatex/letgut/informations-gut.tex :exports both
+ % Hey, Emacs! This is a -*- mode: latex -*- file!
- \enlargethispage{1.5cm}
- \small
- \vspace*{-1cm}
- \hspace*{-1.5cm}%
- \raisebox{-\height+0.7\baselineskip}{%
- \begin{minipage}[t]{.6\textwidth}%\vspace{0pt}%
- \includegraphics*[width=\linewidth]{logo-gut.pdf}
- \end{minipage}%
- }%
- \hfill%
- \begin{minipage}[t]{.5\textwidth}%\vspace{0pt}%
- \footnotesize\raggedleft%
- Association \gut{}\\
- 15 rue des Halles -- \textsc{bp} 74\\
- 75001 Paris\\
- France\\
- \url{secretariat[at]gutenberg[dot]eu[dot]org}
- \end{minipage}%
+ \enlargethispage{1.5cm}
+ \scriptsize
+ \vspace*{-1cm}
+ \hspace*{-1.5cm}%
+ \ExplSyntaxOn
+ \raisebox{-\height+0.7\baselineskip}{%
+ \begin{minipage}[t]{.6\textwidth}%\vspace{0pt}%
+ \__letgut_orig_includegraphics*[width=\linewidth]{logo-gut.pdf}
+ \end{minipage}%
+ }%
+ \ExplSyntaxOff
+ \hfill%
+ \begin{minipage}[t]{.5\textwidth}%\vspace{0pt}%
+ \footnotesize\raggedleft%
+ Association \gut{}\\
+ 15 rue des Halles -- \textsc{bp} 74\\
+ 75001 Paris\\
+ France\\
+ \url{secretariat[at]gutenberg-asso[dot]fr}
+ \end{minipage}%
- \begin{description}
- \item[Site Internet :] \url{https://www.gutenberg-asso.fr/}
- \item[\Cahiers{} :] \url{http://www.numdam.org/journals/CG/}
- \item[Problèmes techniques :]
- \leavevmode
- \begin{description}
- \item[la liste \texttt{gut} :]
- \url{https://www.gutenberg-asso.fr/-Listes-de-diffusion-}
- \item[le site \hologo{TeX}nique de questions et réponses :]
- \url{https://texnique.fr/}
- \item[la foire aux questions :]
- \url{https://faq.gutenberg-asso.fr/}
- \end{description}
- \end{description}
- %
- \alertbox{%
- Cette association est la vôtre : faites-nous part de
- vos idées, de vos envies, de vos préoccupations
- à l'adresse \url{secretariat[at]gutenberg[dot]eu[dot]org}.%
- }
+ \begin{description}
+ \item[Site Internet :] \url{https://www.gutenberg-asso.fr/}
+ \item[\Cahiers{} :] \url{http://www.numdam.org/journals/CG/}
+ \item[Problèmes techniques :]
+ \leavevmode
+ \begin{description}
+ \item[la liste \texttt{gut} :]
+ \url{https://www.gutenberg-asso.fr/-Listes-de-diffusion-}
+ \item[le site \hologo{TeX}nique de questions et réponses :]
+ \url{https://texnique.fr/}
+ \item[la foire aux questions :]
+ \url{https://faq.gutenberg-asso.fr/}
+ \end{description}
+ \end{description}
+ %
+ \alertbox{%
+ Cette association est la vôtre : faites-nous part de
+ vos idées, de vos envies, de vos préoccupations
+ à l'adresse \url{secretariat[at]gutenberg-asso[dot]fr}.%
+ }
- % \section[Association GUTenberg (tout sur l')]
- % {Adhésion à l'association}
- \title{Adhésion à l'association}
- \label{letgut_label_adhesions}
+ % \section[Association GUTenberg (tout sur l')]
+ % {Adhésion à l'association}
+ \title{Adhésion à l'association}
+ \label{letgut_label_adhesions}
- \begin{itemize}
- \item % Adhésions et abonnements
- Les adhésions sont à renouveler en début d'année
- pour l'année civile.
- % \item Il n'y a pas de lettre de rappel, chaque membre
- % doit faire son renouvellement annuel; %\hspace*{1em}
- % merci de renvoyer spontanément le bulletin ci-dessous
- % en début d'année.
- \item Les administrations peuvent joindre un bon de commande
- revêtu de la signature de la personne responsable ;
- les étudiants doivent joindre un justificatif.
- % \item Si vous souhaitez que vos coordonnées restent
- % confidentielles, merci de le signaler.
- \end{itemize}
+ \begin{itemize}
+ \item % Adhésions et abonnements
+ Les adhésions sont à renouveler en début d'année
+ pour l'année civile.
+ % \item Il n'y a pas de lettre de rappel, chaque membre
+ % doit faire son renouvellement annuel; %\hspace*{1em}
+ % merci de renvoyer spontanément le bulletin ci-dessous
+ % en début d'année.
+ \item Les administrations peuvent joindre un bon de commande
+ revêtu de la signature de la personne responsable ;
+ les étudiants doivent joindre un justificatif.
+ % \item Si vous souhaitez que vos coordonnées restent
+ % confidentielles, merci de le signaler.
+ \end{itemize}
- \vspace*{-0.7cm}
- \section{Tarifs \the\year}
+ \vspace*{-0.7cm}
+ \section{Tarifs \the\year}
- Les membres de \gut\ peuvent adhérer à l'association
- internationale, le \acf{tug}, et recevoir son bulletin
- \tugboat{} à un tarif préférentiel :
- \begin{description}
- \item[tarif normal :] 65~€ (au lieu de 85~\$)
- \item[tarif étudiant :] 40~€ (au lieu de 55~\$)
- \end{description}
- % (49~€50}, étudiants et demandeurs d'emploi :
- % 29~€, au lieu de 85\$ et % 65\$). Voir
- % \url{%
- % https://www.gutenberg-asso.fr/?Adherer-en-ligne%
- % }.
+ Les membres de \gut\ peuvent adhérer à l'association
+ internationale, le \acf{tug}, et recevoir son bulletin
+ \tugboat{} à un tarif préférentiel :
+ \begin{description}
+ \item[tarif normal :] 65~€ (au lieu de 85~\$)
+ \item[tarif étudiant :] 40~€ (au lieu de 55~\$)
+ \end{description}
+ % (49~€50}, étudiants et demandeurs d'emploi :
+ % 29~€, au lieu de 85\$ et % 65\$). Voir
+ % \url{%
+ % https://www.gutenberg-asso.fr/?Adherer-en-ligne%
+ % }.
- \footnotesize
- \begin{center}
- \begin{tabular}{lr}
- \toprule
- \textbf{Type d'adhésion} & \textbf{Prix} \\
- \midrule
- Membre individuel & 30~€ \\
- Membre individuel + adhésion \acs{tug} & 95~€ \\
- Membre individuel étudiant/demandeur d'emploi & 15~€ \\
- Membre individuel étudiant + adhésion \acs{tug} & 55~€ \\
- Association d'étudiants & 65~€ \\
- Organisme à but non lucratif & 130~€ \\
- Organisme à but lucratif & 229~€ \\
- \bottomrule
- \end{tabular}
- \end{center}
+ \footnotesize
+ \begin{center}
+ \begin{tabular}{lr}
+ \toprule
+ \textbf{Type d'adhésion} & \textbf{Prix} \\
+ \midrule
+ Membre individuel & 30~€ \\
+ Membre individuel + adhésion \acs{tug} & 95~€ \\
+ Membre individuel étudiant/demandeur d'emploi & 15~€ \\
+ Membre individuel étudiant + adhésion \acs{tug} & 55~€ \\
+ Association d'étudiants & 65~€ \\
+ Organisme à but non lucratif & 130~€ \\
+ Organisme à but lucratif & 229~€ \\
+ \bottomrule
+ \end{tabular}
+ \end{center}
- \section{Règlements}
+ \section{Règlements}
- Les règlements peuvent s'effectuer par :
- \begin{itemize}
- \item \textbf{virement bancaire}%
- \footnote{Nous vous remercions de \textbf{privilégier}
- le \textbf{virement bancaire}.\label{fn:1}} (\textsc{iban} :
- FR76 1870 7000 3003 0191 3568 475)%
- \leavevmode
+ Les règlements peuvent s'effectuer par :
+ \begin{itemize}
+ \item \textbf{virement bancaire}%
+ \footnote{Nous vous remercions de \textbf{privilégier}
+ le \textbf{virement bancaire}.\label{fn:1}} (\textsc{iban} :
+ FR76 3000 3001 0900 0372 6086 280)%
+ \leavevmode
- \alertbox{%
- Veillez à bien \emph{indiquer vos nom et prénom}
- dans les références du virement !%
- }
- \item Paypal\footnotemark[\value{footnote}] :
- \url{https://www.gutenberg-asso.fr/?Adherer-en-ligne}
- \item bulletin et chèque\footnotemark[\value{footnote}] :
- \url{https://www.gutenberg-asso.fr/?Adherer-a-l-association}
- \end{itemize}
+ \alertbox{%
+ Veillez à bien \emph{indiquer vos nom et prénom}
+ dans les références du virement !%
+ }
+ \item Paypal\footnotemark[\value{footnote}] :
+ \url{https://www.gutenberg-asso.fr/?Adherer-en-ligne}
+ \item bulletin et chèque\footnotemark[\value{footnote}] :
+ \url{https://www.gutenberg-asso.fr/?Adherer-a-l-association}
+ \end{itemize}
- \vfill
+ \vfill
- \begin{center}
- \begin{tblr}{
- width=.75\linewidth,
- colspec={
- % < (Just not to disturb the parentheses
- % balancing detection of my editor.)
- >{\bfseries}r@{ }X
- },
- vline{1,3}={solid},
- hline{1,7}={solid},
- rowsep=0mm,
- row{1} = {abovesep+=.25cm},
- row{2} = {belowsep+=.125cm},
- row{6} = {belowsep+=.25cm},
- % colsep=2.5mm,
- }
- \SetCell[c=2]{c} \emph{La \lettregut}\\
- \SetCell[c=2]{c} \mdseries Bulletin irrégulomestriel
- de l'association \gut\\
- Directeur de la publication :
- & \person{Bideault, Patrick} \\
- Comité de rédaction :
- & {Patrick Bideault, Denis Bitouzé, \\
- Céline Chevalier \& Maxime Chupin} \\
- Adresse de la rédaction : &
- {
- Association \gut\\
- 15 rue des Halles -- \textsc{bp} 74\\
- 75001 Paris
- }
- \\
- \acs{issn} : & \letgutissn
- \end{tblr}
- \end{center}
- \vfill
- \mbox{}
- \clearpage
- #+end_src
+ \mbox{}
+ \vfill{}
+
+ \begin{center}
+ \begin{tblr}{
+ width=.9\linewidth,
+ colspec={
+ % < (Just not to disturb the parentheses
+ % balancing detection of my editor.)
+ >{\bfseries}r@{ }X
+ },
+ vline{1,3}={solid},
+ hline{1,7}={solid},
+ rowsep=0mm,
+ row{1} = {abovesep+=.25cm},
+ row{2} = {belowsep+=.125cm},
+ row{6} = {belowsep+=.25cm},
+ % colsep=2.5mm,
+ }
+ \SetCell[c=2]{c} \emph{La \lettregut}\\
+ \SetCell[c=2]{c} \mdseries Bulletin irrégulomestriel
+ de l'association \gut\\
+ Directeur de la publication :
+ & \person{Bideault, Patrick} \\
+ Comité de rédaction :
+ & {Patrick Bideault, Denis Bitouzé, \\
+ Céline Chevalier, Maxime Chupin \& Bastien Dumont} \\
+ Adresse de la rédaction : &
+ {
+ Association \gut\\
+ 15 rue des Halles -- \textsc{bp} 74\\
+ 75001 Paris
+ }
+ \\
+ \acs{issn} : & \letgutissn
+ \end{tblr}
+ \end{center}
+ \clearpage
+#+end_src
+
** Acronyms
:PROPERTIES:
:CUSTOM_ID: ProvidedfilesAcronyms-8cbh55h0jlj0
Modified: trunk/Master/texmf-dist/tex/lualatex/letgut/informations-gut.tex
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/letgut/informations-gut.tex 2024-10-08 01:08:26 UTC (rev 72489)
+++ trunk/Master/texmf-dist/tex/lualatex/letgut/informations-gut.tex 2024-10-08 01:22:18 UTC (rev 72490)
@@ -1,14 +1,16 @@
% Hey, Emacs! This is a -*- mode: latex -*- file!
\enlargethispage{1.5cm}
-\small
+\scriptsize
\vspace*{-1cm}
\hspace*{-1.5cm}%
+\ExplSyntaxOn
\raisebox{-\height+0.7\baselineskip}{%
\begin{minipage}[t]{.6\textwidth}%\vspace{0pt}%
- \includegraphics*[width=\linewidth]{logo-gut.pdf}
+ \__letgut_orig_includegraphics*[width=\linewidth]{logo-gut.pdf}
\end{minipage}%
}%
+\ExplSyntaxOff
\hfill%
\begin{minipage}[t]{.5\textwidth}%\vspace{0pt}%
\footnotesize\raggedleft%
@@ -16,7 +18,7 @@
15 rue des Halles -- \textsc{bp} 74\\
75001 Paris\\
France\\
- \url{secretariat[at]gutenberg[dot]eu[dot]org}
+ \url{secretariat[at]gutenberg-asso[dot]fr}
\end{minipage}%
\begin{description}
@@ -37,7 +39,7 @@
\alertbox{%
Cette association est la vôtre : faites-nous part de
vos idées, de vos envies, de vos préoccupations
- à l'adresse \url{secretariat[at]gutenberg[dot]eu[dot]org}.%
+ à l'adresse \url{secretariat[at]gutenberg-asso[dot]fr}.%
}
% \section[Association GUTenberg (tout sur l')]
@@ -100,7 +102,7 @@
\item \textbf{virement bancaire}%
\footnote{Nous vous remercions de \textbf{privilégier}
le \textbf{virement bancaire}.\label{fn:1}} (\textsc{iban} :
- FR76 1870 7000 3003 0191 3568 475)%
+ FR76 3000 3001 0900 0372 6086 280)%
\leavevmode
\alertbox{%
@@ -115,9 +117,13 @@
\vfill
+\mbox{}
+
+\vfill{}
+
\begin{center}
\begin{tblr}{
- width=.75\linewidth,
+ width=.9\linewidth,
colspec={
% < (Just not to disturb the parentheses
% balancing detection of my editor.)
@@ -138,7 +144,7 @@
& \person{Bideault, Patrick} \\
Comité de rédaction :
& {Patrick Bideault, Denis Bitouzé, \\
- Céline Chevalier \& Maxime Chupin} \\
+ Céline Chevalier, Maxime Chupin \& Bastien Dumont} \\
Adresse de la rédaction : &
{
Association \gut\\
@@ -149,6 +155,4 @@
\acs{issn} : & \letgutissn
\end{tblr}
\end{center}
-\vfill
-\mbox{}
\clearpage
Modified: trunk/Master/texmf-dist/tex/lualatex/letgut/letgut-banner.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/letgut/letgut-banner.sty 2024-10-08 01:08:26 UTC (rev 72489)
+++ trunk/Master/texmf-dist/tex/lualatex/letgut/letgut-banner.sty 2024-10-08 01:22:18 UTC (rev 72490)
@@ -1,20 +1,12 @@
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
\ProvidesExplPackage{letgut-banner}
-{2022-03-17}
-{0.9}
+{2024-10-07}
+{0.10}
{
Package for the banner of the newsletter "La Lettre de GUTenberg"
}
-\RequirePackage{l3keys2e}
\RequirePackage{xcolor}
\RequirePackage{accsupp}
-\keys_define:nn { letgut-banner }
-{
- , pagecolor .clist_gset:N = \g__letgutbanner_pagecolor_clist
- , pagecolor .initial:n = { 1,1,1 }
-}
-\ProcessKeysOptions { letgut-banner }
-\AddToHook{begindocument}{
\cs_generate_variant:Nn \color_fill:nn { nV }
\dim_new:N \g__letgutbanner_area_height_dim
\dim_new:N \g__letgutbanner_La_height_dim
@@ -28,6 +20,7 @@
\dim_if_exist:NF \g__letgutbanner_first_page_shrink_dim {
\dim_new:N \g__letgutbanner_first_page_shrink_dim
}
+\dim_new:N \g__letgutbanner_textwidth_dim
\cs_generate_variant:Nn \dim_const:Nn { NV }
\dim_if_exist:NTF \c__letgut_textheight_dim {
\dim_const:NV \c__letgutbanner_textheight_dim
@@ -37,11 +30,9 @@
{ 25cm }
}
\dim_if_exist:NTF \c__letgut_textwidth_dim {
- \dim_const:NV \c__letgutbanner_textwidth_dim
- \c__letgut_textwidth_dim
+ \dim_gset_eq:NN \g__letgutbanner_textwidth_dim \c__letgut_textwidth_dim
}{
- \dim_const:Nn \c__letgutbanner_textwidth_dim
- { 14cm }
+ \dim_gset:Nn \g__letgutbanner_textwidth_dim { 14cm }
}
\dim_if_exist:NTF \c__letgut_lmargin_dim {
\dim_const:NV \c__letgutbanner_lmargin_dim
@@ -101,7 +92,7 @@
}
\dim_const:Nn \c__letgutbanner_banner_padding_dim { .25cm }
\dim_const:Nn \c__letgutbanner_banner_width_dim {
- \c__letgutbanner_textwidth_dim
+ \g__letgutbanner_textwidth_dim
+
(
\c__letgutbanner_banner_thickness_dim
@@ -117,7 +108,7 @@
}
\dim_const:Nn
\c__letgutbanner_banner_horizontal_contents_width_dim {
- \c__letgutbanner_textwidth_dim
+ \g__letgutbanner_textwidth_dim
- (
\c__letgutbanner_banner_thickness_dim
-
@@ -139,7 +130,7 @@
\geometry{
asymmetric,
textheight = \c__letgutbanner_textheight_dim,
- textwidth = \c__letgutbanner_textwidth_dim,
+ textwidth = \g__letgutbanner_textwidth_dim,
lmargin = \c__letgutbanner_lmargin_dim,
tmargin = \c__letgutbanner_tmargin_dim,
head = \c__letgutbanner_head_dim,
@@ -157,6 +148,18 @@
\textbf{\textit{GUTenberg}}
}
\hbox_gset:Nn \g__letgutbanner_g_box { \textbf{g} }
+\keys_define:nn { letgut-banner }
+{
+ , pagecolor .clist_gset:N = \g__letgutbanner_pagecolor_clist
+ , pagecolor .initial:n = { 1,1,1 }
+ , watermark~ letter .code:n = {
+ \hbox_gset:Nn \g__letgutbanner_g_box { \textbf{#1} }
+ }
+ , watermark~ scale .tl_gset:N = \g__letgutbanner_watermark_scale_tl
+ , watermark~ scale .initial:n = 1
+}
+\ProcessKeyOptions [ letgut-banner ]
+\AddToHook{begindocument}{
\dim_const:Nn \c__letgutbanner_L_width_dim {
\box_wd:N \g__letgutbanner_L_box
}
@@ -295,7 +298,11 @@
\g__letgutbanner_largest_LETR_box_height_dim
}
\box_gresize_to_wd:Nn \g__letgutbanner_g_box {
- \c__letgutbanner_textwidth_dim
+ \fp_to_dim:n {
+ \g__letgutbanner_watermark_scale_tl
+ *
+ \g__letgutbanner_textwidth_dim
+ }
}
\dim_gset:Nn \g__letgutbanner_first_page_shrink_dim {
\c__letgutbanner_tmargin_dim
@@ -398,7 +405,13 @@
% \color_fill:n {black!10}
\color{ black!10 }
\put(
- .5\c__letgutbanner_lmargin_dim+.5\c__letgutbanner_banner_thickness_dim
+ .5\c__letgutbanner_lmargin_dim
+ +
+ .5\c__letgutbanner_banner_thickness_dim
+ +
+ \fp_to_dim:n {
+ (1-\g__letgutbanner_watermark_scale_tl)/2*\g__letgutbanner_textwidth_dim
+ }
,
.5\paperheight
+
Modified: trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.cbx
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.cbx 2024-10-08 01:08:26 UTC (rev 72489)
+++ trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.cbx 2024-10-08 01:22:18 UTC (rev 72490)
@@ -1,4 +1,4 @@
-\ProvidesFile{letgut.cbx}[2024-03-07 v0.9.9 letgut base citation style]
+\ProvidesFile{letgut.cbx}[2024-10-07 v0.9.10 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 2024-10-08 01:08:26 UTC (rev 72489)
+++ trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.cls 2024-10-08 01:22:18 UTC (rev 72490)
@@ -6,13 +6,13 @@
% -------:| ----------------------------------------------------
% letgut:| Class for the newsletter “La Lettre GUTenberg”
% Author:| Association GUTenberg
-% E-mail:| secretariat at gutenberg.eu.org
+% E-mail:| secretariat at gutenberg-asso.fr
% License:| Released under the LaTeX Project Public License
% | v1.3c or later
% See:| http://www.latex-project.org/lppl.txt
%
% Copyright (C) 1994-2024 by Association GUTenberg
-% <secretariat at gutenberg.eu.org>
+% <secretariat at gutenberg-asso.fr>
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License (LPPL), either
@@ -31,15 +31,22 @@
% ]{expl3}
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
\ExplSyntaxOn
-\tl_const:Nn \c__letgut_Lettre_tl { \emph{ Lettre } }
+\tl_const:Nn \c__letgut_Lettre_plain_tl { Lettre }
+\tl_const:Nn \c__letgut_Lettre_tl { \emph{ \c__letgut_Lettre_plain_tl } }
\tl_const:Nn \c__letgut_Lettres_tl {
\c__letgut_Lettre_tl \emph{ s }
}
\tl_const:Nn \c__letgut_gutenberg_tl { GUTenberg }
\tl_const:Nn \c__letgut_association_tl { association }
+\tl_const:Nn \c__letgut_Lettre_gutenberg_plain_tl {
+ \c__letgut_Lettre_plain_tl~\c_space_tl \c__letgut_gutenberg_tl
+}
\tl_const:Nn \c__letgut_Lettre_gutenberg_tl {
\c__letgut_Lettre_tl~\c_space_tl \c__letgut_gutenberg_tl
}
+\tl_const:Nn \c__letgut_la_lettre_gutenberg_plain_tl {
+ la~ \c__letgut_Lettre_gutenberg_plain_tl
+}
\tl_const:Nn \c__letgut_la_lettre_gutenberg_tl {
la~ \c__letgut_Lettre_gutenberg_tl
}
@@ -48,8 +55,8 @@
}
\ExplSyntaxOff
\ProvidesExplClass{letgut}
-{2024-03-07}
-{0.9.9}
+{2024-10-07}
+{0.9.10}
{
Class for the newsletter “The GUTenberg Letter”
}
@@ -642,7 +649,7 @@
\pagecolor[rgb]{\c__letgut_default_pagecolor_screen_clist}
\clist_set_eq:NN \g__letgut_pagecolor_clist
\c__letgut_default_pagecolor_screen_clist
-\DeclareKeys[ letgut ]
+\keys_define:nn { letgut }
{
, for-readers .bool_gset:N = \g__letgut_for_readers_bool
, for-readers .initial:n = { true }
@@ -679,6 +686,10 @@
}
}
}
+ , watermark~ letter .tl_gset:N = \g__letgut_watermark_letter_tl
+ , watermark~ letter .initial:n = g
+ , watermark~ scale .tl_gset:N = \g__letgut_watermark_scale_tl
+ , watermark~ scale .initial:n = 1
, allcolorslinks .code:n = {
\colorlet{letgut_allcolors_links}{#1}}
, allcolorslinks .initial:V
@@ -722,7 +733,7 @@
}
\fancyhf{}
\fancyhead[RO,LE]{\thepage}
-\fancyhead[RE,LO]{\g__letgut_mark_tl}
+\fancyhead[RE,LO]{\scshape \g__letgut_mark_tl}
\fancyheadoffset[L]{\c__letgut_hoffset_dim}
\pagestyle{fancy}
\reversemarginpar
@@ -838,6 +849,7 @@
#1,
coltitle=\l__letgut_toc_color_announce_tl,
}
+\int_new:N \g__letgut_rebus_int
\NewDocumentCommand{\solution}{}{\tcblower}
\NewDocumentCommand{\displaysolutions}{}{%
\tcbstoprecording\tcbinputrecords%
@@ -872,19 +884,20 @@
},
}
}
-\NewTColorBox[auto~ counter]{rebus}{+!O{}}{%
+\NewTColorBox{rebus}{+!O{}}{%
+ before~ title~ pre = {\int_gincr:N \g__letgut_rebus_int},
rebus~ style,
fonttitle=\bfseries,
title={Rébus},
- label={rebus@\thetcbcounter},
- after~ upper={\vpageref[ci-dessous]{solution@\thetcbcounter}},
+ label={rebus@\int_use:N\g__letgut_rebus_int},
+ after~ upper={\vpageref[ci-dessous]{solution@\int_use:N\g__letgut_rebus_int}},
after~ upper~ pre={
\par\bigskip\hfill\scriptsize\itshape
Solution\c_space_tl
},
lowerbox=ignored,
- savelowerto=rebus-\thetcbcounter.tex,
- record={\string\rebussolution*[\thetcbcounter][][]},
+ savelowerto=rebus-\int_use:N\g__letgut_rebus_int.tex,
+ record={\string\rebussolution*[\int_use:N\g__letgut_rebus_int][][]},
#1
}
\NewDocumentCommand{\rebussolution}{s +o o O{}}{%
@@ -891,6 +904,7 @@
\IfValueTF{#2}{
\begin{tcolorbox}[
rebus~ style,
+ label=solution@\int_use:N\g__letgut_rebus_int,
halign=justify,
before~ title={\lefthand{}~Solution~ du~ rébus\c_space_tl},
title={
@@ -938,7 +952,7 @@
}
\str_if_empty:NTF \g__letgut_ at title_str {
\tl_gset:Nn \g__letgut_mark_tl {
- \textit{\c__letgut_La_lettre_gutenberg_tl}
+ \c__letgut_la_lettre_gutenberg_plain_tl
}
}{
\tl_gset:Nn \g__letgut_mark_tl {
@@ -956,7 +970,7 @@
{
\begin{picture}(0,0)
\put(-2cm,-25.275cm){
- \includegraphics*[scale=0.96]{
+ \__letgut_orig_includegraphics*[scale=0.96]{
\c__letgut_banner_file_tl.pdf
}
}
@@ -964,9 +978,11 @@
}
}{
\msg_term:nn{letgut}{Banner~file~not~provided}
- \RequirePackage[pagecolor={\g__letgut_pagecolor_clist}]{
- letgut-banner
- }
+ \RequirePackage[
+ , pagecolor = { \g__letgut_pagecolor_clist }
+ , watermark~ letter = { \g__letgut_watermark_letter_tl }
+ , watermark~ scale = { \g__letgut_watermark_scale_tl }
+ ]{letgut-banner}
}
\AddToHook{begindocument/end}
{
@@ -1282,7 +1298,7 @@
}
\NewDocumentCommand {\francophony} { } {
\raisebox{-1.5pt}{
- \includegraphics*[width=\f at size pt]{
+ \__letgut_orig_includegraphics*[width=\f at size pt]{
letgut-francophony-icon
}
}
@@ -1850,15 +1866,19 @@
\citeauthor
}
\RenewDocumentCommand {\citeauthor} { O{} O{} m } {
- \AtNextCite{\DeclareNameAlias{labelname}{given-family}}
+ \AtNextCite{
+ \DeclareNameAlias{labelname}{given-family}
+ \protected\def\mkbibnamefamily#1{%
+ \textnohyphenation{#1}}%
+ }
\__letgut_old_citeauthor[#1][#2]{#3}
}
-\tl_new:N \g__letgut_bookreview_frontcover_tl
+\tl_new:N \l__letgut_bookreview_frontcover_tl
\tl_new:N \g__letgut_bookreview_bibkey_tl
\keys_define:nn { letgut/bookreview }
{
title .tl_gset:N = \g__letgut_bookreview_title_tl,
- frontcover .tl_gset:N = \g__letgut_bookreview_frontcover_tl,
+ frontcover .tl_set:N = \l__letgut_bookreview_frontcover_tl,
bibkey .tl_gset:N = \g__letgut_bookreview_bibkey_tl,
reviewer .tl_gset:N = \g__letgut_bookreview_reviewer_tl,
price .tl_gset:N = \g__letgut_bookreview_price_tl,
@@ -1871,15 +1891,16 @@
\cs_generate_variant:Nn \msg_error:nnnn { nnVV }
\NewDocumentEnvironment{bookreview}{ m }
{
+ \tl_gclear:N \g__letgut_bookreview_price_tl
\keys_set:nn { letgut/bookreview } { #1 }
\section{\g__letgut_bookreview_title_tl}
- \tl_if_empty:NTF \g__letgut_bookreview_frontcover_tl {
+ \tl_if_empty:NTF \l__letgut_bookreview_frontcover_tl {
\msg_warning:nnV{letgut}{frontcover-missing}{
\g__letgut_bookreview_title_tl
}
}{
\clist_map_inline:Nn \Gin at extensions {
- \file_if_exist:nT{\g__letgut_bookreview_frontcover_tl##1}{
+ \file_if_exist:nT{\l__letgut_bookreview_frontcover_tl##1}{
\bool_set_true:N \l__letgut_tmpa_bool
\clist_map_break:
}
@@ -1890,8 +1911,8 @@
% \raggedleft
\raisebox{-\totalheight}{
\fbox{
- \includegraphics[width=-\c__letgut_title_hoffset_dim]{
- \g__letgut_bookreview_frontcover_tl
+ \includegraphics*[width=-\c__letgut_title_hoffset_dim]{
+ \l__letgut_bookreview_frontcover_tl
}
}
}
@@ -1901,7 +1922,7 @@
{letgut}
{frontcover-file-not-found}
{\g__letgut_bookreview_title_tl}
- {\g__letgut_bookreview_frontcover_tl}
+ {\l__letgut_bookreview_frontcover_tl}
}
}
\noindent
@@ -1991,9 +2012,9 @@
}
}
\cs_new_protected:Npn \__letgut_attach_non_empty_existing_file:n #1 {
- \file_get_size:nN {./#1} \tmpa_tl
- \quark_if_no_value:NF \tmpa_tl {
- \tl_if_eq:NnF \tmpa_tl {0} {
+ \file_get_size:nN {./#1.tex} \l__letgut_tmpa_tl
+ \quark_if_no_value:NF \l__letgut_tmpa_tl {
+ \tl_if_eq:NnF \l__letgut_tmpa_tl {0} {
\seq_gput_left:Nn \g__letgut_included_files_seq {
\attachfile[
description={Source~ nécessaire~ (fichier~ `#1.tex`)},
@@ -2008,7 +2029,9 @@
\FloatBarrier
\lstset{ style=__letgut_reset_listings_styles }
\acresetall%
- \input{#2}%
+ \begin{refsection}
+ \input{#2}%
+ \end{refsection}
\bool_if:NT \g__letgut_included_files_attached_bool {
\IfBooleanF {#1}{
\__letgut_attach_non_empty_existing_file:n {
@@ -2034,7 +2057,7 @@
}
}
\seq_remove_duplicates:N \g__letgut_included_files_seq
- \marginpar{\seq_use:Nn \g__letgut_included_files_seq { } }
+ \seq_use:Nn \g__letgut_included_files_seq { \c_space_tl }
\seq_clear:N \g__letgut_included_files_seq
\bool_gset_false:N \g__letgut_acronyms_file_attached_bool
\bool_gset_false:N \g__letgut_lstlanguage_file_attached_bool
@@ -2048,7 +2071,7 @@
\clist_set:Nx \l__letgut_tmpa_clist {\Gin at extensions}
\cs_new_protected:Npn \__letgut_includegraphics:nnn #1 #2 #3
{
- \file_if_exist:nTF {#3} {
+ \file_if_exist:nTF {./#3} {
\bool_if:NT \g__letgut_included_files_attached_bool {
\IfBooleanF {#1}{
\seq_gput_left:Nn \g__letgut_included_files_seq {
@@ -2058,16 +2081,15 @@
présent~ article~ (fichier~ `#3`)
},
mimetype=image
- ]
- {#3}
+ ]{./#3}
}
}
}
- \__letgut_orig_includegraphics[#2]{#3}
+ \__letgut_orig_includegraphics[#2]{./#3}
}{
\bool_gset_false:N \g__letgut_tmpa_bool
\clist_map_inline:Nn \l__letgut_tmpa_clist {%
- \file_if_exist:nTF {#3##1} {
+ \file_if_exist:nT {./#3##1} {
\clist_map_break:n {
\bool_if:NT \g__letgut_included_files_attached_bool {
\IfBooleanF {#1}{
@@ -2075,8 +2097,7 @@
\attachfile[
description={Fichier~ image~ inclus~ dans~ le~ présent~ article~ (fichier~ `#3##1`)},
mimetype=image/##1
- ]
- {#3##1}
+ ]{./#3##1}
}
}
}
@@ -2085,11 +2106,11 @@
}
}
}
- \bool_if:NF \g__letgut_tmpa_bool {
- \@latex at error{File~ `#3'~ not~ found}%
- {I~ could~ not~ locate~ the~ file~ with~ any~ of~ these~ extensions:^^J%
- \clist_use:Nn \l__letgut_tmpa_clist { ~ }^^J\@ehc}%
- }
+ % \bool_if:NF \g__letgut_tmpa_bool {
+ % \@latex at error{File~ `#3'~ not~ found}%
+ % {I~ could~ not~ locate~ the~ file~ with~ any~ of~ these~ extensions:^^J%
+ % \clist_use:Nn \l__letgut_tmpa_clist { ~ }^^J\@ehc}%
+ % }
}
}
\RenewDocumentCommand {\includegraphics} {s O{} m } {
@@ -2569,36 +2590,13 @@
style=__letgut_terminal_listings_style,
language=terminal,
},
- every~ listing~ line={%
- \textcolor{__letgut_terminal_prompt}{%
- \ttfamily%
- \bfseries%
- \__letgut_unselectable:n {#1\c_space_tl}
- }
- },
+ fontupper=\ttfamily,
+ fontlower=\ttfamily,
},
}
\cs_new_protected:Npn \__letgut_terminal:nnnn #1 #2 #3 #4
{
\bool_set_false:N \l__letgut_tmpa_bool
- \tl_if_empty:nF {#3}{
- \tcbset{tempfile=\jobname-stdin.tex}
- \exp_args:Nx \scantokens
- {
- \token_to_str:N\begin{tcbwritetemp}
- #3
- \token_to_str:N\end{tcbwritetemp}
- }
- }
- \tl_if_empty:nF {#4}{
- \tcbset{tempfile=\jobname-stdout.tex}
- \exp_args:Nx \scantokens
- {
- \token_to_str:N\begin{tcbwritetemp}
- #4
- \token_to_str:N\end{tcbwritetemp}
- }
- }
\tl_if_empty:nTF {#3}{
\tl_if_empty:nTF {#4}{
\bool_set_true:N \l__letgut_tmpa_bool
@@ -2607,24 +2605,25 @@
}
}{
\tcbset{colback=__letgut_background_terminal_stdin}
- \tl_if_empty:nTF {#4}{
- }{
+ \tl_if_empty:nF {#4}{
\tcbset{
bicolor,
- middle=0mm,
- boxsep=0mm,
colbacklower=__letgut_background_terminal_stdout,
}
}
}
\bool_if:NF \l__letgut_tmpa_bool {
- \begin{tcolorbox}[terminal={#1},#2]
+ \begin{tcolorbox}[terminal,#2]
\lstset{aboveskip=0pt}
\tl_if_empty:nF {#3}{
- \tcbset{
- tempfile=\jobname-stdin.tex,
+ \tl_if_empty:nF {#1}{
+ \textcolor{__letgut_terminal_prompt}{%
+ \ttfamily%
+ \bfseries%
+ \__letgut_unselectable:n {#1\c_space_tl}
+ }
}
- \tcbusetemplisting
+ #3
\tl_if_empty:nF {#4}{
\tcblower
}
@@ -2634,13 +2633,12 @@
\lstset{aboveskip=0pt}
}
\tcbset{
- tempfile=\jobname-stdout.tex,
every~ listing~ line={},
listing~ options~ app={
language={}
}
}
- \tcbusetemplisting
+ #4
}
\end{tcolorbox}
}
@@ -2651,7 +2649,7 @@
}
\lst at InputCatcodes
\def\lst at DefEC{%
- \lst at CCECUse \lst at ProcessLetter
+ \lst at CCECUse \lst at ProcessLetter
^^80^^81^^82^^83^^84^^85^^86^^87^^88^^89^^8a^^8b^^8c^^8d^^8e^^8f%
^^90^^91^^92^^93^^94^^95^^96^^97^^98^^99^^9a^^9b^^9c^^9d^^9e^^9f%
^^a0^^a1^^a2^^a3^^a4^^a5^^a6^^a7^^a8^^a9^^aa^^ab^^ac^^ad^^ae^^af%
@@ -2660,11 +2658,16 @@
^^d0^^d1^^d2^^d3^^d4^^d5^^d6^^d7^^d8^^d9^^da^^db^^dc^^dd^^de^^df%
^^e0^^e1^^e2^^e3^^e4^^e5^^e6^^e7^^e8^^e9^^ea^^eb^^ec^^ed^^ee^^ef%
^^f0^^f1^^f2^^f3^^f4^^f5^^f6^^f7^^f8^^f9^^fa^^fb^^fc^^fd^^fe^^ff%
- ^^^^201c^^^^201d% for “ and ”
+ ^^^^201c% for “
+ ^^^^201d% for ”
^^^^215b% for ⅛
^^^^2122% for ™
^^^^2019% for ’
^^^^0153% for œ
+ ^^^^0152% for Œ
+ ^^^^20ac% for €
+ ^^^^27e8% for ⟨
+ ^^^^27e9% for ⟩
^^00%
}
\lst at RestoreCatcodes
Modified: trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.dbx
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.dbx 2024-10-08 01:08:26 UTC (rev 72489)
+++ trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.dbx 2024-10-08 01:22:18 UTC (rev 72490)
@@ -1,4 +1,4 @@
-\ProvidesFile{letgut.dbx}[2024-03-07 v0.9.9 letgut data model macros]
+\ProvidesFile{letgut.dbx}[2024-10-07 v0.9.10 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 2024-10-08 01:08:26 UTC (rev 72489)
+++ trunk/Master/texmf-dist/tex/lualatex/letgut/letgut.lbx 2024-10-08 01:22:18 UTC (rev 72490)
@@ -1,4 +1,4 @@
-\ProvidesFile{letgut.lbx}[2024-03-07 v0.9.9 letgut localization]
+\ProvidesFile{letgut.lbx}[2024-10-07 v0.9.10 letgut localization]
\InheritBibliographyExtras{french}
\DeclareBibliographyStrings{
inherit = {french},
More information about the tex-live-commits
mailing list.