summaryrefslogtreecommitdiff
path: root/macros/luatex/latex/letgut
diff options
context:
space:
mode:
Diffstat (limited to 'macros/luatex/latex/letgut')
-rw-r--r--macros/luatex/latex/letgut/README.md9
-rw-r--r--macros/luatex/latex/letgut/doc/letgut-banner-code.pdfbin142998 -> 145375 bytes
-rw-r--r--macros/luatex/latex/letgut/doc/letgut-code.pdfbin786619 -> 795088 bytes
-rw-r--r--macros/luatex/latex/letgut/doc/letgut.pdfbin388091 -> 387418 bytes
-rw-r--r--macros/luatex/latex/letgut/doc/letgut.tex131
-rw-r--r--macros/luatex/latex/letgut/source/letgut-banner.org297
-rw-r--r--macros/luatex/latex/letgut/source/letgut.org754
7 files changed, 663 insertions, 528 deletions
diff --git a/macros/luatex/latex/letgut/README.md b/macros/luatex/latex/letgut/README.md
index 1dbce82b4a..7f3c256082 100644
--- a/macros/luatex/latex/letgut/README.md
+++ b/macros/luatex/latex/letgut/README.md
@@ -2,15 +2,20 @@ letgut - Support for the newsletter “La Lettre GUTenberg”
=========================================================
About
--------
+-----
This bundle includes a LaTeX class, a `.sty` file and an acronym file dedicated
to the newsletter “La Lettre GUTenberg” of GUTenberg, the French TeX User Group.
Release
-------
-2024-03-07 v0.9.9
+2024-10-30 v0.9.12
Development
-----------
Follow development, submit issues and suggest improvements at
https://framagit.org/gutenberg/letgut.
+
+License
+-------
+Released under the LaTeX Project Public License v1.3c or later. See
+https://www.latex-project.org/lppl.txt#+end_src.
diff --git a/macros/luatex/latex/letgut/doc/letgut-banner-code.pdf b/macros/luatex/latex/letgut/doc/letgut-banner-code.pdf
index 3c9499367d..993691a4ab 100644
--- a/macros/luatex/latex/letgut/doc/letgut-banner-code.pdf
+++ b/macros/luatex/latex/letgut/doc/letgut-banner-code.pdf
Binary files differ
diff --git a/macros/luatex/latex/letgut/doc/letgut-code.pdf b/macros/luatex/latex/letgut/doc/letgut-code.pdf
index fb88b947ba..45630275e5 100644
--- a/macros/luatex/latex/letgut/doc/letgut-code.pdf
+++ b/macros/luatex/latex/letgut/doc/letgut-code.pdf
Binary files differ
diff --git a/macros/luatex/latex/letgut/doc/letgut.pdf b/macros/luatex/latex/letgut/doc/letgut.pdf
index 7b9adbc8e2..87fdfba9fe 100644
--- a/macros/luatex/latex/letgut/doc/letgut.pdf
+++ b/macros/luatex/latex/letgut/doc/letgut.pdf
Binary files differ
diff --git a/macros/luatex/latex/letgut/doc/letgut.tex b/macros/luatex/latex/letgut/doc/letgut.tex
index 14f005d8d7..f6bad71fce 100644
--- a/macros/luatex/latex/letgut/doc/letgut.tex
+++ b/macros/luatex/latex/letgut/doc/letgut.tex
@@ -68,7 +68,7 @@
}
\author{Association GUTenberg}
\date{%
- Version 0.9.9 en date du \today%
+ Version 0.9.12 en date du \today%
\texorpdfstring{%
\\
\url{https://framagit.org/gutenberg/letgut}%
@@ -338,30 +338,31 @@ Les options de la \letgutcls{} peuvent être spécifiées de deux façons :
page.
\end{docKey}
-\tcbset{before lower=\vspace*{.5\baselineskip}\par}
-%
-\begin{docKey}[][doc updated={2023-01-19}]{detailedtoc}{=\docValue{section}\textbar\docValue{subsection}\textbar\docValue{subsubsection}\textbar\docValue{paragraph}\textbar\docValue{subparagraph}}{\valinitdef[\docValue*{title}][\docValue*{all}]}
- Par défaut, une table des matières est automatiquement insérée en début de
- document, avec comme niveau de profondeur celui des titres des articles
- (saisis via la \refCom{title}), et seulement eux. La clé \refKey{detailedtoc}
- permet de modifier le \enquote{niveau de profondeur} de cette table des
- matières, respectivement jusqu'aux sections, sous-sections,
- sous-sous-sections, paragraphes, sous-paragraphes. Sont également acceptées
- les valeurs spéciales :
- \begin{itemize}
- \item \docValue{all} (alias de \docValue{subparagraph}) ;
- \item \docValue{none} qui inhibe l'affichage de la table des matières.
- \end{itemize}
+{\tcbset{before lower=\vspace*{\baselineskip}\par}
+ %
+ \begin{docKey}[][doc updated={2023-01-19}]{detailedtoc}{=\docValue{section}\textbar\docValue{subsection}\textbar\docValue{subsubsection}\textbar\docValue{paragraph}\textbar\docValue{subparagraph}}{\valinitdef[\docValue*{title}][\docValue*{all}]}
+ Par défaut, une table des matières est automatiquement insérée en début de
+ document, avec comme niveau de profondeur celui des titres des articles
+ (saisis via la \refCom{title}), et seulement eux. La clé \refKey{detailedtoc}
+ permet de modifier le \enquote{niveau de profondeur} de cette table des
+ matières, respectivement jusqu'aux sections, sous-sections,
+ sous-sous-sections, paragraphes, sous-paragraphes. Sont également acceptées
+ les valeurs spéciales :
+ \begin{itemize}
+ \item \docValue{all} (alias de \docValue{subparagraph}) ;
+ \item \docValue{none} qui inhibe l'affichage de la table des matières.
+ \end{itemize}
- \begin{dbremark}{Tables des matières locales}{}
- Chaque article peut contenir une table des matières locale, affichée au
- moyen de la commande \docAuxCommand{localtableofcontents} (fournie par le
- \package*{etoc} chargé en sous-main par la \letgutcls{}). Le niveau de
- profondeur est par défaut celui des sections mais cela peut être modifié en
- la faisant précéder de la commande \docAuxCommand{etocsetnexttocdepth} (dont
- l'argument est l'une des valeurs possibles de la clé \refKey{detailedtoc}).
- \end{dbremark}
-\end{docKey}
+ \begin{dbremark}{Tables des matières locales}{}
+ Chaque article peut contenir une table des matières locale, affichée au
+ moyen de la commande \docAuxCommand{localtableofcontents} (fournie par le
+ \package*{etoc} chargé en sous-main par la \letgutcls{}). Le niveau de
+ profondeur est par défaut celui des sections mais cela peut être modifié en
+ la faisant précéder de la commande \docAuxCommand{etocsetnexttocdepth} (dont
+ l'argument est l'une des valeurs possibles de la clé \refKey{detailedtoc}).
+ \end{dbremark}
+ \end{docKey}
+}
\begin{docKey}[][doc new={2023-01-14}]{reverse-files-attachement}{}{\valinitdef[pas de valeur]}
Si, et seulement si, la \lettre{} est à la fois en version pour les lecteurs
@@ -377,6 +378,28 @@ Les options de la \letgutcls{} peuvent être spécifiées de deux façons :
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 +739,7 @@ Unicode a prévu le caractère \Ucode[symbole numéro]{2116}.
{ 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 +1132,21 @@ fournit la commande à arguments \enquote{verbatim} suivante.
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@swidth sp,height=\@p@sheight sp]{\@p@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@swidth sp,height=\@p@sheight sp]{\@p@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
@@ -1206,8 +1196,7 @@ s'obtient :
\begin{itemize}
\item sous \linux{} : \LKeyShiftAltGrX{8}\footnote{Touche \LKey{8} du clavier
principal.} ;
-\item sous \macos{} : à l'aide du visualiseur de caractères\footnote{Et
- possiblement de raccourcis claviers personnels.} ;
+\item sous \macos{} : \LKeyShift+\LKeyOptionKey+\LKey{T} ;
\item sous \windows{} : \LKeyAltX{0}+\LKey{1}+\LKey{5}+\LKey{3}.
\end{itemize}
\end{dbremark}
@@ -1290,7 +1279,7 @@ Les fiches de lecture d'un livre sont créées au moyen de l'environnement
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}
diff --git a/macros/luatex/latex/letgut/source/letgut-banner.org b/macros/luatex/latex/letgut/source/letgut-banner.org
index b9c59dcee8..f618599196 100644
--- a/macros/luatex/latex/letgut/source/letgut-banner.org
+++ b/macros/luatex/latex/letgut/source/letgut-banner.org
@@ -2,7 +2,7 @@
#+TITLE: Support for the banner of the newsletter "La Lettre de GUTenberg"
#+AUTHOR: Association GUTenberg
-#+EMAIL: secretariat@gutenberg.eu.org
+#+EMAIL: secretariat@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@gutenberg.eu.org
+ E-mail:| secretariat@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@gutenberg.eu.org>
+Copyright (C) 1994-2024 by Association GUTenberg
+ <secretariat@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 @@ by Association GUTenberg.
#+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,21 +102,17 @@ Now, we can announce the package name and its version:
#+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"
}
#+end_src
** Packages loaded
-
-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
+:PROPERTIES:
+:CUSTOM_ID: ImplementationPackagesloaded-etvgxqt0fck0
+:END:
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 @@ reader who wants to copy the interesting text be able to select it (see below).
\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 @@ same as the page color of the document).
\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 @@ same as the page color of the document).
{ 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 @@ same as the page color of the document).
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 @@ same as the page color of the document).
#+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 @@ same as the page color of the document).
#+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 @@ rest of the content listed in the banner.
#+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 @@ rest of the content listed in the banner.
\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 @@ rest of the content listed in the banner.
#+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 @@ rest of the content listed in the banner.
\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 @@ as well.
#+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 @@ the page:
.5\baselineskip
}
#+end_src
+
Automatic addition on the 1st page (only) of the banner.
#+begin_src latex
\AddToHookNext{shipout/background}{
@@ -681,85 +725,91 @@ We put now the big "L" at the right place.
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
- }
- \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}
+ % \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}
+ }
}
-}
#+end_src
We end the part which isn't selectable.
#+begin_src latex
@@ -789,6 +839,9 @@ textheight of the first page of the height of the horizontal bar of the "L".
#+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}
diff --git a/macros/luatex/latex/letgut/source/letgut.org b/macros/luatex/latex/letgut/source/letgut.org
index 2a96939cd7..573e21c3ea 100644
--- a/macros/luatex/latex/letgut/source/letgut.org
+++ b/macros/luatex/latex/letgut/source/letgut.org
@@ -2,7 +2,7 @@
#+TITLE: Support for the newsletter “La Lettre GUTenberg”
#+AUTHOR: Association GUTenberg
-#+EMAIL: secretariat@gutenberg.eu.org
+#+EMAIL: secretariat@gutenberg-asso.fr
#+DESCRIPTION: ...
#+KEYWORDS: ...
#+LANGUAGE: en
@@ -54,7 +54,7 @@ new versions of the class on CTAN.
% 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.12 2024-10-30}
% -------------------------------------------------------------------------
% This field contains the name of the author(s).
% The value is optional.
@@ -64,7 +64,7 @@ new versions of the class on CTAN.
% This field contains the email address of the uploader.
% The value is an email address.
% The value is restricted to 255 characters.
- \email{secretariat@gutenberg.eu.org}
+ \email{secretariat@gutenberg-asso.fr}
% -------------------------------------------------------------------------
% This field contains the name of the uploader.
% The value is restricted to 255 characters.
@@ -132,7 +132,7 @@ new versions of the class on CTAN.
% The value is restricted to 8192 characters.
\begin{announcement}
### Fixed
- Private scratch variables not declared.
+ Fatal error in case of to be attached files not found
\end{announcement}
% -------------------------------------------------------------------------
% This field contains the one-liner for the package.
@@ -202,6 +202,34 @@ new versions of the class on CTAN.
## [Unreleased]
+ ## [0.9.12] - 2024-10-30
+
+ ### Fixed
+ Fatal error in case of to be attached files not found
+
+ ### Added
+ License in the README file
+
+ ## [0.9.11] - 2024-10-23
+
+ ### Fixed
+ - Bibliographic files not attached to the PDF
+
+ ## [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
@@ -319,18 +347,23 @@ letgut - Support for the newsletter “La Lettre GUTenberg”
=========================================================
About
--------
+-----
This bundle includes a LaTeX class, a `.sty` file and an acronym file dedicated
to the newsletter “La Lettre GUTenberg” of GUTenberg, the French TeX User Group.
Release
-------
-2024-03-07 v0.9.9
+2024-10-30 v0.9.12
Development
-----------
Follow development, submit issues and suggest improvements at
https://framagit.org/gutenberg/letgut.
+
+License
+-------
+Released under the LaTeX Project Public License v1.3c or later. See
+https://www.latex-project.org/lppl.txt#+end_src.
#+end_src
* How to :noexport:
@@ -399,13 +432,13 @@ the corresponding `.tex` file (which doesn't derive from an Org Mode file).
% -------:| ----------------------------------------------------
% letgut:| Class for the newsletter “La Lettre GUTenberg”
% Author:| Association GUTenberg
-% E-mail:| secretariat@gutenberg.eu.org
+% E-mail:| secretariat@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@gutenberg.eu.org>
+% <secretariat@gutenberg-asso.fr>
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License (LPPL), either
@@ -449,15 +482,22 @@ We define some constant token lists immediately useful.
#+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 +511,8 @@ Now, we can announce the class name and its version:
#+begin_src latex
\ProvidesExplClass{letgut}
- {2024-03-07}
- {0.9.9}
+ {2024-10-30}
+ {0.9.12}
{
Class for the newsletter “The GUTenberg Letter”
}
@@ -1379,7 +1419,20 @@ We close the ~\AddToHook{begindocument/before}~ argument.
\phantomsection
\__letgut_old_printbibliography[#1]
\bool_if:NT \g__letgut_included_files_attached_bool {
- \seq_map_inline:Nn \g__letgut_added_bib_resources_seq {\seq_gput_right:Nn \g__letgut_included_files_seq {#1}}
+ \seq_map_inline:Nn \g__letgut_added_bib_resources_seq {
+ \file_if_exist:nTF {##1}{
+ \seq_gput_right:Nn \g__letgut_included_files_seq {
+ \attachfile[
+ description={
+ Fichier~ bibliographique~ utilisé~ dans~ le~
+ présent~ article~ (fichier~ `\tl_to_str:n{##1}`)
+ },
+ mimetype=application/x-bib
+ ]
+ {\tl_to_str:n{##1}}
+ }
+ }
+ }
}
}
#+end_src
@@ -1578,7 +1631,10 @@ We now define the options of the class:
- ~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 +1643,7 @@ We now define the options of the class:
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 +1680,10 @@ We now define the options of the class:
}
}
}
+ , 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 +1748,7 @@ We now define the headers.
#+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 +1949,7 @@ We now define the headers.
:END:
#+begin_src latex
+ \int_new:N \g__letgut_rebus_int
\NewDocumentCommand{\solution}{}{\tcblower}
\NewDocumentCommand{\displaysolutions}{}{%
\tcbstoprecording\tcbinputrecords%
@@ -1923,25 +1984,27 @@ We now define the headers.
},
}
}
- \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{}}{%
\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 +2077,23 @@ $>0$.
# 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_@title_str {
- \tl_gset:Nn \g__letgut_mark_tl {
- \textit{\c__letgut_La_lettre_gutenberg_tl}
- }
- }{
- \tl_gset:Nn \g__letgut_mark_tl {
- \g__letgut_@title_str
+ > \c_zero_int
+ {numéro~ \int_use:N\g__letgut_number_int{}~ --~ }
+ \g__letgut_date_tl
+ }
+ \str_if_empty:NTF \g__letgut_@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_@title_str
+ }
+ }
+ \tl_gput_right:Nn \g__letgut_mark_tl {
+ ,~\g__letgut_title_tl
+ }
}
- }
- \tl_gput_right:Nn \g__letgut_mark_tl {
- ,~\g__letgut_title_tl
- }
- }
#+end_src
** First page handling
@@ -2059,7 +2122,7 @@ Lettre.
{
\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 +2137,13 @@ following code has to be postponed after the former (hence here
~\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 +2660,7 @@ We define the command that lets us specify the newsletter setup.
#+begin_src latex
\NewDocumentCommand {\francophony} { } {
\raisebox{-1.5pt}{
- \includegraphics*[width=\f@size pt]{
+ \__letgut_orig_includegraphics*[width=\f@size pt]{
letgut-francophony-icon
}
}
@@ -3385,7 +3450,11 @@ full name of the authors.
\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 +3465,7 @@ full name of the authors.
: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 +3473,7 @@ The keys options are created.
\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,59 +3492,73 @@ All these options, when used, must receive a value.
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
extensions of the ~graphicx~ package.
#+begin_src latex
- \clist_map_inline:Nn \Gin@extensions {
- \file_if_exist:nT{\g__letgut_bookreview_frontcover_tl##1}{
- \bool_set_true:N \l__letgut_tmpa_bool
- \clist_map_break:
- }
- }
- \bool_if:NTF \l__letgut_tmpa_bool {
- \marginpar{
- \hspace*{\c__letgut_bookreview_frontcover_margin_sep_dim}
- % \raggedleft
- \raisebox{-\totalheight}{
- \fbox{
- \includegraphics[width=-\c__letgut_title_hoffset_dim]{
- \g__letgut_bookreview_frontcover_tl
- }
- }
+ \clist_map_inline:Nn \Gin@extensions {
+ \file_if_exist:nT{\l__letgut_bookreview_frontcover_tl##1}{
+ \bool_set_true:N \l__letgut_tmpa_bool
+ \clist_map_break:
+ }
+ }
+ \bool_if:NTF \l__letgut_tmpa_bool {
+ \marginpar{
+ \hspace*{\c__letgut_bookreview_frontcover_margin_sep_dim}
+ % \raggedleft
+ \raisebox{-\totalheight}{
+ \fbox{
+ \includegraphics*[width=-\c__letgut_title_hoffset_dim]{
+ \l__letgut_bookreview_frontcover_tl
}
}
- }{
- \msg_error:nnVV
- {letgut}
- {frontcover-file-not-found}
- {\g__letgut_bookreview_title_tl}
- {\g__letgut_bookreview_frontcover_tl}
}
}
- \noindent
- \textsf{\fullcite{\g__letgut_bookreview_bibkey_tl}}
- \tl_if_empty:NF \g__letgut_bookreview_price_tl{
- .\c_space_tl\g__letgut_bookreview_price_tl\c_space_tl €
- }
- \par
+ }{
+ \msg_error:nnVV
+ {letgut}
+ {frontcover-file-not-found}
+ {\g__letgut_bookreview_title_tl}
+ {\l__letgut_bookreview_frontcover_tl}
+ }
+ }
+ \noindent
+ \textsf{\fullcite{\g__letgut_bookreview_bibkey_tl}}
+ \tl_if_empty:NF \g__letgut_bookreview_price_tl{
+ .\c_space_tl\g__letgut_bookreview_price_tl\c_space_tl €
+ }
+ \par
}{
\exp_args:NV \author{\g__letgut_bookreview_reviewer_tl}
\bool_if:NT \g__letgut_included_files_attached_bool {
- \seq_map_inline:Nn \g__letgut_added_bib_resources_seq {\seq_gput_right:Nn \g__letgut_included_files_seq {##1}}
+ \seq_map_inline:Nn \g__letgut_added_bib_resources_seq {
+ \file_if_exist:nTF {##1}{
+ \seq_gput_right:Nn \g__letgut_included_files_seq {
+ \attachfile[
+ description={
+ Fichier~ bibliographique~ utilisé~ dans~ le~
+ présent~ article~ (fichier~ `\tl_to_str:n{##1}`)
+ },
+ mimetype=application/x-bib
+ ]
+ {\tl_to_str:n{##1}}
+ }
+ }
+ }
}
}
#+end_src
@@ -3628,14 +3711,16 @@ the current directory and is non empty. This will be applied to both the
#+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} {
- \seq_gput_left:Nn \g__letgut_included_files_seq {
- \attachfile[
- description={Source~ nécessaire~ (fichier~ `#1.tex`)},
- mimetype=application/x-tex]
- {#1.tex}
+ \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} {
+ \file_if_exist:nTF {##1}{
+ \seq_gput_left:Nn \g__letgut_included_files_seq {
+ \attachfile[
+ description={Source~ nécessaire~ (fichier~ `#1.tex`)},
+ mimetype=application/x-tex]
+ {#1.tex}
+ }
}
}
}
@@ -3648,7 +3733,9 @@ the current directory and is non empty. This will be applied to both the
\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 +3761,7 @@ the current directory and is non empty. This will be applied to both the
}
}
\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 +3786,7 @@ to the \pdf{} (if desired, otherwise, use the starred version).
\clist_set:Nx \l__letgut_tmpa_clist {\Gin@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 +3796,15 @@ to the \pdf{} (if desired, otherwise, use the starred version).
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 +3812,7 @@ to the \pdf{} (if desired, otherwise, use the starred version).
\attachfile[
description={Fichier~ image~ inclus~ dans~ le~ présent~ article~ (fichier~ `#3##1`)},
mimetype=image/##1
- ]
- {#3##1}
+ ]{./#3##1}
}
}
}
@@ -3736,11 +3821,11 @@ to the \pdf{} (if desired, otherwise, use the starred version).
}
}
}
- \bool_if:NF \g__letgut_tmpa_bool {
- \@latex@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@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 } {
@@ -3754,31 +3839,42 @@ to the \pdf{} (if desired, otherwise, use the starred version).
:END:
We hack the ~\addbibresource~ command in order to attach the bibliographic
-ressources to the \pdf{} (if desired, otherwise, use the starred version).
+ressources to the \pdf{}.
#+begin_src latex
- \NewCommandCopy {\__letgut_orig_addbibresource} {\addbibresource}
- \cs_new_protected:Npn \__letgut_addbibresource:nnn #1 #2 #3
+ \cs_new:Nn \__letgut_extract_file_for:nn
{
- \file_if_exist:nT {#3} {
- \IfBooleanF {#1}{
- \seq_gput_left:Nn \g__letgut_added_bib_resources_seq {
- \attachfile[
- description={
- Source~ du~ fichier~ bibliographique~ utilisé~
- dans~ le~ présent~ article~ (fichier~ `#3`)
- },
- mimetype=application/x-bibtex
- ]%
- {#3}%
+ \seq_clear:N \g__letgut_added_bib_resources_seq
+ \regex_extract_all:nnNT
+ {
+ \c{ #1 } \[?.*?\]? \{ ( .*? ) \}
+ }
+ {
+ #2
+ }
+ \g__letgut_added_bib_resources_seq
+ {
+ \seq_map_indexed_inline:Nn \g__letgut_added_bib_resources_seq {
+ \int_if_odd:nT {##1}
+ {
+ \seq_gset_item:Nnn \g__letgut_added_bib_resources_seq {##1} {}
}
}
+ \seq_gremove_duplicates:N \g__letgut_added_bib_resources_seq
+ \seq_gpop:NN \g__letgut_added_bib_resources_seq \l_tmpa_tl
}
+ }
+ \NewCommandCopy {\__letgut_orig_addbibresource} {\addbibresource}
+ \cs_new_protected:Npn \__letgut_addbibresource:nnn #1 #2 #3
+ {
\__letgut_orig_addbibresource[#2]{#3}
}
\RenewDocumentCommand {\addbibresource} { s O{} m } {
\__letgut_addbibresource:nnn {#1} {#2} {#3}
}
+ \AddToHookWithArguments{cmd/sa@gobble/before}{
+ \__letgut_extract_file_for:nn { addbibresource }{ #1 }
+ }
#+end_src
*** Added acronym definitions file attached to the PDF
@@ -3792,14 +3888,16 @@ file to the \pdf{}.
#+begin_src latex
\bool_if:NT \g__letgut_included_files_attached_bool {
\tl_const:Nn \c__letgut_acronyms_file_attached_tl {
- \attachfile[
- description={
- Source~ du~ fichier~ d'acronymes~ utilisé~ dans~
- le~ présent~ article~
- (fichier~ `\c__letgut_acronyms_file_tl.tex`)
- },
- mimetype=application/x-tex]%
- {\g__letgut_effective_acronyms_file_tl}%
+ \file_if_exist:nTF {\g__letgut_effective_acronyms_file_t}{
+ \attachfile[
+ description={
+ Source~ du~ fichier~ d'acronymes~ utilisé~ dans~
+ le~ présent~ article~
+ (fichier~ `\c__letgut_acronyms_file_tl.tex`)
+ },
+ mimetype=application/x-tex]%
+ {\g__letgut_effective_acronyms_file_tl}%
+ }
}
\AddToHook{cmd/ac/before}{
\bool_gset_true:N \g__letgut_acronyms_file_attached_bool
@@ -3820,15 +3918,19 @@ file to the \pdf{}.
#+begin_src latex
\bool_if:NT \g__letgut_included_files_attached_bool {
- \tl_const:Nn \c__letgut_lstlanguage_file_attached_tl {
- \attachfile[
- description={
- Source~ du~ fichier~ de~ langages~ informatiques~ utilisé~
- dans~ le~ présent~ article~
- (fichier~ `\c__letgut_lstlanguage_file_tl`)
- },
- mimetype=application/x-tex]%
- {../\c__letgut_lstlanguage_file_tl}%
+ \file_if_exist:nTF {../\c__letgut_lstlanguage_file_tl}{
+ \tl_const:Nn \c__letgut_lstlanguage_file_attached_tl {
+ \attachfile[
+ description={
+ Source~ du~ fichier~ de~ langages~ informatiques~ utilisé~
+ dans~ le~ présent~ article~
+ (fichier~ `\c__letgut_lstlanguage_file_tl`)
+ },
+ mimetype=application/x-tex]%
+ {../\c__letgut_lstlanguage_file_tl}%
+ }
+ }{
+ \tl_const:Nn \c__letgut_lstlanguage_file_attached_tl {}
}
\AddToHook{env/ltx-code/before}{
\bool_gset_true:N \g__letgut_lstlanguage_file_attached_bool
@@ -4044,7 +4146,7 @@ The functions:
}
\cs_new_protected:Npn \__letgut_title_code_result_box:n #1
{
- Exemple~ \thetcbcounter
+ Exemple\nobreakspace\thetcbcounter
\tl_if_empty:NF {#1} { \hypersetup{hidelinks} \c_space_tl :~#1 }
}
\cs_new_protected:Nn \__letgut_on_callout_page:nn
@@ -4478,41 +4580,18 @@ We define some colors used in the terminal listings.
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 +4600,25 @@ We define some colors used in the terminal listings.
}
}{
\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 +4628,12 @@ We define some colors used in the terminal listings.
\lstset{aboveskip=0pt}
}
\tcbset{
- tempfile=\jobname-stdout.tex,
every~ listing~ line={},
listing~ options~ app={
language={}
}
}
- \tcbusetemplisting
+ #4
}
\end{tcolorbox}
}
@@ -4575,14 +4654,14 @@ We define some colors used in the terminal listings.
: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).
#+begin_src latex
\lst@InputCatcodes
\def\lst@DefEC{%
- \lst@CCECUse \lst@ProcessLetter
+ \lst@CCECUse \lst@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 +4670,16 @@ https://tex.stackexchange.com/a/25396).
^^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@RestoreCatcodes
@@ -4646,7 +4730,7 @@ several purposes:
- 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-30 v0.9.12 letgut localization]
\InheritBibliographyExtras{french}
\DeclareBibliographyStrings{
inherit = {french},
@@ -4660,7 +4744,7 @@ several purposes:
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-30 v0.9.12 letgut data model macros]
\DeclareBibliographyDriver{bookreview}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
@@ -4715,7 +4799,7 @@ several purposes:
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-30 v0.9.12 letgut base citation style]
\RequireCitationStyle{numeric}
#+end_src
@@ -4879,162 +4963,166 @@ well...
: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}%
-
- \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}.%
- }
+ \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}%
- % \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}
-
- \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%
- % }.
-
- \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}
-
- 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
-
- \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}
+ \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}
+
+ \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}
+
+ 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}
+
+ \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 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}
- \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: