summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/lualatex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2023-01-14 20:48:59 +0000
committerKarl Berry <karl@freefriends.org>2023-01-14 20:48:59 +0000
commit38a85335a98b9ebd1d72dc8423ac1a4aa9061000 (patch)
tree2939017d50427231584d40cf24af728bff385a4e /Master/texmf-dist/tex/lualatex
parentfe0a6d1db1e8e9f87f4fc6d52bdd1b27f4f3c6d0 (diff)
letgut (14jan23)
git-svn-id: svn://tug.org/texlive/trunk@65536 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/lualatex')
-rw-r--r--Master/texmf-dist/tex/lualatex/letgut/informations-gut.tex2
-rw-r--r--Master/texmf-dist/tex/lualatex/letgut/letgut-lstlang.sty682
-rw-r--r--Master/texmf-dist/tex/lualatex/letgut/letgut.cbx2
-rw-r--r--Master/texmf-dist/tex/lualatex/letgut/letgut.cls567
-rw-r--r--Master/texmf-dist/tex/lualatex/letgut/letgut.dbx2
-rw-r--r--Master/texmf-dist/tex/lualatex/letgut/letgut.lbx2
6 files changed, 1124 insertions, 133 deletions
diff --git a/Master/texmf-dist/tex/lualatex/letgut/informations-gut.tex b/Master/texmf-dist/tex/lualatex/letgut/informations-gut.tex
index e7249c8a237..85e0d6a9f1e 100644
--- a/Master/texmf-dist/tex/lualatex/letgut/informations-gut.tex
+++ b/Master/texmf-dist/tex/lualatex/letgut/informations-gut.tex
@@ -6,7 +6,7 @@
\hspace*{-1.5cm}%
\raisebox{-\height+0.7\baselineskip}{%
\begin{minipage}[t]{.6\textwidth}%\vspace{0pt}%
- \includegraphics[width=\linewidth]{logo-gut.pdf}
+ \includegraphics*[width=\linewidth]{logo-gut.pdf}
\end{minipage}%
}%
\hfill%
diff --git a/Master/texmf-dist/tex/lualatex/letgut/letgut-lstlang.sty b/Master/texmf-dist/tex/lualatex/letgut/letgut-lstlang.sty
index 412849c9724..ab97265d351 100644
--- a/Master/texmf-dist/tex/lualatex/letgut/letgut-lstlang.sty
+++ b/Master/texmf-dist/tex/lualatex/letgut/letgut-lstlang.sty
@@ -30,7 +30,659 @@
% % alsodigit={},%
% % alsoother={},%
% sensitive,%
- % }[keywords,tex,comments%]
+ % }[keywords,tex,comments]
+
+\lst@definelanguage[Scrabble]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ PlateauScrabble,ScrabblePlaceMot,%
+ ScrabbleBoard,ScrabblePutWord,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters
+ % (since of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ EnvScrabble,%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ FR,EN,DE,ES,GR,SP,%
+ Echelle,Echellelabels,Cadre,Labels,Aide,%
+ Scale,ScaleLabels,Border,Help,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ Scrabble%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]
+
+\lst@definelanguage[FiraSans]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ sufigures,firaoldstyle,firalining,firatabular,firaproportional,
+ firathin,firalight,firaextralight,firaultralight,firamedium,firabook,
+ firasemibold,firaextrabold,firaheavy,%
+ }%
+ % Keywords of class 1 : keywords that contain other characters
+ % (since of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ sfdefault,scaled,scale,type1,lining,lf,oldstyle,osf,tabular,t,proportional,%
+ p,book,medium,mb,semibold,sb,light,l,extralight,ultralight,thin,%
+ extrabold,heavy,default,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ FiraSans%
+ },%
+ % otherkeywords={},
+ alsoletter={1},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]
+
+\lst@definelanguage[luagcd]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ luagcdwithsteps,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters
+ % (since of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ luagcd%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]
+
+\lst@definelanguage[maze]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ maze,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters
+ % (since of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ maze%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]
+
+\lst@definelanguage[animate]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ multiframe,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters
+ % (since of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ animateinline,
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ poster,controls,palindrome,bb,rx,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ first,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ animate%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]
+
+\lst@definelanguage[tikz-mirror-lens]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ lensSphGaussFixed,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters
+ % (since of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ tikz-mirror-lens%
+ },%
+ % otherkeywords={},
+ alsoletter={-},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]
+
+\lst@definelanguage[jeuxcartes]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ MainCartesJeu,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters
+ % (since of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ Eventail,10C,10K,AC,AT,AP,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ jeuxcartes%
+ },%
+ % otherkeywords={},
+ alsoletter={0123456789},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]
+
+\lst@definelanguage[plex-otf]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ },%
+ % Keywords of class 1 : keywords that contain other characters
+ % (since of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ RM
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ plex-otf%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]
+
+\lst@definelanguage[mathtools]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ mathclap,DeclarePairedDelimiter,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters
+ % (since of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ %
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]
+
+ \lst@definelanguage[tikz-ext]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ },%
+ % Keywords of class 1 : keywords that contain other characters
+ % (since of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ distancebetween,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ tikz-ext%
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]
+
+ \lst@definelanguage[tikzfill]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ },%
+ % Keywords of class 1 : keywords that contain other characters
+ % (since of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ pattern,hexagon,cycle,color,
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ tikzfill
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]
+
+ \lst@definelanguage[unicodemath]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ symscr,symbb,symfrak,symsfup,symsfit,symtt,setmathfont,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters
+ % (since of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ range,mathrm,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ up,it,bb,bbit,scr,cal,bfcal,frak,tt,sfup ,sfit,bfup,bfit,bfscr,bffrak,%
+ bfsfup,bfsfit,sym,%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ unicode-math
+ },%
+ % otherkeywords={},
+ alsoletter={-},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]
+
+ \lst@definelanguage[xcharter-otf]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ Bbbone,Bbbk,%
+ },%
+ % Keywords of class 1 : keywords that contain other characters
+ % (since of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ range
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ xcharter-otf
+ },%
+ % otherkeywords={},
+ alsoletter={-},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]
+
+ \lst@definelanguage[braille]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ braille
+ },%
+ % Keywords of class 1 : keywords that contain other characters
+ % (since of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ %
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]
+
+\lst@definelanguage[swungdash]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ swungdash
+ },%
+ % Keywords of class 1 : keywords that contain other characters
+ % (since of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ %
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]
+
+
+\lst@definelanguage[simples-matrices]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ matrice
+ },%
+ % Keywords of class 1 : keywords that contain other characters
+ % (since of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ b,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ %
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]
+
+ \lst@definelanguage[customdice]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ dice
+ },%
+ % Keywords of class 1 : keywords that contain other characters
+ % (since of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ violet,yellow
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ %
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]
+
+ \lst@definelanguage[pingu]{TeX}{%
+ % Control sequences names
+ moretexcs={%
+ pingu
+ },%
+ % Keywords of class 1 : keywords that contain other characters
+ % (since of the same class as the ones specified as 'otherkeywords')
+ morekeywords={%
+ },%
+ % Keywords of class 2 : environments names
+ morekeywords=[2]{%
+ },%
+ % Keywords of class 3 : mandatory arguments (not environments) &
+ % optional arguments which are keys (in key=value)
+ morekeywords=[3]{%
+ left,wing,wave,right,grab,eyes,shiny,cup,%
+ },%
+ % Keywords of class 4 : values of keys (in key=value)
+ morekeywords=[4]{%
+ },%
+ % Keywords of class 5 : arguments specifications (after ":" in expl3
+ % syntax)
+ morekeywords=[5]{%
+ },%
+ % Keywords of class 6 : current package name (and possibly derived
+ % packages)
+ morekeywords=[6]{%
+ %
+ },%
+ % otherkeywords={},
+ % alsoletter={},
+ % alsodigit={},%
+ % alsoother={},%
+ sensitive,%
+ }[keywords,tex,comments]%
\lst@definelanguage[letgut]{TeX}{%
% Control sequences names
@@ -39,7 +691,8 @@
package,package*,class,class*,software,software*,file,file*,%
foreignloc,latinloc,gutenberg,gut,lettre,lettregut,Cahier,%
Cahiers,letgut,letgutcls,knuth,lamport,tugboat,item*,letgutacro,%
- separator,alertbox,terminal,inputarticle,lettrenumber,%
+ separator,alertbox,terminal,inputarticle,lettrenumber,solution,%
+ rebussolution,%
},%
% Keywords of class 1 : keywords that contain other characters (since
% of the same class as the ones specified as 'otherkeywords')
@@ -48,7 +701,7 @@
% Keywords of class 2 : environments names
morekeywords=[2]{%
ctannews,ltx-code,ltx-code-result,ltx-code-external-result,%
- bookreview,%
+ bookreview,announcement,rebus,%
},%
% Keywords of class 3 : mandatory arguments (not environments) &
% optional arguments which are keys (in key=value)
@@ -56,7 +709,7 @@
for-authors,for-readers,draft,final,screen,paper,number,date,%
pagecolor,allcolorslinks,membership-reminder,editorial,informations,%
title,addon,result width,reference,text,title,reviewer,bibkey,%
- frontcover,price,result,and,%
+ frontcover,price,result,and,no,solution,%
},%
% Keywords of class 4 : values of keys (in key=value)
morekeywords=[4]{%
@@ -81,7 +734,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% LaTeX texcs and keywords that are missing in `listings` driver file
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\lst@definelanguage[extLaTeX]{TeX}{%
+\lst@definelanguage[extendedLaTeX]{TeX}{%
% Control sequences names
moretexcs={%
Huge,LARGE,Large,LoadClass,NewCommandCopy,RequirePackage,%
@@ -640,7 +1293,7 @@
% syntax)
morekeywords=[5]{%
D,N,Nn,NF,NN,Nx,NT,NTF,NNn,NnV,Nnn,Npn,Nnnn,V,c,e,en,f,n,nF,%
- nn,nT,nnn,nnF,nnV,nTF,nnnn,nNnF,nNnT,nnVV,o,p,v,w,x,%
+ nn,nT,nnn,nnF,nnV,nTF,nnnn,nNnF,nNnT,nnVV,o,p,v,w,x,nnTF,%
},%
% Keywords of class 6 : current package name (and possibly derived
% packages)
@@ -1303,7 +1956,8 @@
\lst@definelanguage[tikz]{TeX}{%
% Control sequences names
moretexcs={%
- usetikzlibrary,draw,node,matrix,fill,foreach,tikz,%
+ usetikzlibrary,draw,node,matrix,fill,foreach,tikz,pgfmathsetmacro,%
+ path,%
},%
% Keywords of class 1 : keywords that contain other characters (since
% of the same class as the ones specified as 'otherkeywords')
@@ -1317,12 +1971,13 @@
% optional arguments which are keys (in key=value)
morekeywords=[3]{%
pic,rotate,xshift,yshift,every node,inner sep,blend mode,fill,%
- fit,circle,anchor,in,count,x,y,matrix,of,math,nodes,above
- right,at,--,-|,|-,%
+ fit,circle,anchor,in,count,x,y,matrix,of,math,nodes,above right,%
+ at,--,-|,|-,thick,size,angle,circle,through,intersection,of,%
+ draw,coordinate,shift,and,cycle,cs:A,node,barycentric,%
},%
% Keywords of class 4 : values of keys (in key=value)
morekeywords=[4]{%
- multiply,lightgray,base,%
+ multiply,lightgray,base,red%
},%
% Keywords of class 5 : arguments specifications (after ":" in expl3
% syntax)
@@ -1334,7 +1989,7 @@
tikz,%
},%
% otherkeywords={},%
- alsoletter={-| \ },%
+ alsoletter={-| \ :},%
% alsodigit={},%
% alsoother={},%
sensitive,%
@@ -1494,6 +2149,7 @@
% optional arguments which are keys (in key=value)
morekeywords=[3]{%
log-declarations,%
+ m,r,R,v,b,o,d,O,D,s,t,e,E,%
},%
% Keywords of class 4 : values of keys (in key=value)
morekeywords=[4]{%
@@ -1969,7 +2625,7 @@
morekeywords=[3]{%
Alternate,Annotation,AutoFakeBold,AutoFakeSlant,BoldFeatures,%
BoldFont,BoldItalicFeatures,BoldItalicFont,BoldSlantedFeatures,%
- BoldSlantedFont,BoldSwashFeatures,BoldSwashFont,CJKShape,%
+ BoldSlantedFont,BoldSwashFeatures,BoldSwashFont,CJKShape,ItalicFeatures,%
CharacterVariant,CharacterWidth,Color,Colour,Contextuals,%
Diacritics,Extension,FakeBold,FakeSlant,FakeStretch,Font,FontFace,%
Fractions,HyphenChar,IgnoreFontspecFileItalicFeatures,ItalicFont,%
@@ -1998,7 +2654,7 @@
TeX,Thurd,Titling,Traditional,Unicase,Uppercase,UppercaseOff,%
UppercasePetiteCaps,UppercaseSmallCaps,VerticalKana,WordFinal,%
WordInitial,ResetAll,c2sc,scmp,sinf,sups,zero,ss06,ss01,%
- ss04,-liga,frac,titl,swsh,hist,hlig%
+ ss04,-liga,frac,titl,swsh,hist,hlig,MatchUppercase,MatchLowercase,%
},%
% Keywords of class 5 : arguments specifications (after ":" in expl3
% syntax)
diff --git a/Master/texmf-dist/tex/lualatex/letgut/letgut.cbx b/Master/texmf-dist/tex/lualatex/letgut/letgut.cbx
index 852f60e2a55..876ee67dca3 100644
--- a/Master/texmf-dist/tex/lualatex/letgut/letgut.cbx
+++ b/Master/texmf-dist/tex/lualatex/letgut/letgut.cbx
@@ -1,4 +1,4 @@
-\ProvidesFile{letgut.cbx}[2022-10-03 v0.9.4 letgut base citation style]
+\ProvidesFile{letgut.cbx}[2023-01-13 v0.9.5 letgut base citation style]
\RequireCitationStyle{numeric}
\DeclareFieldFormat[bookreview]{title}{\textbf{\emph{#1}}}
\renewbibmacro*{title}{%
diff --git a/Master/texmf-dist/tex/lualatex/letgut/letgut.cls b/Master/texmf-dist/tex/lualatex/letgut/letgut.cls
index 319dfc2badd..21f1685864b 100644
--- a/Master/texmf-dist/tex/lualatex/letgut/letgut.cls
+++ b/Master/texmf-dist/tex/lualatex/letgut/letgut.cls
@@ -11,7 +11,7 @@
% | v1.3c or later
% See:| http://www.latex-project.org/lppl.txt
%
-% Copyright (C) 1994-2022 by Association GUTenberg
+% Copyright (C) 1994-2023 by Association GUTenberg
% <secretariat@gutenberg.eu.org>
%
% This work may be distributed and/or modified under the
@@ -32,7 +32,11 @@
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
\ExplSyntaxOn
\tl_const:Nn \c__letgut_Lettre_tl { \emph{ Lettre } }
+\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_tl {
\c__letgut_Lettre_tl~\c_space_tl \c__letgut_gutenberg_tl
}
@@ -44,8 +48,8 @@
}
\ExplSyntaxOff
\ProvidesExplClass{letgut}
-{2022-10-03}
-{0.9.4}
+{2023-01-13}
+{0.9.5}
{
Class for the newsletter “The GUTenberg Letter”
}
@@ -102,6 +106,9 @@
\bool_new:N \g__letgut_paper_bool
\bool_new:N \l__letgut_in_footnote_bool
\bool_new:N \g__letgut_draft_bool
+\bool_new:N \g__letgut_included_files_attached_bool
+\bool_new:N \g__letgut_acronyms_file_attached_bool
+\bool_new:N \g__letgut_lstlanguage_file_attached_bool
\dim_const:Nn \c__letgut_textheight_dim { 25cm }
\dim_const:Nn \c__letgut_textwidth_dim { 14cm }
\dim_const:Nn \c__letgut_lmargin_dim { 5cm }
@@ -299,12 +306,15 @@
\tl_new:N \l_letgut_title_tl
\tl_new:N \l__letgut_title_addon_tl
\tl_new:N \l__letgut_reference_text_tl
+\tl_new:N \g__letgut_effective_acronyms_file_tl
\clist_new:N \g__letgut_pagecolor_clist
\clist_const:Nn \c__letgut_default_pagecolor_screen_clist
{1.0, 0.98, 0.94}
\clist_const:Nn \c__letgut_default_pagecolor_paper_clist
{1, 1, 1}
\seq_new:N \l__letgut_first_last_names_items_seq
+\seq_new:N \g__letgut_included_files_seq
+\seq_new:N \g__letgut_added_bib_resources_seq
\RequirePackage{l3keys2e}
\int_new:N \g__letgut_date_month_int
\int_new:N \g__letgut_date_year_int
@@ -412,7 +422,9 @@
\RequirePackage{etoc}
\RequirePackage{enumitem}
\RequirePackage{titlesec}
+\RequirePackage[table]{xcolor}
\RequirePackage{fourier-orns}
+\RequirePackage{pgfornament}
\RequirePackage[section,above]{placeins}
\RequirePackage{fancyvrb}
\RequirePackage{booktabs}
@@ -420,9 +432,10 @@
\RequirePackage[fleqn]{mathtools}
\RequirePackage{accsupp}
\RequirePackage{siunitx}
-\RequirePackage{hologo}
-\RequirePackage[table]{xcolor}
+\RequirePackage{bxtexlogo}
\RequirePackage{tcolorbox}
+\RequirePackage[group=false,subpreambles,sort]{standalone}
+\RequirePackage[icon=Paperclip]{attachfile2}
\RequirePackage{refcount}
\RequirePackage{ninecolors}
\RequirePackage{tabularray}
@@ -437,6 +450,7 @@
citestyle=letgut
]{biblatex}
\RequirePackage{acro}
+\RequirePackage{xurl}
\AddToHook{begindocument/before}{
\RequirePackage{hyperref}
\RequirePackage[all]{hypcap}
@@ -477,29 +491,28 @@
\RenewDocumentCommand {\printbibliography} { O{} } {
\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}}
+ }
}
\defbibheading{title}[\refname]{%
\title{#1}}
\defbibheading{subtitle}[\refname]{%
\subtitle{#1}}
\acsetup{
- first-style=footnote,
+ first-style=short,
format/short = {\scshape},
format/foreign = {\em},
foreign/display,
locale/format = {\upshape},
locale/display,
+ make-links = true,
+ link-only-first = true
}
-\cs_undefine:N \acro_footnote:n
-\cs_new_protected:Npn \acro_footnote:n #1
-{
- \tl_set:Ne \l__acro_tmpa_tl {
- \l__acro_fnpct_check_tl
- }
- \exp_last_unbraced:Nno
- \footnote {#1.}
- \l__acro_tmpa_tl
-}
+\AddToHook{cmd/printacronyms/before}{\bool_set_false:N\l__acro_link_only_first_bool}
+\ProvideDocumentCommand \acroendfootnote {} {.}
+\RemoveFromHook{begindocument}[standalone]
+\ExpandArgs{nv}\AddToHook{begindocument/before}{l__hook_return_tl}
\AddToHook{begindocument/before}{
\bool_if:NTF \g__letgut_paper_bool {
\hypersetup{hidelinks}
@@ -510,16 +523,17 @@
}%
}
\file_if_exist:nTF {./\c__letgut_acronyms_file_tl}{
- \file_input:n {./\c__letgut_acronyms_file_tl}
+ \tl_gset:Nn \g__letgut_effective_acronyms_file_tl {./\c__letgut_acronyms_file_tl}
}{
\file_if_exist:nTF {../\c__letgut_acronyms_file_tl}{
- \file_input:n {../\c__letgut_acronyms_file_tl}
+ \tl_gset:Nn \g__letgut_effective_acronyms_file_tl {../\c__letgut_acronyms_file_tl}
}{
\file_if_exist:nT {\c__letgut_acronyms_file_tl}{
- \file_input:n {\c__letgut_acronyms_file_tl}
+ \tl_gset:Nn \g__letgut_effective_acronyms_file_tl {\c__letgut_acronyms_file_tl}
}
}
}
+\input {\g__letgut_effective_acronyms_file_tl}
% % \bool_if:NF \g__letgut_paper_bool {
\bool_if:NT \g__letgut_draft_bool {
% \RequirePackage[All]{lua-typo}
@@ -563,7 +577,10 @@
\c__letgut_default_pagecolor_screen_clist
\keys_define:nn { letgut }
{
- , for-readers .bool_gset:N = \g__letgut_for_readers_bool
+ , for-readers .code:n = {
+ \bool_gset_true:N \g__letgut_for_readers_bool
+ \bool_gset_false:N \g__letgut_included_files_attached_bool
+ }
, for-readers .initial:n = { true }
, for-readers .default:n = { true }
, for-authors .bool_gset_inverse:N = \g__letgut_for_readers_bool
@@ -576,6 +593,7 @@
\pagecolor[rgb]{\c__letgut_default_pagecolor_paper_clist}
\clist_set_eq:NN \g__letgut_pagecolor_clist
\c__letgut_default_pagecolor_paper_clist
+ \bool_gset_false:N \g__letgut_included_files_attached_bool
}
, screen .bool_gset_inverse:N = \g__letgut_paper_bool
, number .int_gset:N = \g__letgut_number_int
@@ -610,6 +628,7 @@
, informations .initial:n = { true }
, detailedtoc .bool_gset:N = \g__letgut_detailedtoc_bool
, detailedtoc .initial:n = { false }
+ , source-files-attached .bool_gset:N = \g__letgut_force_included_files_attached_bool
}
\ProcessKeysOptions { letgut }
\definecolor{letgut_pagecolor}{rgb}{\g__letgut_pagecolor_clist}
@@ -691,6 +710,122 @@
\end{tblr}
\skip_vertical:N \c_zero_dim
}
+\DeclareTColorBox{announcement}{ O{black} m }
+{
+ colframe=#1,
+ coltitle=#1,
+ borderline~ west={1cm}{0pt}{#1},
+ IfBlankF={#2}{
+ title=\hypersetup{hidelinks}#2,
+ phantom={\phantomsection\addcontentsline{toc}{title}{#2}},
+ },
+ enhanced,
+ sharp~ corners,
+ boxrule=0mm,
+ leftrule=1cm,
+ bottomrule=1cm,
+ toptitle=20pt,
+ bottomtitle=20pt,
+ center~ title,
+ fonttitle=\scshape\bfseries\huge,
+ fontupper=\Large,
+ fontlower=\Large,
+ skin=empty,
+ segmentation~ style=solid,
+ halign=center,
+ overlay~ unbroken~ and~ first ={
+ \node[color=#1]~ at~ ([yshift=8pt]title.south)
+ {\pgfornament[width=0.4\linewidth]{88}};
+ \node[color=white,anchor=north~ west]~ at~ (frame.north~ west) {\huge\bfseries\aldineright{}};
+ },
+}
+\NewDocumentCommand{\solution}{}{\tcblower}
+\NewDocumentCommand{\displaysolutions}{}{%
+ \tcbstoprecording\tcbinputrecords%
+}
+\tcbset{%
+ rebus~ style/.style={%
+ enhanced,
+ boxrule=0pt,
+ frame~hidden,
+ fonttitle=\normalfont\large\bfseries,
+ before~ title={\lefthand\c_space_tl},
+ halign=center,
+ title~ addon/.store~ in=\l__letgut_title_addon_tl,
+ after~ title={
+ \tl_if_empty:NF {\l__letgut_title_addon_tl}{
+ \c_space_tl(\emph{\l__letgut_title_addon_tl})
+ }
+ },
+ float = bh,
+ colback = __letgut_background_terminal_stdout,
+ colbacktitle = __letgut_background_terminal_stdin,
+ coltitle = black
+ }
+}
+\tcbset{
+ no~ solution/.style={
+ no~ recording,
+ after~ upper=dans~ la~ prochaine~ \lettre{},
+ after~ upper~ pre={
+ \par\bigskip\hfill\scriptsize\itshape
+ Solution\c_space_tl
+ },
+ }
+}
+\NewTColorBox[auto~ counter]{rebus}{+!O{}}{%
+ rebus~ style,
+ fonttitle=\bfseries,
+ title={Rébus},
+ label={rebus@\thetcbcounter},
+ after~ upper={\vpageref[ci-dessous]{solution@\thetcbcounter}},
+ after~ upper~ pre={
+ \par\bigskip\hfill\scriptsize\itshape
+ Solution\c_space_tl
+ },
+ lowerbox=ignored,
+ savelowerto=rebus-\thetcbcounter.tex,
+ record={\string\rebussolution*[\thetcbcounter][][]},
+ #1
+}
+\NewDocumentCommand{\rebussolution}{s +o o O{}}{%
+ \IfValueTF{#2}{
+ \begin{tcolorbox}[
+ rebus~ style,
+ halign=justify,
+ before~ title={\lefthand{}~Solution~ du~ rébus\c_space_tl},
+ title={
+ \IfBooleanTF{#1}{
+ \vpageref[ci-dessus]{rebus@#2}
+ }{
+ de~la~\lettre{}\c_space_tl
+ \IfValueTF{#3}{
+ #3
+ }{
+ précédente
+ }
+ }
+ },
+ phantomlabel={
+ \IfBooleanT{#1}{
+ solution@#2
+ }
+ },
+ #4
+ ]
+ \IfBooleanTF{#1}{
+ \file_if_exist_input:n {rebus-#2.tex}
+ }{
+ #2
+ }
+ \end{tcolorbox}
+ }{
+ \IfValueF{#3}{
+ \tcbstoprecording
+ \tcbinputrecords
+ }
+ }
+}
\tl_gclear:N \@title
\AddToHook{begindocument/before}
{
@@ -722,7 +857,7 @@
{
\begin{picture}(0,0)
\put(-2cm,-25.275cm){
- \includegraphics[scale=0.96]{
+ \includegraphics*[scale=0.96]{
\c__letgut_banner_file_tl.pdf
}
}
@@ -836,15 +971,13 @@
}
\bool_if:NTF \g__letgut_editorial_bool {
\file_if_exist:nTF {./\c__letgut_editorial_file_tl}{
- \RenewDocumentCommand\author{ m } {
- \__letgut_author:n { #1 }
+ \RenewDocumentCommand\author{ s m } {
+ \__letgut_author:nn { #1 } {#2}
}
\pdfbookmark[1]{Éditorial}{
\c__letgut_editorial_file_tl
}
- \__letgut_input_article:n {./\c__letgut_editorial_file_tl}
- % % \int_set:N \l_tmpa_int {\pagenumber}
- % % \int_compare:nNnT \l_tmpa_int = 1 { \newpage }
+ \inputarticle{./\c__letgut_editorial_file_tl}
% \if\count{\pagenumber}>1
% \else
% \newpage
@@ -880,21 +1013,23 @@
}
\AddToHook{enddocument}
{
+ % \clearpage
+ % \printacronyms[heading=title,display=used]
\bool_if:NT \g__letgut_informations_bool {
\clearpage
\phantomsection
\file_if_exist:nTF {./\c__letgut_informations_gutenberg_file_tl}{
- \__letgut_input_article:n {
+ \inputarticle*{
./\c__letgut_informations_gutenberg_file_tl
}
}{
\file_if_exist:nTF {../\c__letgut_informations_gutenberg_file_tl}{
- \__letgut_input_article:n {
+ \inputarticle*{
../\c__letgut_informations_gutenberg_file_tl
}
}{
\file_if_exist:nTF {\c__letgut_informations_gutenberg_file_tl}{
- \__letgut_input_article:n {
+ \inputarticle*{
\c__letgut_informations_gutenberg_file_tl
}
}{
@@ -908,16 +1043,25 @@
}
}
\setcounter{secnumdepth}{-10}
+% \AddToHook{cmd/hologo/before}{\protect}
+\NewCommandCopy{\__letgut_old_hologo}{\hologo}
+\RenewDocumentCommand {\hologo} { m }{
+ \protect\__letgut_old_hologo { #1 }
+}
+\tl_put_right:Nn \l_text_case_exclude_arg_tl { \hologo }
+% \tl_put_right:Nn \l_text_case_exclude_arg_tl { \ac }
+% \tl_put_right:Nn \l_text_case_exclude_arg_tl { \acs }
+% \tl_put_right:Nn \l_text_case_exclude_arg_tl { \acl }
+% \tl_put_right:Nn \l_text_case_exclude_arg_tl { \acf }
\AddToHook{begindocument/before}{%
\titleclass{\title}{straight}[\part]
\titleformat{\title}{
\normalfont
\LARGE
\bfseries
- \text_uppercase:n
}{}{1em}{
- \aldineleft\c_space_tl
- }{}
+ \aldineleft\c_space_tl\text_uppercase:n
+ }
\etocsetlevel{title}{0}
\def\toclevel@title{0}%
\etocsetstyle {title}
@@ -1038,24 +1182,24 @@
}
\NewDocumentCommand {\francophony} { } {
\raisebox{-1.5pt}{
- \includegraphics[width=\f@size pt]{
+ \includegraphics*[width=\f@size pt]{
letgut-francophony-icon
}
}
}
-\NewDocumentCommand {\person} { m } {
- \__letgut_process_list:n {#1}
+\NewDocumentCommand {\person} { s m } {
+ \__letgut_process_list:nn {#1} {#2}
}
-\cs_new_protected:Npn \__letgut_author:n #1
+\cs_new_protected:Npn \__letgut_author:nn #1 #2
{
\nopagebreak
\begin{flushright}
- \__letgut_process_list:n {#1}
+ \__letgut_process_list:nn {#1} {#2}
\end{flushright}
}
\AddToHook{begindocument/end}{%
- \RenewDocumentCommand\author{ m } {
- \__letgut_author:n { #1 }
+ \RenewDocumentCommand\author{ s m } {
+ \__letgut_author:nn { #1 } { #2 }
}
}
\cs_new_protected:Npn \__letgut_titlecase_name:n #1
@@ -1091,10 +1235,18 @@
(#3)
}
\seq_new:N \l__letgut_items_seq
-\cs_new_protected:Npn \__letgut_process_list:n #1
+\cs_new_protected:Npn \__letgut_process_list:nn #1 #2
{
\seq_clear:N \l__letgut_items_seq
- \seq_set_split:Nnn \l_tmpa_seq {~and~} {#1}
+ \seq_set_split:Nnn \l_tmpa_seq {~and~} {#2}
+ \IfBooleanT{#1}{
+ \seq_sort:Nn \l_tmpa_seq
+ {
+ \str_compare:nNnTF { ##1 } > { ##2 }
+ { \sort_return_swapped: }
+ { \sort_return_same: }
+ }
+ }
\seq_map_inline:Nn \l_tmpa_seq {
\seq_set_from_clist:Nn \l_tmpb_seq {##1}
\seq_pop_left:NN \l_tmpb_seq \l_letgut_last_name_tl
@@ -1123,6 +1275,32 @@
\c_space_tl \str_use:N \& \c_space_tl
} { ,~ } { \c_space_tl \str_use:N \& \c_space_tl }
}
+\tl_const:Nn \c__letgut_preamble_list_of_contributors_tl {
+ De~ près,~ de~ loin,~ par~ leurs~ avis~ éclairés,~ par~ leurs~ remarques~
+ pertinentes~ ou~ par~ leurs~ articles,~ ont~ contribué~ à~ cette~
+ \lettre{}~ :~ %
+}
+\tl_const:Nn \c__letgut_postamble_list_of_contributors_tl {
+ \c_space_tl (et~ nous~ espérons~ n'avoir~ oublié~ personne).
+}
+\cs_new_protected:Nn \__letgut_list_of_contributors:nnn
+{
+ \par
+ \fbox{
+ \begin{minipage}[t]{\linewidth-2\fboxsep-2\fboxrule}
+ #1
+ \person*{#3}
+ #2
+ \end{minipage}
+ }
+}
+\NewDocumentCommand {\listofcontributors} {
+ O{\c__letgut_preamble_list_of_contributors_tl}
+ O{\c__letgut_postamble_list_of_contributors_tl}
+ m
+} {
+ \__letgut_list_of_contributors:nnn {#1} {#2} {#3}
+}
\NewDocumentCommand {\separator} { } {
\par
\skip_vertical:N 1em
@@ -1165,11 +1343,13 @@
}
\cs_new_protected:Nn \__letgut_software:nn
{
+\seq_set_split:Nnn \l_tmpa_seq { ~ } { #2 }
+ \seq_set_map:NNn \l_tmpb_seq \l_tmpa_seq {{\l__letgut_softwares_font_switch_tl ##1}}
\tl_if_empty:nTF {#1}
{
- {\l__letgut_softwares_font_switch_tl #2}
+ \seq_use:Nn \l_tmpb_seq { ~ }
}{
- \href{#1}{{\l__letgut_softwares_font_switch_tl #2}}
+ \href{#1}{ \seq_use:Nn \l_tmpb_seq { ~ } }
}
}
\cs_new_protected:Nn \__letgut_file:n
@@ -1205,62 +1385,68 @@
\__letgut_software:nn {#2}{#3}
}
\NewExpandableDocumentCommand { \gutenberg } { } {
- \c__letgut_gutenberg_tl
- }
- \NewExpandableDocumentCommand { \gut } { } {
- \c__letgut_gutenberg_tl
- }
-% \NewExpandableDocumentCommand { \lettre } { } {
-% \c__letgut_Lettre_tl
-% }
-% \NewExpandableDocumentCommand { \lettregut } { } {
-% \lettre \c_space_tl \gutenberg
-% }
- \NewExpandableDocumentCommand { \Cahier } { } {
- \c__letgut_cahier_tl
- }
- \NewExpandableDocumentCommand { \Cahiers } { } {
- \c__letgut_cahiers_tl
- }
- \NewExpandableDocumentCommand { \cahier } { } {
- \c__letgut_cahier_tl
- }
- \NewExpandableDocumentCommand { \cahiers } { } {
- \c__letgut_cahiers_tl
- }
- \NewExpandableDocumentCommand { \cahiergut } { } {
- \cahier \c_space_tl \gutenberg
- }
- \NewExpandableDocumentCommand { \cahiersgut } { } {
- \cahiers \c_space_tl \gutenberg
- }
- \NewExpandableDocumentCommand { \letgut } { } {
- \class{letgut}
- }
- \NewExpandableDocumentCommand { \letgutcls } { } {
- \class*{letgut}
- }
- \NewExpandableDocumentCommand { \tugboat } { } {
- \c__letgut_tugboat_tl
- }
- \NewExpandableDocumentCommand { \knuth } { } {
- \person{Knuth,~ Donald~ E.}
- }
- \NewExpandableDocumentCommand { \lamport } { } {
- \person{Lamport,~ Leslie}
- }
- \NewExpandableDocumentCommand { \tl } { } {
- \c__letgut_tex_live_tl
- }
- \NewExpandableDocumentCommand { \linux } { } {
- \c__letgut_gnu_linux_tl
- }
- \NewExpandableDocumentCommand { \macos } { } {
- \c__letgut_macOS_tl
- }
- \NewExpandableDocumentCommand { \windows } { } {
- \c__letgut_windows_tl
- }
+ \c__letgut_gutenberg_tl
+}
+\NewExpandableDocumentCommand { \gut } { } {
+ \c__letgut_gutenberg_tl
+}
+\NewExpandableDocumentCommand { \assogut } { } {
+ \c__letgut_association_tl \c_space_tl \c__letgut_gutenberg_tl
+}
+\NewExpandableDocumentCommand { \Assogut } { } {
+ \text_titlecase_first:n {\assogut}
+}
+\NewExpandableDocumentCommand { \lettres } { } {
+ \c__letgut_Lettres_tl
+}
+\NewExpandableDocumentCommand { \lettresgut } { } {
+ \c__letgut_Lettres_tl \c_space_tl \c__letgut_gutenberg_tl
+}
+\NewExpandableDocumentCommand { \Cahier } { } {
+ \c__letgut_cahier_tl
+}
+\NewExpandableDocumentCommand { \Cahiers } { } {
+ \c__letgut_cahiers_tl
+}
+\NewExpandableDocumentCommand { \cahier } { } {
+ \c__letgut_cahier_tl
+}
+\NewExpandableDocumentCommand { \cahiers } { } {
+ \c__letgut_cahiers_tl
+}
+\NewExpandableDocumentCommand { \cahiergut } { } {
+ \cahier \c_space_tl \gutenberg
+}
+\NewExpandableDocumentCommand { \cahiersgut } { } {
+ \cahiers \c_space_tl \gutenberg
+}
+\NewExpandableDocumentCommand { \letgut } { } {
+ \class{letgut}
+}
+\NewExpandableDocumentCommand { \letgutcls } { } {
+ \class*{letgut}
+}
+\NewExpandableDocumentCommand { \tugboat } { } {
+ \c__letgut_tugboat_tl
+}
+\NewExpandableDocumentCommand { \knuth } { } {
+ \person{Knuth,~ Donald~ E.}
+}
+\NewExpandableDocumentCommand { \lamport } { } {
+ \person{Lamport,~ Leslie}
+}
+\NewExpandableDocumentCommand { \tl } { } {
+ \c__letgut_tex_live_tl
+}
+\NewExpandableDocumentCommand { \linux } { } {
+ \c__letgut_gnu_linux_tl
+}
+\NewExpandableDocumentCommand { \macos } { } {
+ \c__letgut_macOS_tl
+}
+\NewExpandableDocumentCommand { \windows } { } {
+ \c__letgut_windows_tl
+}
\cs_new_protected:Npn \__letgut_get_lettre_number:n #1
{
\tl_if_empty:nTF {#1}{
@@ -1291,7 +1477,7 @@
\tl_if_empty:nF {#1}
{
#3
- \c_space_tl
+ \nobreakspace
\__letgut_get_lettre_number:n {#1}
}
}
@@ -1626,6 +1812,9 @@ title .value_required:n = true,
\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}}
+ }
}
\DeclareRobustCommand*\LKey[1]{%
\ifx#10\biolinumKeyGlyph{zero}% % spurious space removed 2016/06/24
@@ -1668,7 +1857,7 @@ title .value_required:n = true,
\else\ifx#1Ç\biolinumKeyGlyph{Ccedilla}%
\else\biolinumKeyGlyph{#1}%
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}
-\hyphenation{GUT-enberg}
+\hyphenation{GUTen-berg}
\cs_new_protected:Npn \__letgut_issn:
{
\bool_if:NTF \g__letgut_paper_bool {
@@ -1701,6 +1890,160 @@ title .value_required:n = true,
\__letgut_meta:nn {#1}{#2}
}
}
+\cs_new_protected:Npn \__letgut_input_article:nn #1 #2
+{
+ \lstset{ style=__letgut_reset_listings_styles }
+ \acresetall%
+ \input{#2}%
+ % \bool_show:N \g__letgut_included_files_attached_bool
+ \bool_if:NT \g__letgut_included_files_attached_bool {
+ \IfBooleanF {#1}{
+ \seq_gput_left:Nn \g__letgut_included_files_seq {
+ \attachfile[
+ description={Source~ du~ présent~ article~ (fichier~ `#2.tex`)},
+ mimetype=application/x-tex]%
+ {#2.tex}%
+ }
+ \bool_if:NT \g__letgut_acronyms_file_attached_bool {
+ \seq_gput_right:No \g__letgut_included_files_seq {
+ \c__letgut_acronyms_file_attached_tl
+ }
+ }
+ \bool_if:NT \g__letgut_lstlanguage_file_attached_bool {
+ \seq_gput_right:No \g__letgut_included_files_seq {
+ \c__letgut_lstlanguage_file_attached_tl
+ }
+ }
+ \seq_remove_duplicates:N \g__letgut_included_files_seq
+ \marginpar{\seq_use:Nn \g__letgut_included_files_seq { } }
+ \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
+ }
+ }
+}
+\NewDocumentCommand{\inputarticle}{ s m }{
+ \__letgut_input_article:nn { #1 } { #2 }
+}
+\NewCommandCopy {\__letgut_orig_includegraphics} {\includegraphics}
+\clist_set:Nx \l_tmpa_clist {\Gin@extensions}
+\cs_new_protected:Npn \__letgut_includegraphics:nnn #1 #2 #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 {
+ \attachfile[
+ description={
+ Fichier~ image~ inclus~ dans~ le~
+ présent~ article~ (fichier~ `#3`)
+ },
+ mimetype=image
+ ]
+ {#3}
+ }
+ }
+ }
+ \__letgut_orig_includegraphics[#2]{#3}
+ }{
+ \bool_gset_false:N \g_tmpa_bool
+ \clist_map_inline:Nn \l_tmpa_clist {%
+ \file_if_exist:nTF {#3##1} {
+ \clist_map_break:n {
+ \bool_if:NT \g__letgut_included_files_attached_bool {
+ \IfBooleanF {#1}{
+ \seq_gput_left:Nn \g__letgut_included_files_seq {
+ \attachfile[
+ description={Fichier~ image~ inclus~ dans~ le~ présent~ article~ (fichier~ `#3##1`)},
+ mimetype=image/##1
+ ]
+ {#3##1}
+ }
+ }
+ }
+ \__letgut_orig_includegraphics[#2]{#3}
+ \bool_gset_true:N \g_tmpa_bool
+ }
+ }
+ }
+ \bool_if:NF \g_tmpa_bool {
+ \@latex@error{File~ `#3'~ not~ found}%
+ {I~ could~ not~ locate~ the~ file~ with~ any~ of~ these~ extensions:^^J%
+ \clist_use:Nn \l_tmpa_clist { ~ }^^J\@ehc}%
+ }
+ }
+}
+\RenewDocumentCommand {\includegraphics} {s O{} m } {
+ \__letgut_includegraphics:nnn {#1} {#2} {#3}
+}
+\NewCommandCopy {\__letgut_orig_addbibresource} {\addbibresource}
+\cs_new_protected:Npn \__letgut_addbibresource:nnn #1 #2 #3
+{
+ \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}%
+ }
+ }
+ }
+ \__letgut_orig_addbibresource[#2]{#3}
+}
+\RenewDocumentCommand {\addbibresource} { s O{} m } {
+ \__letgut_addbibresource:nnn {#1} {#2} {#3}
+}
+\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}%
+ }
+ \AddToHook{cmd/ac/before}{
+ \bool_gset_true:N \g__letgut_acronyms_file_attached_bool
+ }
+ \AddToHook{cmd/acs/before}{
+ \bool_gset_true:N \g__letgut_acronyms_file_attached_bool
+ }
+}
+\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}%
+ }
+ \AddToHook{env/ltx-code/before}{
+ \bool_gset_true:N \g__letgut_lstlanguage_file_attached_bool
+ }
+ \AddToHook{env/ltx-code-result/before}{
+ \bool_gset_true:N \g__letgut_lstlanguage_file_attached_bool
+ }
+ \AddToHook{env/ltx-code-external-result/before}{
+ \bool_gset_true:N \g__letgut_lstlanguage_file_attached_bool
+ }
+}
+\AddToHook{begindocument/before}{
+ \bool_if:NTF \g__letgut_force_included_files_attached_bool {
+ \bool_gset_true:N \g__letgut_included_files_attached_bool
+ }{
+ \bool_gset_false:N \g__letgut_included_files_attached_bool
+ }
+}
\lstdefinestyle{__letgut_reset_listings_styles}{
basicstyle=\ttfamily,
breaklines,
@@ -1727,17 +2070,8 @@ numberstyle=\scriptsize\ttfamily
aboveskip={0\p@ \@plus 6\p@},
belowskip={0\p@ \@plus 6\p@},
}
-\lstMakeShortInline[breaklines=false]⅛
+\lstMakeShortInline[breaklines=false]™
\lstset{ style=__letgut_reset_listings_styles }
-\cs_new_protected:Npn \__letgut_input_article:n #1
-{
- \lstset{ style=__letgut_reset_listings_styles }
- \acresetall%
- \file_input:n{#1}%
-}
-\NewDocumentCommand{\inputarticle}{m}{
- \__letgut_input_article:n { #1 }
-}
\colorlet{__letgut_texcs}{blue}
\colorlet{__letgut_comment}{gray}
\colorlet{__letgut_argument_specification_separator}{red}
@@ -1749,13 +2083,13 @@ aboveskip={0\p@ \@plus 6\p@},
\colorlet{__letgut_optional_argument}{__letgut_key}
\colorlet{__letgut_math}{green!50!black}
\def\lstlanguagefiles{
- lstlang0.sty,
+ % lstlang0.sty,
lstlang1.sty,
lstlang2.sty,
lstlang3.sty,
./\c__letgut_lstlanguage_file_tl,
../\c__letgut_lstlanguage_file_tl,
- \c__letgut_lstlanguage_file_tl
+ \c__letgut_lstlanguage_file_tl,
}
\lstdefinestyle{__letgut_latex_listings_style}{
language=TeX,%
@@ -1764,7 +2098,7 @@ aboveskip={0\p@ \@plus 6\p@},
alsolanguage=[plain]TeX,%
alsolanguage=[common]TeX,%
alsolanguage=[primitive]TeX,%
- alsolanguage=[extLaTeX]TeX,%
+ alsolanguage=[extendedLaTeX]TeX,%
alsolanguage=[classes]TeX,%
texcsstyle=*\color{__letgut_texcs},
commentstyle=\color{__letgut_comment}\itshape,
@@ -1791,7 +2125,7 @@ literate=*%
\definecolor{__letgut_foregroundLinenumber}{cmyk}{0,0,0,0.5}
\definecolor{__letgut_foregroundMention}{cmyk}{0,0,0,0}
\definecolor{__letgut_backgroundResult}{cmyk}{0,0,0,0}
-\tcbuselibrary{listings,xparse,breakable,skins,hooks}
+\tcbuselibrary{listings,breakable,skins,hooks,documentation}
\tcbset{
breakable,
sharp~ corners,
@@ -2216,13 +2550,14 @@ overlay={
^^f0^^f1^^f2^^f3^^f4^^f5^^f6^^f7^^f8^^f9^^fa^^fb^^fc^^fd^^fe^^ff%
^^^^201c^^^^201d% for “ and ”
^^^^215b% for ⅛
+ ^^^^2122% for ™
^^00%
}
\lst@RestoreCatcodes
\file_if_exist:nT {./\c__letgut_local_config_file_tl}{
\@pushfilename
\xdef\@currname{\c__letgut_local_config_file_tl}
- \file_input:n {./\c__letgut_local_config_file_tl}
+ \input {./\c__letgut_local_config_file_tl}
\@popfilename
}
\ExecuteBibliographyOptions[bookreview]{skipbib,skiplab}
diff --git a/Master/texmf-dist/tex/lualatex/letgut/letgut.dbx b/Master/texmf-dist/tex/lualatex/letgut/letgut.dbx
index e2844f9c9ad..85c26f3a31d 100644
--- a/Master/texmf-dist/tex/lualatex/letgut/letgut.dbx
+++ b/Master/texmf-dist/tex/lualatex/letgut/letgut.dbx
@@ -1,4 +1,4 @@
-\ProvidesFile{letgut.dbx}[2022-10-03 v0.9.4 letgut data model macros]
+\ProvidesFile{letgut.dbx}[2023-01-13 v0.9.5 letgut data model macros]
\DeclareBibliographyDriver{bookreview}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
diff --git a/Master/texmf-dist/tex/lualatex/letgut/letgut.lbx b/Master/texmf-dist/tex/lualatex/letgut/letgut.lbx
index 911ebde868e..05c107b6dab 100644
--- a/Master/texmf-dist/tex/lualatex/letgut/letgut.lbx
+++ b/Master/texmf-dist/tex/lualatex/letgut/letgut.lbx
@@ -1,4 +1,4 @@
-\ProvidesFile{letgut.lbx}[2022-10-03 v0.9.4 letgut localization]
+\ProvidesFile{letgut.lbx}[2023-01-13 v0.9.5 letgut localization]
\InheritBibliographyExtras{french}
\DeclareBibliographyStrings{
inherit = {french},