summaryrefslogtreecommitdiff
path: root/macros/latex/contrib
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-04-01 03:01:11 +0000
committerNorbert Preining <norbert@preining.info>2023-04-01 03:01:11 +0000
commit1c004b8b1b82512ea320e5d1e16e364d54878e6a (patch)
tree61c1c3e5f18f20f7d7df8c91164e7b0de75220d0 /macros/latex/contrib
parentff15e9aea45682289b6f31fa687c1b51f543d09e (diff)
CTAN sync 202304010301
Diffstat (limited to 'macros/latex/contrib')
-rw-r--r--macros/latex/contrib/acmart/ACM-Reference-Format.bst2
-rw-r--r--macros/latex/contrib/acmart/README2
-rw-r--r--macros/latex/contrib/acmart/acmart.dtx5
-rw-r--r--macros/latex/contrib/acmart/acmart.pdfbin907878 -> 908440 bytes
-rw-r--r--macros/latex/contrib/acmart/acmguide.pdfbin433120 -> 433117 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmcp.pdfbin213990 -> 213983 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmengage.pdfbin395461 -> 395452 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmlarge.pdfbin605423 -> 605417 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdfbin627935 -> 627932 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdfbin1049483 -> 1049474 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdfbin617763 -> 617756 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmsmall.pdfbin615263 -> 615259 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-acmtog.pdfbin562647 -> 562640 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-authordraft.pdfbin1042626 -> 1042623 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-lualatex.pdfbin783630 -> 783621 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-manuscript.pdfbin617501 -> 617496 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdfbin615069 -> 615065 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdfbin1054905 -> 1054905 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-sigconf.pdfbin1038837 -> 1038829 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-sigplan.pdfbin1047507 -> 1047499 bytes
-rw-r--r--macros/latex/contrib/acmart/samples/sample-xelatex.pdfbin658514 -> 658503 bytes
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix-french.pdfbin545421 -> 551953 bytes
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix-french.tex317
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix.dtx501
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix.pdfbin1356332 -> 1364573 bytes
-rw-r--r--macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdfbin810431 -> 806464 bytes
-rw-r--r--macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex309
-rw-r--r--macros/latex/contrib/proflycee/tex/ProfLycee.sty103
-rw-r--r--macros/latex/contrib/univie-ling/README3
-rw-r--r--macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.bbx2
-rw-r--r--macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.cbx2
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.pdfbin132446 -> 130780 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-expose-english.pdfbin127671 -> 126894 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.pdfbin200624 -> 200672 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-handout-english.pdfbin200628 -> 200676 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.pdfbin172439 -> 158161 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-paper-english.pdfbin167337 -> 154403 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-poster-deutsch.pdfbin227127 -> 227166 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-poster-english.pdfbin224933 -> 224973 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.pdfbin189875 -> 171777 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.pdfbin186020 -> 168772 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.pdfbin372221 -> 372040 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/templates/template-wlg-review.pdfbin372011 -> 371831 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdfbin457771 -> 457978 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex6
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-handout.pdfbin447918 -> 448122 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-handout.tex6
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdfbin453820 -> 454263 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex8
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-poster.pdfbin450466 -> 450725 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-poster.tex6
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdfbin458808 -> 458988 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex2
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdfbin345535 -> 345784 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex6
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling.pdfbin365342 -> 365425 bytes
-rw-r--r--macros/latex/contrib/univie-ling/doc/univie-ling.tex2
-rw-r--r--macros/latex/contrib/univie-ling/tex/univie-ling-expose.cls2
-rw-r--r--macros/latex/contrib/univie-ling/tex/univie-ling-handout.cls2
-rw-r--r--macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls4
-rw-r--r--macros/latex/contrib/univie-ling/tex/univie-ling-poster.cls2
-rw-r--r--macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls2
-rw-r--r--macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls2
63 files changed, 849 insertions, 447 deletions
diff --git a/macros/latex/contrib/acmart/ACM-Reference-Format.bst b/macros/latex/contrib/acmart/ACM-Reference-Format.bst
index 9096b91ed1..c47cb4c0f0 100644
--- a/macros/latex/contrib/acmart/ACM-Reference-Format.bst
+++ b/macros/latex/contrib/acmart/ACM-Reference-Format.bst
@@ -3,7 +3,7 @@
%%% @BibTeX-style-file{
%%% author = "Nelson H. F. Beebe, Boris Veytsman and Gerald Murray",
%%% version = "2.1",
-%%% acmart-version = "1.89a",
+%%% acmart-version = "1.90",
%%% date = "Mar 26 2023",
%%% filename = "ACM-Reference-Format.bst",
%%% email = "borisv@lk.net, boris@varphi.com",
diff --git a/macros/latex/contrib/acmart/README b/macros/latex/contrib/acmart/README
index e4d9f52a94..eeff791cae 100644
--- a/macros/latex/contrib/acmart/README
+++ b/macros/latex/contrib/acmart/README
@@ -12,6 +12,8 @@ The production version is the one on CTAN and ACM sites.
Changes
+Version 1.90 Journal ISSN updated
+
Version 1.89a Added version info to .bst
Version 1.89 Bug fixes
diff --git a/macros/latex/contrib/acmart/acmart.dtx b/macros/latex/contrib/acmart/acmart.dtx
index 0ecf0d23e9..e0785f25e3 100644
--- a/macros/latex/contrib/acmart/acmart.dtx
+++ b/macros/latex/contrib/acmart/acmart.dtx
@@ -2269,7 +2269,7 @@
\ProvidesFile{acmart.dtx}
%</gobble>
%<class>\ProvidesClass{acmart}
-[2023/03/26 v1.89a Typesetting articles for the Association for Computing Machinery]
+[2023/03/30 v1.90 Typesetting articles for the Association for Computing Machinery]
% \end{macrocode}
%
% \changes{v1.00}{2016/04/14}{First released version}
@@ -4331,6 +4331,7 @@
% \changes{1.88}{2022/10/24}{Added PACMNET}
% \changes{1.89}{2023/03/25}{Added PACMMOD}
% \changes{1.89}{2023/03/25}{Added TOPML}
+% \changes{1.90}{2023/03/30}{Added TOPML eISSN}
%
% We use the |xkeyval| interface to define journal titles and the relevant
% information
@@ -4671,7 +4672,7 @@
\or % TOPML
\def\@journalName{ACM Transactions on Probabilistic Machine Learning}%
\def\@journalNameShort{ACM Trans. Probab. Mach. Learn.}%
- \def\@permissionCodeOne{}%
+ \def\@permissionCodeOne{2836-8924}%
\or % TORS
\def\@journalName{ACM Transactions on Recommender Systems}%
\def\@journalNameShort{ACM Trans. Recomm. Syst.}%
diff --git a/macros/latex/contrib/acmart/acmart.pdf b/macros/latex/contrib/acmart/acmart.pdf
index 06bdc1d9d2..98dc9ce130 100644
--- a/macros/latex/contrib/acmart/acmart.pdf
+++ b/macros/latex/contrib/acmart/acmart.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/acmguide.pdf b/macros/latex/contrib/acmart/acmguide.pdf
index 3a06bae3d3..9ea3331801 100644
--- a/macros/latex/contrib/acmart/acmguide.pdf
+++ b/macros/latex/contrib/acmart/acmguide.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmcp.pdf b/macros/latex/contrib/acmart/samples/sample-acmcp.pdf
index ec661481f5..1452670cff 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmcp.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmcp.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmengage.pdf b/macros/latex/contrib/acmart/samples/sample-acmengage.pdf
index 47697c40eb..f1038f193e 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmengage.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmengage.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmlarge.pdf b/macros/latex/contrib/acmart/samples/sample-acmlarge.pdf
index 88e712f561..30fe2c052c 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmlarge.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmlarge.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdf b/macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdf
index c1723409a0..7f14794779 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf b/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf
index e12ce0fa7c..deb759aa6c 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf b/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf
index df172f82ad..c5855e98f0 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf b/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf
index 10e8a0545a..6c78efb700 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmsmall.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-acmtog.pdf b/macros/latex/contrib/acmart/samples/sample-acmtog.pdf
index c0c14f9ac1..84ef572d8c 100644
--- a/macros/latex/contrib/acmart/samples/sample-acmtog.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-acmtog.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-authordraft.pdf b/macros/latex/contrib/acmart/samples/sample-authordraft.pdf
index 9b6bb87908..e0e41395d7 100644
--- a/macros/latex/contrib/acmart/samples/sample-authordraft.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-authordraft.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-lualatex.pdf b/macros/latex/contrib/acmart/samples/sample-lualatex.pdf
index d3a3628d78..160af90458 100644
--- a/macros/latex/contrib/acmart/samples/sample-lualatex.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-lualatex.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-manuscript.pdf b/macros/latex/contrib/acmart/samples/sample-manuscript.pdf
index e6d89edb71..bba208515d 100644
--- a/macros/latex/contrib/acmart/samples/sample-manuscript.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-manuscript.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdf b/macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdf
index eb87e03bba..e34c15f125 100644
--- a/macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-sigconf-biblatex.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdf b/macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdf
index 5579512c85..c232725b7d 100644
--- a/macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-sigconf.pdf b/macros/latex/contrib/acmart/samples/sample-sigconf.pdf
index c6ff36932d..0acb701daa 100644
--- a/macros/latex/contrib/acmart/samples/sample-sigconf.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-sigconf.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-sigplan.pdf b/macros/latex/contrib/acmart/samples/sample-sigplan.pdf
index 7b833ad678..71fd197a76 100644
--- a/macros/latex/contrib/acmart/samples/sample-sigplan.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-sigplan.pdf
Binary files differ
diff --git a/macros/latex/contrib/acmart/samples/sample-xelatex.pdf b/macros/latex/contrib/acmart/samples/sample-xelatex.pdf
index db66b4716f..dd64998d5f 100644
--- a/macros/latex/contrib/acmart/samples/sample-xelatex.pdf
+++ b/macros/latex/contrib/acmart/samples/sample-xelatex.pdf
Binary files differ
diff --git a/macros/latex/contrib/nicematrix/nicematrix-french.pdf b/macros/latex/contrib/nicematrix/nicematrix-french.pdf
index 85ec3103b5..a054c4fadf 100644
--- a/macros/latex/contrib/nicematrix/nicematrix-french.pdf
+++ b/macros/latex/contrib/nicematrix/nicematrix-french.pdf
Binary files differ
diff --git a/macros/latex/contrib/nicematrix/nicematrix-french.tex b/macros/latex/contrib/nicematrix/nicematrix-french.tex
index e9700dd86c..4ec05bce2c 100644
--- a/macros/latex/contrib/nicematrix/nicematrix-french.tex
+++ b/macros/latex/contrib/nicematrix/nicematrix-french.tex
@@ -40,6 +40,7 @@
\usepackage{booktabs}
\usepackage{varwidth}
\usepackage{tcolorbox}
+\usepackage{adjustbox}
\usepackage[auto-lang=false]{lipsum}
\usepackage[hyperfootnotes = false]{hyperref}
@@ -556,11 +557,11 @@ expliqué plus loin.
\medskip
Dans l'exemple suivant, on a dû élargir à la main les colonnes 2 et 3 (avec la
-construction |wc{...}| de \pkg{array}).
+construction |w{c}{...}| de \pkg{array}).
\medskip
\begin{BVerbatim}
-\begin{NiceTabular}{cwc{2cm}wc{3cm}c}
+\begin{NiceTabular}{cw{c}{2cm}w{c}{3cm}c}
rose & tulipe & marguerite & dahlia \\
violette
& ~emphase#\Block[draw=red,fill=[RGB]{204,204,255},rounded-corners]{2-2}@
@@ -574,7 +575,7 @@ arum & iris & jacinthe & muguet
\medskip
\begin{center}
-\begin{NiceTabular}{cwc{2cm}wc{3cm}c}
+\begin{NiceTabular}{cw{c}{2cm}w{c}{3cm}c}
rose & tulipe & marguerite & dahlia \\
violette & \Block[draw=red,fill=[RGB]{204,204,255},rounded-corners]{2-2}
{\LARGE De très jolies fleurs} & & souci \\
@@ -591,9 +592,9 @@ Les blocs mono-colonne ont un comportement spécial.
\item La largeur naturelle du contenu de ces blocs est prise en compte pour la
largeur de la colonne courante.
-Dans les colonnes à largeur fixée (colonnes |w{...}{...}|, |p{...}|, |b{...}|,
-|m{...}| et |X|), le contenu du bloc est mis en forme comme un paragraphe de
-cette largeur.
+Dans les colonnes à largeur fixée (|p{...}|, |b{...}|, |m{...}|, |w{...}{...}|,
+|W{...}{...}|, |V| et |X|), le contenu du bloc est mis en forme comme un
+paragraphe de cette largeur.
\item La spécification d'alignement horizontal donnée par le type de
colonne (|c|, |r| ou |l|) est prise en compte pour le bloc (mais le bloc peut
@@ -2189,7 +2190,7 @@ de même nom (cf. p.~\pageref{cell-space}).
couleur du texte.\footnote{La clé |color| utilise la commande |\color| mais
insère aussi une instruction |\leavevmode| devant. Cela évite un espace
vertical parasite dans les cellules qui correspondent à des colonnes de type
- |p|, |b|, |m| et |X| (qui débutent en mode vertical).}
+ |p|, |b|, |m|, |X| et |V| (qui débutent en mode vertical).}
\item La clé |bold| impose des caractères gras aux éléments de la rangée, qu'ils
soient en mode texte ou bien en mode mathématique.
@@ -2355,6 +2356,63 @@ $\begin{array}{c}
\end{array}$
\end{NiceMatrixBlock}
+
+\subsection{Les colonnes X}
+
+
+\label{colonne-X}
+
+L'environnement |{NiceTabular}| propose aussi des colonnes |X| similaires à
+celles proposées par l'environnement |{tabularx}| de l'extension éponyme.
+
+La valeur requise par la largeur du tableau peut être passée en argument de la
+clé |width| (dans |{NiceTabular}| ou dans |\NiceMatrixOptions|). La valeur
+initiale de ce paramètre est |\linewidth| (et non |\textwidth|).
+
+Pour se rapprocher davantage de l'environnement |{tabularx}|, \pkg{nicematrix}
+propose aussi un environnement |{NiceTabularX}| avec une syntaxe similaire à
+celle de |{tabularx}|, c'est-à-dire que la largeur voulue pour le tableau est
+spécifiée en premier argument (obligatoire).\footnote{Si \pkg{tabularx} est
+ chargé, on doit obligatoirement utiliser |{NiceTabularX}| pour utiliser les
+ colonnes |X| (cela est dû à un problème de conflit de définition des
+ spécificateurs de colonne |X|).}
+
+
+Comme avec les extensions \pkg{tabu}\footnote{L'extension \pkg{tabu} est
+ maintenant considérée comme obsolète.} et \pkg{tabularray}, le spécificateur |X|
+accepte entre crochets un argument optionnel qui est une liste de clés.
+\begin{itemize}
+\item On peut spécifier un poids pour la colonne en mettant directement un
+entier positif comme argument du spécificateur |X|. Par exemple, une colonne
+|X[2]| aura une largeur double de celle d'une colonne |X| (qui a un poids de
+1).\footnote{Les valeurs négatives pour les poids, comme proposées par
+ \pkg{tabu} (maintenant obsolète), ne sont \emph{pas} prises en charge par
+ \pkg{nicematrix}. Si une telle valeur est utilisée, une erreur sera levée.}
+\item On peut spécifier l'alignement horizontal avec une des lettres |l|, |c| et
+|r| (qui insèrent respectivement |\raggedright|, |\centering| et |\raggedleft|
+suivi de |\arraybackslash|).
+\item On peut spécifier l'alignement vertical avec l'une des lettres |t| (alias
+|p|), |m| et |b| (qui construisent respectivement des colonnes de types |p|, |m|
+et |b|). La valeur par défaut est |t|.
+\end{itemize}
+
+\begin{Verbatim}
+\begin{NiceTabular}~emphase#[width=9cm]{X[2,l]X[l]}@[hvlines]
+Un texte relativement long qui tient sur plusieurs lignes. &
+Un texte relativement long qui tient sur plusieurs lignes. \\
+Un texte plus court. & Un texte plus court.
+\end{NiceTabular}
+\end{Verbatim}
+
+
+\begin{center}
+\begin{NiceTabular}[width=9cm]{X[2,l]X[l]}[hvlines]
+Un texte relativement long qui tient sur plusieurs lignes. &
+Un texte relativement long qui tient sur plusieurs lignes. \\
+Un texte plus court. & Un texte plus court.
+\end{NiceTabular}
+\end{center}
+
\subsection{Les colonnes V de varwidth}
\label{varwidth}
@@ -2437,66 +2495,17 @@ colonnes de type |p|, |m| ou |b| est que, pour les cases d'une telle colonne,
le nœud PGF-TikZ créé pour le contenu d'une telle case a une largeur ajustée
au contenu de la cellule en question : cf. p.~\pageref{node-V}.
+
+\medskip
+Les colonnes |V| de \pkg{nicematrix} acceptent les clés |t|, |p|, |m|, |b|, |l|,
+|c| et |r| proposées par les colonnes~|X|: voir leur description à la section~\ref{colonne-X},
+p.~\pageref{colonne-X}.
+
\medskip
Remarquons que l'extension \pkg{varwidth} a quelques problèmes (au moins dans sa
version 0.92). Par exemple, avec LuaLaTeX, elle ne fonctionne pas si le contenu
commence par une instruction |\color|.
-\subsection{Les colonnes X}
-
-
-\label{colonne-X}
-
-L'environnement |{NiceTabular}| propose aussi des colonnes |X| similaires à
-celles proposées par l'environnement |{tabularx}| de l'extension éponyme.
-
-La valeur requise par la largeur du tableau peut être passée en argument de la
-clé |width| (dans |{NiceTabular}| ou dans |\NiceMatrixOptions|). La valeur
-initiale de ce paramètre est |\linewidth| (et non |\textwidth|).
-
-Pour se rapprocher davantage de l'environnement |{tabularx}|, \pkg{nicematrix}
-propose aussi un environnement |{NiceTabularX}| avec une syntaxe similaire à
-celle de |{tabularx}|, c'est-à-dire que la largeur voulue pour le tableau est
-spécifiée en premier argument (obligatoire).\footnote{Si \pkg{tabularx} est
- chargé, on doit obligatoirement utiliser |{NiceTabularX}| pour utiliser les
- colonnes |X| (cela est dû à un problème de conflit de définition des
- spécificateurs de colonne |X|).}
-
-
-Comme avec les extensions \pkg{tabu}\footnote{L'extension \pkg{tabu} est
- maintenant considérée comme obsolète.} et \pkg{tabularray}, le spécificateur |X|
-accepte entre crochets un argument optionnel qui est une liste de clés.
-\begin{itemize}
-\item On peut spécifier un poids pour la colonne en mettant directement un
-entier positif comme argument du spécificateur |X|. Par exemple, une colonne
-|X[2]| aura une largeur double de celle d'une colonne |X| (qui a un poids de
-1).\footnote{Les valeurs négatives pour les poids, comme proposées par
- \pkg{tabu} (maintenant obsolète), ne sont \emph{pas} prises en charge par
- \pkg{nicematrix}. Si une telle valeur est utilisée, une erreur sera levée.}
-\item On peut spécifier l'alignement horizontal avec une des lettres |l|, |c| et
-|r| (qui insèrent respectivement |\raggedright|, |\centering| et |\raggedleft|
-suivi de |\arraybackslash|).
-\item On peut spécifier l'alignement vertical avec l'une des lettres |t| (alias
-|p|), |m| et |b| (qui construisent respectivement des colonnes de types |p|, |m|
-et |b|). La valeur par défaut est |t|.
-\end{itemize}
-
-\begin{Verbatim}
-\begin{NiceTabular}~emphase#[width=9cm]{X[2,l]X[l]}@[hvlines]
-Un texte relativement long qui tient sur plusieurs lignes. &
-Un texte relativement long qui tient sur plusieurs lignes. \\
-Un texte plus court. & Un texte plus court.
-\end{NiceTabular}
-\end{Verbatim}
-
-
-\begin{center}
-\begin{NiceTabular}[width=9cm]{X[2,l]X[l]}[hvlines]
-Un texte relativement long qui tient sur plusieurs lignes. &
-Un texte relativement long qui tient sur plusieurs lignes. \\
-Un texte plus court. & Un texte plus court.
-\end{NiceTabular}
-\end{center}
\medskip
\section{Les rangées et colonnes extérieures}
@@ -3346,7 +3355,7 @@ autres lignes diagonales (par défaut, les lignes tracées par |\Ddots| sont
\subsection{La commande \textbackslash SubMatrix dans le \textbackslash
- CodeAfter (et aussi le \textbackslash CodeBefore)}
+ CodeAfter (et le \textbackslash CodeBefore)}
\label{sub-matrix}
@@ -3456,25 +3465,25 @@ $\begin{bNiceMatrix}[right-margin=1em]
Les clés disponibles pour la commande |\SubMatrix| sont les suivantes :
%
\begin{itemize}
-\item |left-xshift| et |right-xshift| déplacent horizontalement les délimiteurs
-(il existe aussi la clé |xshift| qui permet de régler simultanément ces deux
-clés) ;
-\item |extra-height| ajoute une quantité à la hauteur totale des délimiteurs
-(hauteur~|\ht| + profondeur |\dp|) ;
-\item |delimiters/color| permet de fixer la couleur des délimiteurs (cette clé
+\item \Definition{left-xshift} et \Definition{right-xshift} déplacent
+horizontalement les délimiteurs (il existe aussi la clé \Definition{xshift} qui
+permet de régler simultanément ces deux clés) ;
+\item \Definition{extra-height} ajoute une quantité à la hauteur totale des
+délimiteurs (hauteur~|\ht| + profondeur |\dp|) ;
+\item \Definition{delimiters/color} permet de fixer la couleur des délimiteurs (cette clé
est également disponible dans |\NiceMatrixOptions| et au niveau des
environnements à délimiteurs ou comme option de |\CodeAfter|) ;
-\item |slim| qui est une clé booléenne : lorsqu'elle est utilisée la position
+\item \Definition{slim} qui est une clé booléenne : lorsqu'elle est utilisée la position
horizontale des délimiteurs est calculée uniquement sur le contenu des cases
de la sous-matrice alors, que, dans le cas général, elle est calculée sur le
contenu des cases des colonnes mises en jeu (voir exemple ci-dessous) ;
-\item |vlines| contient une liste de numéros de filets verticaux à tracer dans
+\item \Definition{vlines} contient une liste de numéros de filets verticaux à tracer dans
la sous-matrice (si cette clé est utilisée sans valeur, tous les filets
verticaux sont tracés) ;
-\item |hlines| est similaire à |vlines| mais pour les filets horizontaux ;
-\item |hvlines|, qui s'utilise sans valeur, trace tous les filets dans la
+\item \Definition{hlines} est similaire à |vlines| mais pour les filets horizontaux ;
+\item \Definition{hvlines}, qui s'utilise sans valeur, trace tous les filets dans la
sous-matrice ;
-\item |code| permet d'insérer du code, en particulier du code TikZ, après la
+\item \Definition{code} permet d'insérer du code, en particulier du code TikZ, après la
construction de la matrice. Cette clé est décrite en détail plus loin.
\end{itemize}
On remarquera que tous les filets sont dessinés après la construction du tableau
@@ -3598,7 +3607,8 @@ Part A & the first part \\
surtout pour vocation d'être utilisée pour insérer des instructions TikZ,
sachant que, dans les instructions TikZ insérées dans cette clé, les nœuds de la
forme |i-j| et \verb+i-|j+ sont interprétés avec |i| et |j| étant des numéros de
-ligne et colonne \emph{relatifs à la sous-matrice}.
+ligne et colonne \emph{relatifs à la sous-matrice}.\footnote{Attention : la
+ syntaxe \texttt{j\string|-i} n'est autorisée.}
\medskip
\begin{scope}
@@ -4169,7 +4179,7 @@ charge par \pkg{nicematrix}.
Les environnements sans préambule (|{NiceMatrix}|, |{pNiceMatrix}|, etc.) ainsi
que la commande |\pAutoNiceMatrix| et ses variantes, acceptent la clé
-|columns-type| qui indique le type des colonne qui sera utilisé.
+|columns-type| qui indique le type de colonne qui sera utilisé.
\medskip
Les clés |l| et |r| sont des raccourcis pour |columns-type=l| et |columns-type=r|.
@@ -4205,7 +4215,7 @@ Dans l'exemple suivant, on l'utilise dans le |code-for-first-row|.\footnote{On
\medskip
\begin{BVerbatim}[baseline=c,boxwidth=12cm]
-\NiceMatrixOptions%
+\NiceMatrixOptions
{code-for-first-row = \scriptstyle ~emphase#\rotate@ \text{image de },
code-for-last-col = \scriptstyle }
$A = \begin{pNiceMatrix}[first-row,last-col=4]
@@ -4216,7 +4226,7 @@ e_1 & e_2 & e_3 \\
\end{pNiceMatrix}$
\end{BVerbatim}
\begin{varwidth}{10cm}
-\NiceMatrixOptions%
+\NiceMatrixOptions
{code-for-first-row = \scriptstyle\rotate \text{image de },
code-for-last-col = \scriptstyle }
$ A = \begin{pNiceMatrix}[first-row,last-col=4]
@@ -4233,7 +4243,7 @@ matrice), les éléments qui subissent cette rotation sont alignés vers le haut
\medskip
\begin{BVerbatim}[baseline=c,boxwidth=12cm]
-\NiceMatrixOptions%
+\NiceMatrixOptions
{code-for-last-row = \scriptstyle ~emphase#\rotate@ ,
code-for-last-col = \scriptstyle }
$A = \begin{pNiceMatrix}[last-row,last-col=4]
@@ -4244,7 +4254,7 @@ $A = \begin{pNiceMatrix}[last-row,last-col=4]
\end{pNiceMatrix}$
\end{BVerbatim}
\begin{varwidth}{10cm}
-\NiceMatrixOptions%
+\NiceMatrixOptions
{code-for-last-row = \scriptstyle\rotate ,
code-for-last-col = \scriptstyle }%
$A = \begin{pNiceMatrix}[last-row,last-col=4]
@@ -4491,9 +4501,13 @@ Pour un exemple d'utilisation, voir \url{tex.stackexchange.com/questions/488566}
\subsection{Les nœuds correspondant aux contenus des cases}
-L'extension \pkg{nicematrix} crée un nœud PGF-TikZ pour chaque case non vide
-du tableau considéré. Ces nœuds sont utilisés, entre autres, pour tracer les
-lignes en pointillés entre les cases du tableau.
+L'extension \pkg{nicematrix} crée un nœud PGF-TikZ\footnote{On rappelle que TikZ
+ est une sur-couche de PGF. L'extension \pkg{nicematrix} charge PGF et ne
+ charge pas TikZ. On parle de «nœud PGF-TikZ» pour rappeler que, en fait, les
+ nœuds créés par \pkg{nicematrix} avec PGF sont en fait aussi utilisables avec
+ TikZ. L'utilisateur final préférera sans doute les utiliser avec TikZ qu'avec
+ PGF.} pour chaque case non vide du tableau considéré. Ces nœuds sont utilisés,
+entre autres, pour tracer les lignes en pointillés entre les cases du tableau.
\smallskip
\textbf{Attention} : Par défaut, aucun nœud n'est créé dans une case vide.
@@ -4576,38 +4590,67 @@ $\begin{pNiceMatrix}
\tikz \draw (2-2) circle (2mm) ;
\end{pNiceMatrix}$
+\medskip
+Les nœuds de la dernière colonne (hors éventuelle «colonne extérieure» spécifiée
+par |last-col|\footnote{Pour les colonnes extérieures, cf.
+ partie~\ref{exterior}, p.~\pageref{exterior}.}) peuvent aussi être désignés
+par $i$-|last|. De même, les nœuds de la dernière ligne peuvent être désignés
+par |last|-$j$.
\medskip
-Dans l'exemple suivant, nous avons surligné tous les nœuds de la matrice (on
-explique plus loin la technique utilisée : cf. p. \pageref{highlight}).
+Dans l'exemple suivant, nous avons surligné tous les nœuds de la matrice.
-\[\begin{pNiceMatrix}
-\CodeBefore [create-cell-nodes]
- \begin{tikzpicture}%
- [every node/.style = { inner sep = 0 pt , fill = red!15 }]
- \node [fit = (1-1)] {} ;
- \node [fit = (1-3)] {} ;
- \node [fit = (2-2)] {} ;
- \node [fit = (3-1)] {} ;
- \node [fit = (3-3)] {} ;
- \node [fit = (1-2)] {} ;
- \node [fit = (2-1)] {} ;
- \node [fit = (2-3)] {} ;
- \node [fit = (3-2)] {} ;
- \end{tikzpicture}
-\Body
+\[
+\NiceMatrixOptions
+ {
+ pgf-node-code =
+ {
+ \pgfsetfillcolor{red!15}%
+ \pgfusepathqfill
+ }
+ }
+\begin{pNiceMatrix}
a & a + b & a + b + c \\
a & a & a + b \\
a & a & a
\end{pNiceMatrix}\]
+\bigskip
+\colorbox{yellow!50}{\textbf{Nouveau 6.17}}\enskip Puisque ces nœuds sont des
+nœuds PGF, on ne sera pas étonné d'appendre qu'ils sont tracés en utilisant un
+style PGF spécifique. Ce style est nommé |nicematrix/cell-node| et sa définition
+dans le fichier source |nicematrix.sty| est la suivante :
-Les nœuds de la dernière colonne (hors éventuelle «colonne extérieure» spécifiée
-par |last-col|) peuvent aussi être désignés par $i$-|last|. De même, les nœuds
-de la dernière ligne peuvent être désignés par |last|-$j$.
+\begin{Verbatim}
+\pgfset
+ {
+ ~emphase#nicematrix / cell-node@ /.style =
+ {
+ inner sep = 0 pt ,
+ minimum width = 0 pt
+ }
+ }
+\end{Verbatim}
+
+L'utilisateur peut modifier ce style en changeant les valeurs des clés |text/rotate|,
+|inner xsep|, |inner ysep|, |inner sep|, |outer xsep|, |outer ysep|, |outer sep|,
+|minimum width|, |minimum height| et |minimum size|.
\medskip
+Pour un exemple d'utilisation, voir la partie \ref{triangular},
+p.~\pageref{triangular}.
+
+\subsubsection{La clé pgf-node-code}
+
+\colorbox{yellow!50}{\textbf{Nouveau 6.17}}\enskip \textbf{Pour les utilisateurs
+expérimentés}, \pkg{nicematrix} fournit la clé |pgf-node-code| qui correspond à
+du code PGF qui sera exécuté à la création, par PGF, des nœuds correspondants aux
+cases du tableau. Plus précisément, la valeur fournie à la clé |pgf-node-code|
+sera passée en cinquième argument de la commande |\pgfnode|. Cette valeur doit
+contenir au moins une instruction comme |\pgfusepath|, |\pgfusepathqstroke|,
+|\pgfusepathqfill|, etc.
+
\subsubsection{Les colonnes V de varwidth}
\label{node-V}
@@ -5154,7 +5197,7 @@ mante & raie & poule
\section{Remarques techniques}
Première remarque : l'extension \pkg{nicematrix} doit être chargée après
-l'extension \pkg{underscore}.
+l'extension \pkg{underscore}. Si elle est chargée après, une erreur sera levée.
\subsection{Lignes diagonales}
@@ -5265,7 +5308,7 @@ si) son contenu dans le codage TeX est vide (il n'y a que des espaces entre les
deux esperluettes |&|).
\medskip
-\item Pour les colonnes de typte |c|, |l|, |r| ou |w{...}{...}|, la case est
+\item Pour les colonnes de type |c|, |l|, |r| ou |w{...}{...}|, la case est
vide si (et seulement si) son rendu TeX est de largeur nulle.
\medskip
@@ -5288,7 +5331,7 @@ L'environnement |{array}| insère un espace horizontal égal à |\arraycolsep|
avant et après chaque colonne. En particulier, il y a un espace égal à
|\arraycolsep| avant et après le tableau. Cette caractéristique de
l'environnement |{array}| n'était probablement pas une bonne idée\footnote{Dans
- la documentation de |{amsmath}|, on peut lire : {\itshape The extra space of
+ la documentation de l'\pkg{amsmath}, on peut lire : {\itshape The extra space of
|\arraycolsep| that \pkg{array} adds on each side is a waste so we remove it
[in |{matrix}|] (perhaps we should instead remove it from array in general,
but that's a harder task).}}. L'environnement |{matrix}| et ses variantes
@@ -5319,7 +5362,7 @@ L'extension \pkg{nicematrix} n'est pas compatible avec la classe \cls{ieeeaccess
\medskip
Pour pouvoir utiliser \pkg{nicematrix} avec la classe \cls{aastex631} (de
-l'\emph{American Astronomical Society}, on doit ajouter dans le préambule du
+l'\emph{American Astronomical Society}), on doit ajouter dans le préambule du
fichier les lignes suivantes :
\begin{Verbatim}
@@ -6393,6 +6436,66 @@ de parenthèses ont été rajoutées avec |\SubMatrix| dans le |\CodeBefore|.
\end{Verbatim}
+\subsection{Un tableau triangulaire}
+
+\label{triangular}
+
+Dans l'exemple suivant, on utilise le style PGF/Tikz |nicematrix/cell-node| pour faire
+tourner le contenu des cellules (rotation que l'on compense ensuite en faisant
+tourner tout le tableau avec la commande |\adjustbox| de l'extension éponyme,
+qui doit donc être chargée préalablement).
+
+\medskip
+\begin{Verbatim}
+\pgfset
+ {
+ ~emphase#nicematrix/cell-node@/.append style =
+ { text/rotate = 45, minimum size = 6 mm }
+ }
+
+\setlength{\tabcolsep}{0pt}
+
+~emphase#\adjustbox@{rotate = -45, set depth = 6mm + 1.414 \arrayrulewidth}
+ {\begin{NiceTabular} [ hvlines, corners=SE, baseline = line-9 ] { cccccccc }
+ \CodeBefore
+ \chessboardcolors{red!15}{blue!15}
+ \Body
+ 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 \\
+ 1 & 2 & 3 & 4 & 5 & 6 & 7 \\
+ 1 & 3 & 6 & 10 & 15 & 21 \\
+ 1 & 4 & 10 & 20 & 35 \\
+ 1 & 5 & 15 & 35 \\
+ 1 & 6 & 21 \\
+ 1 & 7 \\
+ 1
+ \end{NiceTabular}}
+\end{Verbatim}
+
+
+\begin{center}
+\pgfset
+ {
+ nicematrix/cell-node/.append style =
+ { text/rotate = 45, minimum size = 6 mm }
+ }%
+\setlength{\tabcolsep}{0pt}%
+\adjustbox{rotate = -45, set depth = 6mm + 1.414 \arrayrulewidth}
+ {\begin{NiceTabular} [ hvlines, corners=SE, baseline = line-9 ] { cccccccc }
+ \CodeBefore
+ \chessboardcolors{red!15}{blue!15}
+ \Body
+ 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 \\
+ 1 & 2 & 3 & 4 & 5 & 6 & 7 \\
+ 1 & 3 & 6 & 10 & 15 & 21 \\
+ 1 & 4 & 10 & 20 & 35 \\
+ 1 & 5 & 15 & 35 \\
+ 1 & 6 & 21 \\
+ 1 & 7 \\
+ 1
+ \end{NiceTabular}}
+\end{center}
+
+
\section*{Autre documentation}
diff --git a/macros/latex/contrib/nicematrix/nicematrix.dtx b/macros/latex/contrib/nicematrix/nicematrix.dtx
index 6ef8d2a7f7..3620cc0f4b 100644
--- a/macros/latex/contrib/nicematrix/nicematrix.dtx
+++ b/macros/latex/contrib/nicematrix/nicematrix.dtx
@@ -3,7 +3,7 @@
% This file should be compiled with $xelatex$.
%
% Copyright (C) 2018-2023 by F. Pantigny
-% -----------------------------------
+% ------------------------------------------
%
% This file may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
@@ -17,8 +17,8 @@
%
% \fi
% \iffalse
-\def\myfileversion{6.16}
-\def\myfiledate{2023/03/06}
+\def\myfileversion{6.17}
+\def\myfiledate{2023/03/31}
%
%
%<*batchfile>
@@ -61,6 +61,7 @@ version 2005/12/01 or later.
\usepackage{caption}
\usepackage{varwidth}
\usepackage{tcolorbox}
+\usepackage{adjustbox}
\usepackage[auto-lang=false]{lipsum}
\NewDocumentEnvironment {scope} {} {} {}
@@ -556,9 +557,8 @@ version 2005/12/01 or later.
% block;\footnote{However, the rules are not drawn in the sub-blocks of the
% block, as always with \pkg{nicematrix}: the rules are not drawn in the blocks
% (cf. section~\ref{rules} p.~\pageref{rules}).}
-% \item the key \Definition{line-width} is the width of the rules (this key
-% is meaningful only when one of the keys |draw|, |hvlines|, |vlines| and
-% |hlines| is used);
+% \item the key \Definition{line-width} is the width of the rules (is relevant
+% only when one of the keys |draw|, |hvlines|, |vlines| and |hlines| is used);
% \item the key \Definition{rounded-corners} requires rounded corners (for the
% frame drawn by |draw| and the shape drawn by |fill|) with a radius equal to
% the value of that key (the default value is 4~pt\footnote{This value is the
@@ -582,7 +582,7 @@ version 2005/12/01 or later.
% the form |tikz={|\textsl{list}|}| where \textsl{list} is a list of couples
% \textsl{key=value} of Tikz specifying the graphical characteristics of the
% lines that will be drawn (for an example, see p.~\pageref{dashed}).
-% \item \colorbox{yellow!50}{\textbf{Nouveau 6.15}}\par\nobreak
+% \item \colorbox{yellow!50}{\textbf{New 6.15}}\par\nobreak
% By default, the rules are not drawn in the blocks (see the section about the
% rules: section~\ref{rules} p.~\pageref{rules}). However, if the key
% \Definition{transparent} is used, the rules are drawn. For an example, see
@@ -590,7 +590,7 @@ version 2005/12/01 or later.
% \end{itemize}
%
% There is also keys for the horizontal and vertical positions of the content of
-% the block: cf.~\ref{horizontal-block} p.~\pageref{horizontal-block}).
+% the block: cf.~\ref{horizontal-block} p.~\pageref{horizontal-block}.
%
% \interitem
% {\bfseries One must remark that, by default, the commands |\Blocks| don't create space}.
@@ -599,11 +599,11 @@ version 2005/12/01 or later.
%
% \medskip
% In the following example, we have had to enlarge by hand the columns 2 and 3
-% (with the construction |wc{...}| of \pkg{array}).
+% (with the construction |w{c}{...}| of \pkg{array}).
%
% \bigskip
% \begin{BVerbatim}
-% \begin{NiceTabular}{cwc{2cm}wc{3cm}c}
+% \begin{NiceTabular}{cw{c}{2cm}w{c}{3cm}c}
% rose & tulip & daisy & dahlia \\
% violet
% & ~emphase#\Block[draw=red,fill=[RGB]{204,204,255},rounded-corners]{2-2}@
@@ -616,7 +616,7 @@ version 2005/12/01 or later.
%
% \medskip
% \begin{center}
-% \begin{NiceTabular}{cwc{2cm}wc{3cm}c}
+% \begin{NiceTabular}{cw{c}{2cm}w{c}{3cm}c}
% rose & tulip & daisy & dahlia \\
% violet & \Block[draw=red,fill=[RGB]{204,204,255},rounded-corners]{2-2}
% {\LARGE Some beautiful flowers} & & marigold \\
@@ -633,9 +633,9 @@ version 2005/12/01 or later.
% \item The natural width of the contents of these blocks is taken into account
% for the width of the current column.
%
-% In the columns with a fixed width (columns |w{...}{...}|, |p{...}|, |b{...}|,
-% |m{...}| and |X|), the content of the block is formatted as a paragraph of
-% that width.
+% In the columns with a fixed width (columns |w{...}{...}|, |W{...}{...}|,
+% |p{...}|, |b{...}|, |m{...}|, |V| and |X|), the content of the block is
+% formatted as a paragraph of that width.
%
% \item The specification of the horizontal position provided by the type of
% column (|c|, |r| or |l|) is taken into account for the blocks (but the
@@ -764,7 +764,7 @@ version 2005/12/01 or later.
% \end{bNiceArray}$
%
%
-%
+% \medskip
% By default, the horizontal position of the content of a block is computed
% by using the positions of the \emph{contents} of the columns implied in that
% block. That's why, in the following example, the header ``First group'' is
@@ -852,7 +852,7 @@ version 2005/12/01 or later.
%
% \colorbox{yellow!50}{\textbf{New 6.14}}
%
-% For the vertical position, the commands |\Blocks| accepts the keys
+% For the vertical position, the command |\Blocks| accepts the keys
% |v-center|\footnote{That key could not have been named |c| since the key |c|
% is used for the horizontal alignement.},
% |t|, |b|, |T| and |B|.
@@ -1389,7 +1389,7 @@ version 2005/12/01 or later.
% will be created by \pkg{nicematrix} and that will be available for the final
% user in order to draw horizontal rules (similarly to |\hline|);
%
-% \item the key |cccommand| is the name (without the backslash) of a command
+% \item the key |ccommand| is the name (without the backslash) of a command
% that will be created by \pkg{nicematrix} and that will be available for the
% final user to order to draw partial horizontal rules (similarly to |\cline|,
% hence the name |ccommand|): the argument of that command is a list of
@@ -2180,7 +2180,7 @@ version 2005/12/01 or later.
% color of the text.\footnote{The key |color| uses the command
% |\color| but inserts also an instruction |\leavevmode| before. This
% instruction prevents a extra vertical space in the cells which belong to
-% columns of type |p|, |b|, |m| and |X| (which start in
+% columns of type |p|, |b|, |m|, |X| and |V| (which start in
% vertical mode).}
% \item The key |bold| enforces
% bold characters for the cells of the row, both in math and text mode.
@@ -2220,13 +2220,13 @@ version 2005/12/01 or later.
%
% \medskip
% \begin{BVerbatim}[baseline=c,boxwidth=9cm]
-% \begin{NiceTabular}{~emphase#Wc{2cm}@cc}[hvlines]
+% \begin{NiceTabular}{~emphase#W{c}{2cm}@cc}[hvlines]
% Paris & New York & Madrid \\
% Berlin & London & Roma \\
% Rio & Tokyo & Oslo
% \end{NiceTabular}
% \end{BVerbatim}
-% \begin{NiceTabular}{Wc{2cm}cc}[hvlines]
+% \begin{NiceTabular}{W{c}{2cm}cc}[hvlines]
% Paris & New York & Madrid \\
% Berlin & London & Roma \\
% Rio & Tokyo & Oslo
@@ -2342,6 +2342,60 @@ version 2005/12/01 or later.
% \end{array}$
% \end{NiceMatrixBlock}
%
+% \subsection{The columns X}
+%
+% \label{X-columns}
+%
+% The environment |{NiceTabular}| provides |X| columns similar to those provided
+% by the environment |{tabularx}| of the eponymous package.
+%
+% The required width of the tabular may be specified with the key |width| (in
+% |{NiceTabular}| or in |\NiceMatrixOptions|). The initial value of this
+% parameter is |\linewidth| (and not |\textwidth|).
+%
+% For sake of similarity with the environment |{tabularx}|, \pkg{nicematrix}
+% also provides an environment |{NiceTabularX}| with a syntax similar to the
+% syntax of |{tabularx}|, that is to say with a first mandatory argument
+% which is the width of the tabular.\footnote{If \pkg{tabularx} is loaded, one
+% must use |{NiceTabularX}| (and not |{NiceTabular}|) in order to use the
+% columns |X| (this point comes from a conflict in the definitions of the
+% specifier |X|).}
+%
+% As with the packages \pkg{tabu}\footnote{The extension \pkg{tabu} is now
+% considered as deprecated.} and \pkg{tabularray}, the specifier |X| takes
+% in an optional argument (between square brackets) which is a list of keys.
+% \begin{itemize}
+% \item It's possible to give a weight for the column by providing a positive
+% integer directly as argument of the specifier |X|. For example, a column
+% |X[2]| will have a width double of the width of a column~|X| (which has a
+% weight equal to $1$).\footnote{The negative values of the weight, as provided
+% by \pkg{tabu} (which is now obsolete), are \emph{not} supported by \pkg{nicematrix}.
+% If such a value is used, an error will be raised.}
+% \item It's possible to specify an horizontal alignment with one of the
+% letters |l|, |c| and |r| (which insert respectively |\raggedright|,
+% |\centering| and |\raggedleft| followed by |\arraybackslash|).
+% \item It's possible to specify a vertical alignment with one of the keys
+% |t| (alias |p|), |m| and |b| (which construct respectively columns of type
+% |p|, |m| and |b|). The default value is |t|.
+% \end{itemize}
+%
+% \begin{Verbatim}
+% \begin{NiceTabular}~emphase#[width=9cm]{X[2,l]X[l]}@[hvlines]
+% a rather long text which fits on several lines
+% & a rather long text which fits on several lines \\
+% a shorter text & a shorter text
+% \end{NiceTabular}
+% \end{Verbatim}
+%
+% \begin{center}
+% \begin{NiceTabular}[width=9cm]{X[2,l]X[l]}[hvlines]
+% a rather long text which fits on several lines
+% & a rather long text which fits on several lines \\
+% a shorter text & a shorter text
+% \end{NiceTabular}
+% \end{center}
+%
+%
% \subsection{The columns V of varwidth}
%
% \label{varwidth}
@@ -2423,66 +2477,18 @@ version 2005/12/01 or later.
% interests of this type of columns is that, for a cell of a column of type~|V|,
% the PGF/Tikz node created by \pkg{nicematrix} for the content of that cell has
% a width adjusted to the content of the cell : cf. p.~\pageref{node-V}.
-
+%
+%
+% \bigskip
+% The columns |V| of \pkg{nicematrix} supports the keys |t|, |p|, |m|, |b|, |l|,
+% |c| and |r| also supported by the columns |X|: see their description in the
+% section~\ref{X-columns}, p.~\pageref{X-columns}.
+%
% \bigskip
% One should remark that the extension \pkg{varwidth} (at least in its version
% 0.92) has some problems: for instance, with LuaLaTeX, it does not work when
% the content begins with |\color|.
%
-%
-% \subsection{The columns X}
-%
-% \label{X-columns}
-%
-% The environment |{NiceTabular}| provides |X| columns similar to those provided
-% by the environment |{tabularx}| of the eponymous package.
-%
-% The required width of the tabular may be specified with the key |width| (in
-% |{NiceTabular}| or in |\NiceMatrixOptions|). The initial value of this
-% parameter is |\linewidth| (and not |\textwidth|).
-%
-% For sake of similarity with the environment |{tabularx}|, \pkg{nicematrix}
-% also provides an environment |{NiceTabularX}| with a syntax similar to the
-% syntax of |{tabularx}|, that is to say with a first mandatory argument
-% which is the width of the tabular.\footnote{If \pkg{tabularx} is loaded, one
-% must use |{NiceTabularX}| (and not |{NiceTabular}|) in order to use the
-% columns |X| (this point comes from a conflict in the definitions of the
-% specifier |X|).}
-%
-% As with the packages \pkg{tabu}\footnote{The extension \pkg{tabu} is now
-% considered as deprecated.} and \pkg{tabularray}, the specifier |X| takes
-% in an optional argument (between square brackets) which is a list of keys.
-% \begin{itemize}
-% \item It's possible to give a weight for the column by providing a positive
-% integer directly as argument of the specifier |X|. For example, a column
-% |X[2]| will have a width double of the width of a column~|X| (which has a
-% weight equal to $1$).\footnote{The negative values of the weight, as provided
-% by \pkg{tabu} (which is now obsolete), are \emph{not} supported by \pkg{nicematrix}.
-% If such a value is used, an error will be raised.}
-% \item It's possible to specify an horizontal alignment with one of the
-% letters |l|, |c| and |r| (which insert respectively |\raggedright|,
-% |\centering| and |\raggedleft| followed by |\arraybackslash|).
-% \item It's possible to specify a vertical alignment with one of the keys
-% |t| (alias |p|), |m| and |b| (which construct respectively columns of type
-% |p|, |m| and |b|). The default value is |t|.
-% \end{itemize}
-%
-% \begin{Verbatim}
-% \begin{NiceTabular}~emphase#[width=9cm]{X[2,l]X[l]}@[hvlines]
-% a rather long text which fits on several lines
-% & a rather long text which fits on several lines \\
-% a shorter text & a shorter text
-% \end{NiceTabular}
-% \end{Verbatim}
-%
-% \begin{center}
-% \begin{NiceTabular}[width=9cm]{X[2,l]X[l]}[hvlines]
-% a rather long text which fits on several lines
-% & a rather long text which fits on several lines \\
-% a shorter text & a shorter text
-% \end{NiceTabular}
-% \end{center}
-%
% \bigskip
% \section{The exterior rows and columns}
%
@@ -3313,7 +3319,7 @@ version 2005/12/01 or later.
%
%
% \subsection{The command \textbackslash SubMatrix in the \textbackslash
-% CodeAfter (and also the \textbackslash CodeBefore)}
+% CodeAfter (and the \textbackslash CodeBefore)}
%
% \label{sub-matrix}
%
@@ -3419,26 +3425,27 @@ version 2005/12/01 or later.
% \bigskip
% The options of the command |\SubMatrix| are as follows:
% \begin{itemize}
-% \item |left-xshift| and |right-xshift| shift horizontally the delimiters (there
-% exists also the key |xshift| which fixes both parameters);
-% \item |extra-height| adds a quantity to the total height of the delimiters
-% (height |\ht| + depth |\dp|);
-% \item |delimiters/color| fixes the color of the delimiters (also
+% \item \Definition{left-xshift} and \Definition{right-xshift} shift
+% horizontally the delimiters (there exists also the key \Definition{xshift}
+% which fixes both parameters);
+% \item \Definition{extra-height} adds a quantity to the total height of the
+% delimiters (height |\ht| + depth |\dp|);
+% \item \Definition{delimiters/color} fixes the color of the delimiters (also
% available in |\NiceMatrixOptions|, in the environments with delimiters and as
% option of the keyword |\CodeAfter|);
-% \item |slim| is a boolean key: when that key is in force, the horizontal
+% \item \Definition{slim} is a boolean key: when that key is in force, the horizontal
% position of the delimiters is computed by using only the contents of the cells
% of the submatrix whereas, in the general case, the position is computed by
% taking into account the cells of the whole columns implied in the submatrix
% (see example below). ;
-% \item |vlines| contents a list of numbers of vertical rules that will be drawn in
-% the sub-matrix (if this key is used without value, all the vertical rules of
-% the sub-matrix are drawn);
-% \item |hlines| is similar to |vlines| but for the horizontal rules;
-% \item |hvlines|, which must be used without value, draws all the vertical and
-% horizontal rules;
-% \item |code| insert code, especially TikZ code, after the construcion of the
-% submatrix. That key is detailed below.
+% \item \Definition{vlines} contents a list of numbers of vertical rules that
+% will be drawn in the sub-matrix (if this key is used without value, all the
+% vertical rules of the sub-matrix are drawn);
+% \item \Definition{hlines} is similar to |vlines| but for the horizontal rules;
+% \item \Definition{hvlines}, which must be used without value, draws all the
+% vertical and horizontal rules;
+% \item \Definition{code} insert code, especially TikZ code, after the
+% construcion of the submatrix. That key is detailed below.
% \end{itemize}
% One should remark that the keys add their rules after the construction of
% the main matrix: no space is added between the rows and the columns of the
@@ -3561,7 +3568,8 @@ version 2005/12/01 or later.
% submatrix. It's meant to be used to insert TikZ instructions because, in the
% TikZ instructions inserted by that code, the nodes of the form |i-j| and
% \verb+i-|j+ are interpreted with |i| and |j| as numbers of row and columns
-% \emph{relative to the submatrix}.
+% \emph{relative to the submatrix}.\footnote{Be careful: the syntax
+% \verb+j|-i+ is not allowed.}
%
% \medskip
% \begin{scope}
@@ -4433,7 +4441,11 @@ version 2005/12/01 or later.
%
% \subsection{The nodes corresponding to the contents of the cells}
%
-% The package \pkg{nicematrix} creates a PGF/Tikz node for each (non-empty) cell
+% The package \pkg{nicematrix} creates a PGF/Tikz node\footnote{We recall that Tikz
+% is a layer over PGF. The extension \pkg{nicematrix} loads PGF but does not
+% load Tikz. We speak of PGF/Tikz nodes to emphase the fact that the PGF nodes
+% created by \pkg{nicematrix} may be used with PGF but also with Tikz. The final
+% user will probably prefer to use Tikz rather than PGF.} for each (non-empty) cell
% of the considered array. These nodes are used to draw the dotted lines between
% the cells of the matrix (inter alia).
%
@@ -4518,36 +4530,65 @@ version 2005/12/01 or later.
% \tikz \draw (2-2) circle (2mm) ;
% \end{pNiceMatrix}$
%
+% \medskip
+% The nodes of the last column (excepted the potential «last column» specified
+% by |last-col|\footnote{For the exterior columns, cf. part~\ref{exterior},
+% p.~\pageref{exterior}.}) may also be indicated by $i$-|last|. Similarly, the
+% nodes of the last row may be indicated by |last|-$j$.
%
% \bigskip
-% In the following example, we have underlined all the nodes of the matrix (we
-% explain below the technic used : cf. p. \pageref{highlight}).
+% In the following example, we have underlined all the nodes of the matrix.
%
-%
-% \[\begin{pNiceMatrix}
-% \CodeBefore [create-cell-nodes]
-% \begin{tikzpicture}%
-% [every node/.style = { inner sep = 0 pt , fill = red!15 }]
-% \node [fit = (1-1)] {} ;
-% \node [fit = (1-3)] {} ;
-% \node [fit = (2-2)] {} ;
-% \node [fit = (3-1)] {} ;
-% \node [fit = (3-3)] {} ;
-% \node [fit = (1-2)] {} ;
-% \node [fit = (2-1)] {} ;
-% \node [fit = (2-3)] {} ;
-% \node [fit = (3-2)] {} ;
-% \end{tikzpicture}
-% \Body
+% \[
+% \NiceMatrixOptions
+% {
+% pgf-node-code =
+% {
+% \pgfsetfillcolor{red!15}%
+% \pgfusepathqfill
+% }
+% }
+% \begin{pNiceMatrix}
% a & a + b & a + b + c \\
% a & a & a + b \\
-% a & a & a
+% a & a & a
% \end{pNiceMatrix}\]
%
%
-% The nodes of the last column (excepted the potential «last column» specified
-% by |last-col|) may also be indicated by $i$-|last|. Similarly, the nodes of
-% the last row may be indicated by |last|-$j$.
+% \bigskip
+% \colorbox{yellow!50}{\textbf{New 6.17}}\enskip Since those nodes are PGF
+% nodes, one won't be surprised to learn that they are drawn by using a specific
+% PGF style. That style is called |nicematrix/cell-node| and its definition in
+% the source file |nicematrix.sty| is as follows:
+%
+% \begin{Verbatim}
+% \pgfset
+% {
+% ~emphase#nicematrix / cell-node@ /.style =
+% {
+% inner sep = 0 pt ,
+% minimum width = 0 pt
+% }
+% }
+% \end{Verbatim}
+%
+% The final user may modify that style by changing the values of the keys |text/rotate|,
+% |inner xsep|, |inner ysep|, |inner sep|, |outer xsep|, |outer ysep|, |outer sep|,
+% |minimum width|, |minimum height| and |minimum size|.
+%
+% \medskip
+% For an example of utilisation, see part~\ref{triangular}, p.~\pageref{triangular}.
+%
+%
+% \subsubsection{The key pgf-node-code}
+%
+% \colorbox{yellow!50}{\textbf{New 6.17}}\enskip \textbf{For the experienced
+% users}, \pkg{nicematrix} provides the key |pgf-node-code| which corresponds to
+% some PGF node that will be executed at the creation, by PGF, of the nodes
+% corresponding to the cells of the array. More pricisely, the value given to
+% the key |pgf-node-code| will be passed in the fifth argument of the command
+% |\pgfnode|. That value should contain at least an instruction such as
+% |\pgfusepath|, |\pgfusepathqstroke|, |\pgfusepathqfill|, etc.
%
% \subsubsection{The columns V of varwidth}
%
@@ -5086,7 +5127,8 @@ version 2005/12/01 or later.
%
% \section{Technical remarks}
%
-% First remark: the package \pkg{underscore} must be loaded before \pkg{nicematrix}.
+% First remark: the package \pkg{underscore} must be loaded before
+% \pkg{nicematrix}. If it is loaded after, an error will be raised.
%
% \subsection{Diagonal lines}
%
@@ -5215,7 +5257,7 @@ version 2005/12/01 or later.
% before and after each column. In particular, there is a space equal to
% |\arraycolsep| before and after the array. This feature of the environment
% |{array}| was probably not a good idea\footnote{In the documentation of
-% |{amsmath}|, we can read: {\itshape The extra space of |\arraycolsep| that
+% \pkg{amsmath}, we can read: {\itshape The extra space of |\arraycolsep| that
% \pkg{array} adds on each side is a waste so we remove it [in |{matrix}|]
% (perhaps we should instead remove it from array in general, but that's a
% harder task).}}. The environment |{matrix}| of
@@ -6219,7 +6261,9 @@ version 2005/12/01 or later.
% a & a & a & L_3
% \end{pNiceArray}\]
%
-%
+%
+
+%
% \subsection{Utilisation of \textbackslash SubMatrix in the \textbackslash CodeBefore}
%
% \label{submatrix-in-codebefore}
@@ -6299,6 +6343,69 @@ version 2005/12/01 or later.
% \end{NiceArray}\]
% \end{Verbatim}
%
+%
+%
+% \subsection{A triangular tabular}
+%
+% \label{triangular}
+%
+% In the following example, we use the style PGF/TikZ |nicematrix/cell-node|
+% to rotate the contents of the cells (and, then, we compensate that rotation by
+% a rotation of the whole tabular with the command |\adjustbox| of the eponymous
+% package, which must be loaded previously).
+%
+%
+% \medskip
+% \begin{Verbatim}
+% \pgfset
+% {
+% ~emphase#nicematrix/cell-node@/.append style =
+% { text/rotate = 45, minimum size = 6 mm }
+% }
+%
+% \setlength{\tabcolsep}{0pt}
+%
+% ~emphase#\adjustbox@{rotate = -45, set depth = 6mm + 1.414 \arrayrulewidth}
+% {\begin{NiceTabular} [ hvlines, corners=SE, baseline = line-9 ] { cccccccc }
+% \CodeBefore
+% \chessboardcolors{red!15}{blue!15}
+% \Body
+% 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 \\
+% 1 & 2 & 3 & 4 & 5 & 6 & 7 \\
+% 1 & 3 & 6 & 10 & 15 & 21 \\
+% 1 & 4 & 10 & 20 & 35 \\
+% 1 & 5 & 15 & 35 \\
+% 1 & 6 & 21 \\
+% 1 & 7 \\
+% 1
+% \end{NiceTabular}}
+% \end{Verbatim}
+%
+%
+% \begin{center}
+% \pgfset
+% {
+% nicematrix/cell-node/.append style =
+% { text/rotate = 45, minimum size = 6 mm }
+% }%
+% \setlength{\tabcolsep}{0pt}%
+% \adjustbox{rotate = -45, set depth = 6mm + 1.414 \arrayrulewidth}
+% {\begin{NiceTabular} [ hvlines, corners=SE, baseline = line-9 ] { cccccccc }
+% \CodeBefore
+% \chessboardcolors{red!15}{blue!15}
+% \Body
+% 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 \\
+% 1 & 2 & 3 & 4 & 5 & 6 & 7 \\
+% 1 & 3 & 6 & 10 & 15 & 21 \\
+% 1 & 4 & 10 & 20 & 35 \\
+% 1 & 5 & 15 & 35 \\
+% 1 & 6 & 21 \\
+% 1 & 7 \\
+% 1
+% \end{NiceTabular}}
+% \end{center}
+%
+%
%
% \section{Implementation}
%
@@ -6578,7 +6685,7 @@ version 2005/12/01 or later.
%
% We test whether the current class is \cls{revtex4-1} (deprecated) or
% \cls{revtex4-2} because these classes redefines |\array| (of \pkg{array}) in a
-% way incompatible with our programmation. At the date January 2022, the current
+% way incompatible with our programmation. At the date March 2023, the current
% version \cls{revtex4-2} is 4.2e (compatible with \pkg{booktabs}).
%
% \begin{macrocode}
@@ -7251,6 +7358,13 @@ version 2005/12/01 or later.
% \begin{macrocode}
\tl_new:N \l_@@_code_tl
% \end{macrocode}
+%
+% \bigskip
+% For the key |pgf-node-code|. That code will be used when the nodes of the
+% cells (that is to say the nodes of the form |i-j|) will be created.
+% \begin{macrocode}
+\tl_new:N \l_@@_pgf_node_code_tl
+% \end{macrocode}
%
% \bigskip
% The following token list has a function similar to
@@ -7313,10 +7427,6 @@ version 2005/12/01 or later.
\dim_new:N \l_@@_X_columns_dim
% \end{macrocode}
%
-% \medskip
-% \begin{macrocode}
-\bool_new:N \l_@@_X_V_bool
-% \end{macrocode}
%
% \bigskip
% This boolean will be used only to detect in an expandable way whether we are
@@ -7508,7 +7618,7 @@ version 2005/12/01 or later.
% The following sequence will be used when the command |\SubMatrix| is used in
% the |\CodeBefore| (and not in the |\CodeAfter|). It will contain the position of
% all the sub-matrices specified in the |\CodeBefore|. Each sub-matrix is
-% represented by an ``object'' of the forme |{|$i$|}{|$j$|}{|$k$|}{|$l$|}|
+% represented by an ``object'' of the form |{|$i$|}{|$j$|}{|$k$|}{|$l$|}|
% where $i$ and $j$ are the number of row and column of the upper-left cell and
% $k$ and $l$ the number of row and column of the lower-right cell.
% \begin{macrocode}
@@ -8064,7 +8174,7 @@ version 2005/12/01 or later.
\begin { pgfscope }
\pgfset
{
- outer~sep = \c_zero_dim ,
+ % outer~sep = \c_zero_dim ,
inner~sep = \c_zero_dim ,
minimum~size = \c_zero_dim
}
@@ -8096,7 +8206,7 @@ version 2005/12/01 or later.
\begin { pgfscope }
\pgfset
{
- outer~sep = \c_zero_dim ,
+ % outer~sep = \c_zero_dim ,
inner~sep = \c_zero_dim ,
minimum~size = \c_zero_dim
}
@@ -8545,7 +8655,9 @@ version 2005/12/01 or later.
{ extra-left-margin = #1 , extra-right-margin = #1 } ,
extra-margin .value_required:n = true ,
respect-arraystretch .bool_set:N = \l_@@_respect_arraystretch_bool ,
- respect-arraystretch .default:n = true
+ respect-arraystretch .default:n = true ,
+ pgf-node-code .tl_set:N = \l_@@_pgf_node_code_tl ,
+ pgf-node-code .value_required:n = true
}
% \end{macrocode}
%
@@ -9078,6 +9190,13 @@ version 2005/12/01 or later.
{
\@@_math_toggle_token:
\hbox_set_end:
+ \@@_cell_end_i:
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_cell_end_i:
+ {
% \end{macrocode}
% The token list |\g_@@_cell_after_hook_tl| is (potentially) set during the
% composition of the box |\l_@@_cell_box| and is used now \emph{after} the
@@ -9136,13 +9255,13 @@ version 2005/12/01 or later.
% \end{itemize}
% \begin{macrocode}
\bool_if:NTF \g_@@_empty_cell_bool
- { \box_use_drop:N \l_@@_cell_box }
+ { \box_use_drop:N \l_@@_cell_box }
{
\bool_lazy_or:nnTF
\g_@@_not_empty_cell_bool
{ \dim_compare_p:nNn { \box_wd:N \l_@@_cell_box } > \c_zero_dim }
\@@_node_for_cell:
- { \box_use_drop:N \l_@@_cell_box }
+ { \box_use_drop:N \l_@@_cell_box }
}
\int_gset:Nn \g_@@_col_total_int { \int_max:nn \g_@@_col_total_int \c@jCol }
\bool_gset_false:N \g_@@_empty_cell_bool
@@ -9150,20 +9269,46 @@ version 2005/12/01 or later.
}
% \end{macrocode}
%
-% \medskip
+% \bigskip
+% The following variant of |\@@_cell_end:| is only for the columns of type
+% |w{s}{...}| or |W{s}{...}| (which use the horizontal alignement key |s| of
+% |\makebox|).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_cell_end_for_w_s:
+ {
+ \@@_math_toggle_token:
+ \hbox_set_end:
+ \bool_if:NF \g_@@_rotate_bool
+ {
+ \hbox_set:Nn \l_@@_cell_box
+ {
+ \makebox [ \l_@@_col_width_dim ] [ s ]
+ { \hbox_unpack_drop:N \l_@@_cell_box }
+ }
+ }
+ \@@_cell_end_i:
+ }
+% \end{macrocode}
+%
+%
+% \bigskip
% The following command creates the \textsc{pgf} name of the node with, of
% course, |\l_@@_cell_box| as the content.
% \begin{macrocode}
+\pgfset
+ {
+ nicematrix / cell-node /.style =
+ {
+ inner~sep = \c_zero_dim ,
+ minimum~width = \c_zero_dim
+ }
+ }
\cs_new_protected:Npn \@@_node_for_cell:
{
\pgfpicture
\pgfsetbaseline \c_zero_dim
\pgfrememberpicturepositiononpagetrue
- \pgfset
- {
- inner~sep = \c_zero_dim ,
- minimum~width = \c_zero_dim
- }
+ \pgfset { nicematrix / cell-node }
\pgfnode
{ rectangle }
{ base }
@@ -9176,7 +9321,7 @@ version 2005/12/01 or later.
\box_use_drop:N \l_@@_cell_box
}
{ \@@_env: - \int_use:N \c@iRow - \int_use:N \c@jCol }
- { }
+ { \l_@@_pgf_node_code_tl }
\str_if_empty:NF \l_@@_name_str
{
\pgfnodealias
@@ -11302,9 +11447,62 @@ version 2005/12/01 or later.
%
% \medskip
% For |w| and |W|
+%
+% |#1| is a special argument: empty for |w| and equal to |\@@_special_W:| for |W|;
+%
+% |#2| is the type of column (|w| or |W|);
+%
+% |#3| is the type of horizontal alignment (|c|, |l|, |r| or |s|);
+%
+% |#4| is the width of the column.
+%
% \begin{macrocode}
\cs_new_protected:Npn \@@_patch_preamble_vi:nnnn #1 #2 #3 #4
{
+ \str_if_eq:nnTF { #3 } { s }
+ { \@@_patch_preamble_vi_i:nnnn { #1 } { #4 } }
+ { \@@_patch_preamble_vi_ii:nnnn { #1 } { #2 } { #3 } { #4 } }
+ }
+% \end{macrocode}
+%
+% \bigskip
+% First, the case of an horizontal alignment equal to |s| (for \emph{stretch}).
+%
+% |#1| is a special argument: empty for |w| and equal to |\@@_special_W:| for
+% |W|;
+%
+% |#2| is the width of the column.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_patch_preamble_vi_i:nnnn #1 #2
+ {
+ \tl_gput_right:NV \g_@@_preamble_tl \g_@@_pre_cell_tl
+ \tl_gclear:N \g_@@_pre_cell_tl
+ \tl_gput_right:Nn \g_@@_preamble_tl
+ {
+ > {
+ \dim_set:Nn \l_@@_col_width_dim { #2 }
+ \@@_cell_begin:w
+ \str_set:Nn \l_@@_hpos_cell_str { c }
+ }
+ c
+ < {
+ \@@_cell_end_for_w_s:
+ #1
+ \@@_adjust_size_box:
+ \box_use_drop:N \l_@@_cell_box
+ }
+ }
+ \int_gincr:N \c@jCol
+ \@@_patch_preamble_xi:n
+ }
+% \end{macrocode}
+%
+% \bigskip
+% Then, the most important version, for the horizontal alignments types of |c|,
+% |l| and |r| (and not |s|).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_patch_preamble_vi_ii:nnnn #1 #2 #3 #4
+ {
\tl_gput_right:NV \g_@@_preamble_tl \g_@@_pre_cell_tl
\tl_gclear:N \g_@@_pre_cell_tl
\tl_gput_right:Nn \g_@@_preamble_tl
@@ -11324,10 +11522,11 @@ version 2005/12/01 or later.
< {
\@@_cell_end:
\hbox_set_end:
- \bool_if:NT \g_@@_rotate_bool \@@_rotate_cell_box:
+ % The following line is probably pointless
+ % \bool_if:NT \g_@@_rotate_bool \@@_rotate_cell_box:
#1
\@@_adjust_size_box:
- \makebox [ #4 ] [ #3 ] { \box_use_drop:N \l_@@_cell_box }
+ \makebox [ #4 ] [ #3 ] { \box_use_drop:N \l_@@_cell_box }
}
}
% \end{macrocode}
@@ -11342,10 +11541,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\cs_new_protected:Npn \@@_special_W:
{
- \dim_compare:nNnT
- { \box_wd:N \l_@@_cell_box }
- >
- \l_@@_col_width_dim
+ \dim_compare:nNnT { \box_wd:N \l_@@_cell_box } > \l_@@_col_width_dim
{ \@@_warning:n { W~warning } }
}
% \end{macrocode}
@@ -11537,10 +11733,7 @@ version 2005/12/01 or later.
% of keys will be used to retrieve that value (in the counter |\l_@@_weight_int|).
% \begin{macrocode}
\keys_define:nn { WithArrows / X-column }
- {
- v .bool_set:N = \l_@@_X_V_bool ,
- unknown .code:n = \int_set:Nn \l_@@_weight_int { \l_keys_key_str }
- }
+ { unknown .code:n = \int_set:Nn \l_@@_weight_int { \l_keys_key_str } }
% \end{macrocode}
%
%
@@ -11574,7 +11767,6 @@ version 2005/12/01 or later.
\tl_set:Nn \l_tmpa_tl { #1 }
\tl_replace_all:Nnn \l_tmpa_tl { \@@_S: } { S }
\@@_keys_p_column:V \l_tmpa_tl
- \bool_set_false:N \l_@@_X_V_bool
\keys_set:nV { WithArrows / X-column } \l_tmpa_tl
\int_compare:nNnT \l_@@_weight_int < 0
{
@@ -11593,11 +11785,7 @@ version 2005/12/01 or later.
\exp_args:Nnx
\@@_patch_preamble_iv_iv:nn
{ \l_@@_weight_int \l_@@_X_columns_dim }
- {
- \bool_if:NTF \l_@@_X_V_bool
- { varwidth }
- { minipage }
- }
+ { minipage }
}
{
\tl_gput_right:Nn \g_@@_preamble_tl
@@ -11931,7 +12119,7 @@ version 2005/12/01 or later.
\bool_if:NT \g_@@_rotate_bool \@@_rotate_cell_box:
#1
\@@_adjust_size_box:
- \makebox [ #4 ] [ #3 ] { \box_use_drop:N \l_@@_cell_box }
+ \makebox [ #4 ] [ #3 ] { \box_use_drop:N \l_@@_cell_box }
}
}
% \end{macrocode}
@@ -12887,7 +13075,7 @@ version 2005/12/01 or later.
{
\dim_compare:nNnTF { \box_wd:N \l_@@_cell_box } > \c_zero_dim
\@@_node_for_cell:
- { \box_use_drop:N \l_@@_cell_box }
+ { \box_use_drop:N \l_@@_cell_box }
\skip_horizontal:N \l_@@_left_delim_dim
\skip_horizontal:N \l_@@_left_margin_dim
\skip_horizontal:N \l_@@_extra_left_margin_dim
@@ -21688,6 +21876,7 @@ version 2005/12/01 or later.
matrix/columns-type,~
notes~(several~subkeys),~
nullify-dots,~
+ pgf-node-code,~
renew-dots,~
renew-matrix,~
respect-arraystretch,~
@@ -21743,13 +21932,13 @@ version 2005/12/01 or later.
light-syntax,~
name,~
nullify-dots,~
+ pgf-node-code,~
renew-dots,~
respect-arraystretch,~
right-margin,~
rules~(with~the~subkeys~'color'~and~'width'),~
small,~
t,~
- tabularnote,~
vlines,~
xdots/color,~
xdots/shorten-start,~
@@ -21806,6 +21995,7 @@ version 2005/12/01 or later.
light-syntax,~
name,~
nullify-dots,~
+ pgf-node-code,~
r,~
renew-dots,~
respect-arraystretch,~
@@ -21867,6 +22057,7 @@ version 2005/12/01 or later.
name,~
notes~(several~subkeys),~
nullify-dots,~
+ pgf-node-code,~
renew-dots,~
respect-arraystretch,~
right-margin,~
@@ -21928,7 +22119,7 @@ version 2005/12/01 or later.
% \subsection*{Changes between version 6.15 and 6.16}
%
% It's now possible to put any LaTeX extensible delimiter (|\lgroup|, |\langle|,
-% etc.) in the preamble of an environment with pramble (such as |{NiceArray}|)
+% etc.) in the preamble of an environment with preamble (such as |{NiceArray}|)
% by prefixing them by |\left| and |\right|.
%
% New key |code| for the command |\SubMatrix| in the |\CodeAfter|.
diff --git a/macros/latex/contrib/nicematrix/nicematrix.pdf b/macros/latex/contrib/nicematrix/nicematrix.pdf
index f9c9e28bb7..3e990cb257 100644
--- a/macros/latex/contrib/nicematrix/nicematrix.pdf
+++ b/macros/latex/contrib/nicematrix/nicematrix.pdf
Binary files differ
diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
index 8758178328..962b919ad3 100644
--- a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
+++ b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
index 28816bea95..a1d113a5fe 100644
--- a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
+++ b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
@@ -5,8 +5,8 @@
% arara: lualatex: {shell: yes, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)')
\documentclass[a4paper,french,11pt]{article}
-\def\PLversion{2.5.4}
-\def\PLdate{11 Mars 2023}
+\def\PLversion{2.5.6}
+\def\PLdate{31 Mars 2023}
\usepackage{ProfLycee}
\useproflyclib{piton,minted,pythontex}
%\usepackage{lualatex-math}
@@ -564,10 +564,6 @@ Elles sont présentées de manière \textit{succincte}, mais elles sont présent
\end{codetex}
\begin{codetex}[listing only]
-%présentation type calcul formel, dans un environnement tikz
-\CalculFormelParametres[options]
-\CalculFormelLigne[options]{commande}{résultat}
-
%présentation de code Python
\begin{CodePythonLst}(*)[largeur]{commandes tcbox}...\end{CodePythonLst}
%:=librairie piton
@@ -582,6 +578,8 @@ Elles sont présentées de manière \textit{succincte}, mais elles sont présent
\begin{PseudoCode}(*)[largeur][options]...\end{PseudoCode}
\end{codetex}
+\pagebreak
+
\begin{codetex}[listing only]
%terminal OS
\begin{TerminalWin}[largeur]{clés}[options]...\end{TerminalWin}
@@ -1193,7 +1191,15 @@ Ces commande permet de tracer les graduations des axes, avec des \Cle{clés} ide
\item \Cle{HautGrad} qui est la position des graduations (sous la forme \Cle{lgt} ou \Cle{lgta/lgtb}) ; \hfill~défaut \Cle{4pt}
\item le booléen \Cle{AffGrad} pour afficher les valeurs (formatés avec \ctex{num} donc dépendant de \ctex{sisetup}) des graduations ; \hfill~défaut \Cle{true}
\item le booléen \Cle{AffOrigine} pour afficher la graduation de l'origine ; \hfill~défaut \Cle{true}
- \item le booléen \Cle{Annee} qui permet de ne pas formater les valeurs des graduations (type \textsf{année}). \hfill~défaut \Cle{false}
+ \item le booléen \Cle{Annee} qui permet de ne pas formater les valeurs des graduations (type \textsf{année}) ;
+
+ \hfill~défaut \Cle{false}
+ \item \cmaj{2.5.6} le booléen \Cle{Trigo} (uniquement pour l'axe $(Ox)$) pour des graduations libres en radians ;
+
+ \hfill~défaut \Cle{false}
+ \item \cmaj{2.5.6} le booléen \Cle{Dfrac} (uniquement pour l'axe $(Ox)$ en \Cle{Trigo}) pour forcer les fractions en \textit{grand}.
+
+ \hfill~défaut \Cle{false}
\end{itemize}
\end{codecles}
@@ -1201,11 +1207,9 @@ Ces commande permet de tracer les graduations des axes, avec des \Cle{clés} ide
%code tikz
\AxexTikz[Police=\small]{0,5,...,55}
\AxeyTikz[Police=\small]{0,30,...,210}
-
%code tikz
\AxexTikz[Police=\small,HautGrad=0pt/4pt]{0,5,...,55}
\AxeyTikz[AffGrad=false,HautGrad=6pt]{0,30,...,210}
-
%des axes fictifs (en gris) sont rajoutés pour la lisibilité du code de sortie
\end{codetex}
@@ -1233,6 +1237,34 @@ Ces commande permet de tracer les graduations des axes, avec des \Cle{clés} ide
\hfill~
\end{codesortie}
+\begin{codetex}[listing only]
+\begin{tikzpicture}[x=2cm,y=1cm,xmin=0,xmax={2*pi},xgrille=0.5,xgrilles=0.25,
+ ymin=-1.15,ymax=1.15,ygrille=0.5,ygrilles=0.25]
+ \GrilleTikz \AxesTikz
+ \AxexTikz[Trigo]{{pi/6},{pi/4},{pi/3},{pi/2},{2*pi/3},{3*pi/4},{5*pi/6},pi,{7*pi/6},{5*pi/4}}
+ \CourbeTikz[thick,blue,samples=250]{cos(deg(\x))}{0:2*pi}
+\end{tikzpicture}
+\end{codetex}
+
+\begin{codesortie}
+\begin{tikzpicture}
+ [x=2cm,y=1cm,xmin=0,xmax={2*pi},xgrille=0.5,xgrilles=0.25,
+ ymin=-1.15,ymax=1.15,ygrille=0.5,ygrilles=0.25]
+ \GrilleTikz \AxesTikz
+ \AxexTikz[Trigo]{{pi/6},{pi/4},{pi/3},{pi/2},{2*pi/3},{3*pi/4},{5*pi/6},pi,{7*pi/6},{5*pi/4}}
+ \CourbeTikz[thick,blue,samples=250]{cos(deg(\x))}{0:2*pi}
+\end{tikzpicture}
+\end{codesortie}
+
+\begin{codeinfo}
+La clé \Cle{Trigo} utilise, en interne, une commande qui permet de \textit{transformer} les abscisses, données en langage \TikZ, en fraction en \LaTeX.
+\end{codeinfo}
+
+\begin{codetex}
+$\AffAngleRadian{0}$ \quad $\AffAngleRadian{pi}$ \quad $\AffAngleRadian{pi/4}$ \quad
+$\AffAngleRadian{2*pi/3}$ \quad $\AffAngleRadian{-2*pi/3}$ \quad $\AffAngleRadian*{-2*pi/3}$
+\end{codetex}
+
\subsection{Commandes annexes}
\begin{codeinfo}
@@ -1267,7 +1299,7 @@ Cette commande permet de rajouter une courbe sur le graphique (sans se soucier d
\begin{itemize}
\item \Cle{optionnels} qui sont - en \TikZ{} - les paramètres du tracé ;
\item le premier \textit{obligatoire}, est - en langage \TikZ{} - l'expression de la fonction à tracer, donc avec \ctex{\textbackslash{}x} comme variable ;
- \item le second \textit{obligatoire} est le domaine du tracé , sous la forme \ctex{valxmin:valxmax}.
+ \item le second \textit{obligatoire} est le domaine du tracé, sous la forme \ctex{valxmin:valxmax}.
\end{itemize}
\end{codecles}
@@ -1297,20 +1329,15 @@ Cette commande permet de rajouter une courbe sur le graphique (sans se soucier d
\subsection{Repère non centré en O}
\begin{codeidee}
-Parfois on est amené à travailler dans des repères qui n'ont pas forcément pour origine $(0\,;\,0)$. De ce fait - pour éviter des erreurs de \ctex{dimension too large} liées à \TikZ{} - il faut \textit{décaler les axes} pour se ramener à une origine en $O$.
-
-\smallskip
-
-L'idée est donc d'utiliser les commandes précédentes, sans se soucier des éventuelles translations à effectuer !
+Parfois on est amené à travailler dans des repères qui n'ont pas forcément pour origine $(0\,;\,0)$. De ce fait - pour éviter des erreurs de \ctex{dimension too large} liées à \TikZ{} - il faut \textit{décaler les axes} pour se ramener à une origine en $O$. L'idée est donc d'utiliser les commandes précédentes, sans se soucier des éventuelles transformations !
\end{codeidee}
\begin{codetex}[]
\begin{tikzpicture}[x=0.35cm,y=0.07cm,Ox=1992,xmin=1992,xmax=2010,%
xgrille=2,xgrilles=1,Oy=1640,ymin=1640,ymax=1710,ygrille=10,ygrilles=5]
- \FenetreSimpleTikz<Annee,Police=\small>{1992,1994,...,2008}{1640,1650,...,1700}
+ \FenetreSimpleTikz<Annee,Police=\scriptsize>{1992,1994,...,2008}{1640,1650,...,1700}
\FenetreTikz
- \CourbeTikz%
- [line width=1.25pt,orange,samples=500]{-(\x-2000)*(\x-2000)+1700}{\xmin:\xmax}
+ \CourbeTikz[line width=1.25pt,orange,samples=500]{-(\x-2000)*(\x-2000)+1700}{\xmin:\xmax}
\end{tikzpicture}
\end{codetex}
@@ -1986,128 +2013,128 @@ Peut-être que -- ultérieurement -- des options \textit{booléennes} seront dis
\part{Présentation de codes}
-\section{L'outil \og Calcul Formel \fg}
-
-\subsection{Introduction}
-
-\begin{codeidee}
-L'idée des commandes suivantes est de définir, dans un environnement \TikZ, une présentation proche de celle d'un logiciel de calcul formel comme \textsf{XCas} ou \textsf{Geogebra}.
-
-\smallskip
-
-Les sujets d'examens, depuis quelques années, peuvent comporter des \textit{captures d'écran} de logiciel de calcul formel, l'idée est ici de reproduire, de manière autonome, une telle présentation.
-
-\smallskip
-
-À la manière du {package} \ctex{tkz-tab}, l'environnement de référence est un environnement \TikZ, dans lequel les lignes sont créées petit à petit, à l'aide de nœuds qui peuvent être réutilisés à loisir ultérieurement.
-\end{codeidee}
-
-\subsection{La commande \og CalculFormelParametres \fg}
-
-\begin{codeinfo}
-La première chose à définir est l'ensemble des paramètres \textit{globaux} de la fenêtre de calcul formel, à l'aide de \Cle{Clés}.
-\end{codeinfo}
-
-\begin{codetex}[listing only]
-...
-\begin{tikzpicture}[...]
- \CalculFormelParametres[options]
- ...
-\end{tikzpicture}
-\end{codetex}
-
-\begin{codecles}
-Les \Cle{Clés} disponibles sont :
-\begin{itemize}
- \item \Cle{Largeur} : largeur de l'environnement ; \hfill{}défaut \Cle{16}
- \item \Cle{EspaceLg} : espacement vertical entre les lignes ;\hfill{}défaut \Cle{2pt}
- \item \Cle{PremCol} \& \Cle{HautPremCol} : largeur et hauteur de la case du \textit{petit numéro} ;\hfill{}défaut \Cle{0.3} \& \Cle{0.4}
- \item \Cle{Taille} : taille du texte ;\hfill{}défaut \Cle{\textbackslash normalsize}
- \item \Cle{Couleur} : couleur des traits de l'environnement ;\hfill{}défaut \Cle{darkgray}
- \item \Cle{Titre} : booléen pour l'affichage d'un bandeau de titre ;\hfill{}défaut \Cle{false}
- \item \Cle{TailleTitre} : taille du titre ;\hfill{}défaut \Cle{\textbackslash normalsize}
- \item \Cle{PosCmd} : position horizontale de la commande d'entrée ;\hfill{}défaut \Cle{gauche}
- \item \Cle{PosRes} : position horizontale de la commande de sortie ;\hfill{}défaut \Cle{centre}
- \item \Cle{CouleurCmd} : couleur de la commande d'entrée ;\hfill{}défaut \Cle{red}
- \item \Cle{CouleurRes} : couleur de la commande de sortie ;\hfill{}défaut \Cle{blue}
- \item \Cle{Sep} : booléen pour l'affichage du trait de séparation E/S ;\hfill{}défaut \Cle{true}
- \item \Cle{Menu} : booléen pour l'affichage du \textit{bouton} MENU ;\hfill{}défaut \Cle{true}
- \item \Cle{LabelTitre} : libellé du titre.\hfill{}défaut \Cle{Résultats obtenus avec un logiciel de Calcul Formel}
-\end{itemize}
-\end{codecles}
-
-\subsection{La commande \og CalculFormelLigne \fg}
-
-\begin{codeinfo}
-Une fois les paramètres déclarés, il faut créer les différentes lignes, grâce à la \ctex{CalculFormelLigne}.
-\end{codeinfo}
-
-\begin{codetex}[listing only]
-\begin{tikzpicture}[...]
- \CalculFormelParametres[options]
- \CalculFormelLigne[options]{commande}{résultat}
- ...
-\end{tikzpicture}
-\end{codetex}
-
-\begin{codecles}
-Les (quelques) \Cle{Clés} disponibles sont :
-
-\begin{itemize}
- \item \Cle{HautCmd} et \Cle{HautRes}: hauteur de la ligne de commande d'entrée et de sortie ;\hfill{}défaut \Cle{0.75}
- \item deux \textsf{arguments}, celui de la commande d'entrée et celui de la commande de sortie.
-\end{itemize}
+%\section{L'outil \og Calcul Formel \fg}
%
-Chaque argument \textsf{COMMANDE} \& \textsf{RÉSULTAT} peut être formaté (niveau police) de manière indépendante.
-\end{codecles}
-
-\begin{codetex}[tikz lower]
-%code tikz
-\CalculFormelParametres[Titre=true,CouleurCmd=olive,CouleurRes=orange]
-\CalculFormelLigne{COMMANDE 1}{RÉSULTAT 1}
-\CalculFormelLigne[HautCmd=0.75,HautRes=1]{\texttt{(x+1)\CFchap2}}{$\mathtt{x^2+2x+1}$}
-%\CFchap := ^ en mathtt
-\end{codetex}
-
-\subsection{Visualisation des paramètres}
-
-\begin{codeinfo}
-Pour \textit{illustrer} un peu les \Cle{clés}, un petit schéma, avec les différents nœuds crées par les \textsf{macros}.
-
-\begin{center}
- \begin{tikzpicture}[x=0.7cm,y=0.5cm,line width=1pt]
- \CalculFormelParametres[Largeur=12cm,Couleur=lightgray,EspaceLg=12pt,Menu=false]
- \CalculFormelLigne{}{}
- \CalculFormelLigne[HautCmd=1,HautRes=1.25]{}{}
- %explications
- \foreach \noeud in {01,11,21,31,41,51,02,12,22,32,42,52}
- \draw[blue] (A\noeud) node[font=\footnotesize\ttfamily] {A\noeud} ;
-\end{tikzpicture}
-\end{center}
-
-\begin{center}
- \begin{tikzpicture}[x=0.7cm,y=0.7cm,line width=1pt]
- \CalculFormelParametres[Titre,Largeur=12cm,EspaceLg=10pt,PremCol=0.5,HautPremCol=0.7,Couleur=lightgray]
- \CalculFormelLigne{COMMANDE 1}{RÉSULTAT 1}
- \CalculFormelLigne[HautCmd=0.85,HautRes=1.05]{COMMANDE 2}{RÉSULTAT 2}
- %explications
- \draw[CadetBlue,<->,>=latex] ($(A22) + (0,-12pt)$) -- ($(A52) + (0,-12pt)$) node[midway,below,font=\footnotesize\sffamily] {\Cle{Largeur}} ;
- \draw[CadetBlue,<->,>=latex] ($(A51) + (12pt,0)$) -- ($(A32) + (12pt,0)$) node[midway,right,font=\footnotesize\sffamily] {\Cle{EsapceLg}} ;
- \draw[CadetBlue,<->,>=latex] ($(A02) + (0,2pt)$) -- ($(A02) + (0,2pt) + ({-\CFpremcol},0) $) node[midway,above,font=\footnotesize\sffamily] {\Cle{PremCol}} ;
- \draw[CadetBlue,<->,>=latex] ($(A02) + ({-\CFpremcol},0) + (-2pt,0)$) -- ($(A02) + ({-\CFpremcol},{-\CFhpremcol}) +(-2pt,0)$) node[midway,left,font=\footnotesize\sffamily] {\Cle{HautPremCol}} ;
- \draw[CadetBlue,<->,>=latex] ($(A31) + (12pt,0)$) -- ($(A41) + (12pt,0)$) node[midway,right,font=\footnotesize\sffamily] {\Cle{HautCom}} ;
- \draw[CadetBlue,<->,>=latex] ($(A41) + (12pt,0)$) -- ($(A51) + (12pt,0)$) node[midway,right,font=\footnotesize\sffamily] {\Cle{HautRes}} ;
- \draw[CadetBlue,<->,>=latex] ($(A32) + (12pt,0)$) -- ($(A42) + (12pt,0)$) node[midway,right,font=\footnotesize\sffamily] {\Cle{HautCom}} ;
- \draw[CadetBlue,<->,>=latex] ($(A42) + (12pt,0)$) -- ($(A52) + (12pt,0)$) node[midway,right,font=\footnotesize\sffamily] {\Cle{HautRes}} ;
- \draw[CadetBlue,->,>=latex] ($(A12) + (0,-12pt)$) to[bend left=10] ($(A12) + (0,-12pt) + (-18pt,-12pt)$) node[below left,font=\footnotesize\sffamily] {\Cle{Couleur}} ;
- \draw[CadetBlue,->,>=latex] ($(A52) + (-0.65,0.25)$) to[bend left=10] ($(A52) + (-0.65,0.25) + (-18pt,12pt)$) node[inner sep=0pt,above left=1pt,font=\footnotesize\sffamily] {\Cle{Menu}} ;
- \draw[CadetBlue,->,>=latex] ($(A12) + (16pt,0)$) to[bend left=10] ($(A12) + (16pt,0) + (18pt,-12pt)$) node[inner sep=0pt,below right=1pt,font=\footnotesize\sffamily] {\Cle{Sep}} ;
- \draw[CadetBlue,->,>=latex] ($(A01) + (8pt,2pt) + (0,1em)$) to[bend left=10] ($(A01) + (8pt,2pt) + (0,1em) + (-18pt,12pt)$) node[inner sep=0pt,above=1pt,font=\footnotesize\sffamily] {\Cle{Titre} \& \Cle{TailleTitre} \& \Cle{LabelTitre}} ;
-\end{tikzpicture}
-\end{center}
-\end{codeinfo}
-
-\newpage
+%\subsection{Introduction}
+%
+%\begin{codeidee}
+%L'idée des commandes suivantes est de définir, dans un environnement \TikZ, une présentation proche de celle d'un logiciel de calcul formel comme \textsf{XCas} ou \textsf{Geogebra}.
+%
+%\smallskip
+%
+%Les sujets d'examens, depuis quelques années, peuvent comporter des \textit{captures d'écran} de logiciel de calcul formel, l'idée est ici de reproduire, de manière autonome, une telle présentation.
+%
+%\smallskip
+%
+%À la manière du {package} \ctex{tkz-tab}, l'environnement de référence est un environnement \TikZ, dans lequel les lignes sont créées petit à petit, à l'aide de nœuds qui peuvent être réutilisés à loisir ultérieurement.
+%\end{codeidee}
+%
+%\subsection{La commande \og CalculFormelParametres \fg}
+%
+%\begin{codeinfo}
+%La première chose à définir est l'ensemble des paramètres \textit{globaux} de la fenêtre de calcul formel, à l'aide de \Cle{Clés}.
+%\end{codeinfo}
+%
+%\begin{codetex}[listing only]
+%...
+%\begin{tikzpicture}[...]
+% \CalculFormelParametres[options]
+% ...
+%\end{tikzpicture}
+%\end{codetex}
+%
+%\begin{codecles}
+%Les \Cle{Clés} disponibles sont :
+%\begin{itemize}
+% \item \Cle{Largeur} : largeur de l'environnement ; \hfill{}défaut \Cle{16}
+% \item \Cle{EspaceLg} : espacement vertical entre les lignes ;\hfill{}défaut \Cle{2pt}
+% \item \Cle{PremCol} \& \Cle{HautPremCol} : largeur et hauteur de la case du \textit{petit numéro} ;\hfill{}défaut \Cle{0.3} \& \Cle{0.4}
+% \item \Cle{Taille} : taille du texte ;\hfill{}défaut \Cle{\textbackslash normalsize}
+% \item \Cle{Couleur} : couleur des traits de l'environnement ;\hfill{}défaut \Cle{darkgray}
+% \item \Cle{Titre} : booléen pour l'affichage d'un bandeau de titre ;\hfill{}défaut \Cle{false}
+% \item \Cle{TailleTitre} : taille du titre ;\hfill{}défaut \Cle{\textbackslash normalsize}
+% \item \Cle{PosCmd} : position horizontale de la commande d'entrée ;\hfill{}défaut \Cle{gauche}
+% \item \Cle{PosRes} : position horizontale de la commande de sortie ;\hfill{}défaut \Cle{centre}
+% \item \Cle{CouleurCmd} : couleur de la commande d'entrée ;\hfill{}défaut \Cle{red}
+% \item \Cle{CouleurRes} : couleur de la commande de sortie ;\hfill{}défaut \Cle{blue}
+% \item \Cle{Sep} : booléen pour l'affichage du trait de séparation E/S ;\hfill{}défaut \Cle{true}
+% \item \Cle{Menu} : booléen pour l'affichage du \textit{bouton} MENU ;\hfill{}défaut \Cle{true}
+% \item \Cle{LabelTitre} : libellé du titre.\hfill{}défaut \Cle{Résultats obtenus avec un logiciel de Calcul Formel}
+%\end{itemize}
+%\end{codecles}
+%
+%\subsection{La commande \og CalculFormelLigne \fg}
+%
+%\begin{codeinfo}
+%Une fois les paramètres déclarés, il faut créer les différentes lignes, grâce à la \ctex{CalculFormelLigne}.
+%\end{codeinfo}
+%
+%\begin{codetex}[listing only]
+%\begin{tikzpicture}[...]
+% \CalculFormelParametres[options]
+% \CalculFormelLigne[options]{commande}{résultat}
+% ...
+%\end{tikzpicture}
+%\end{codetex}
+%
+%\begin{codecles}
+%Les (quelques) \Cle{Clés} disponibles sont :
+%
+%\begin{itemize}
+% \item \Cle{HautCmd} et \Cle{HautRes}: hauteur de la ligne de commande d'entrée et de sortie ;\hfill{}défaut \Cle{0.75}
+% \item deux \textsf{arguments}, celui de la commande d'entrée et celui de la commande de sortie.
+%\end{itemize}
+%%
+%Chaque argument \textsf{COMMANDE} \& \textsf{RÉSULTAT} peut être formaté (niveau police) de manière indépendante.
+%\end{codecles}
+%
+%\begin{codetex}[tikz lower]
+%%code tikz
+%\CalculFormelParametres[Titre=true,CouleurCmd=olive,CouleurRes=orange]
+%\CalculFormelLigne{COMMANDE 1}{RÉSULTAT 1}
+%\CalculFormelLigne[HautCmd=0.75,HautRes=1]{\texttt{(x+1)\CFchap2}}{$\mathtt{x^2+2x+1}$}
+%%\CFchap := ^ en mathtt
+%\end{codetex}
+%
+%\subsection{Visualisation des paramètres}
+%
+%\begin{codeinfo}
+%Pour \textit{illustrer} un peu les \Cle{clés}, un petit schéma, avec les différents nœuds crées par les \textsf{macros}.
+%
+%\begin{center}
+% \begin{tikzpicture}[x=0.7cm,y=0.5cm,line width=1pt]
+% \CalculFormelParametres[Largeur=12cm,Couleur=lightgray,EspaceLg=12pt,Menu=false]
+% \CalculFormelLigne{}{}
+% \CalculFormelLigne[HautCmd=1,HautRes=1.25]{}{}
+% %explications
+% \foreach \noeud in {01,11,21,31,41,51,02,12,22,32,42,52}
+% \draw[blue] (A\noeud) node[font=\footnotesize\ttfamily] {A\noeud} ;
+%\end{tikzpicture}
+%\end{center}
+%
+%\begin{center}
+% \begin{tikzpicture}[x=0.7cm,y=0.7cm,line width=1pt]
+% \CalculFormelParametres[Titre,Largeur=12cm,EspaceLg=10pt,PremCol=0.5,HautPremCol=0.7,Couleur=lightgray]
+% \CalculFormelLigne{COMMANDE 1}{RÉSULTAT 1}
+% \CalculFormelLigne[HautCmd=0.85,HautRes=1.05]{COMMANDE 2}{RÉSULTAT 2}
+% %explications
+% \draw[CadetBlue,<->,>=latex] ($(A22) + (0,-12pt)$) -- ($(A52) + (0,-12pt)$) node[midway,below,font=\footnotesize\sffamily] {\Cle{Largeur}} ;
+% \draw[CadetBlue,<->,>=latex] ($(A51) + (12pt,0)$) -- ($(A32) + (12pt,0)$) node[midway,right,font=\footnotesize\sffamily] {\Cle{EsapceLg}} ;
+% \draw[CadetBlue,<->,>=latex] ($(A02) + (0,2pt)$) -- ($(A02) + (0,2pt) + ({-\CFpremcol},0) $) node[midway,above,font=\footnotesize\sffamily] {\Cle{PremCol}} ;
+% \draw[CadetBlue,<->,>=latex] ($(A02) + ({-\CFpremcol},0) + (-2pt,0)$) -- ($(A02) + ({-\CFpremcol},{-\CFhpremcol}) +(-2pt,0)$) node[midway,left,font=\footnotesize\sffamily] {\Cle{HautPremCol}} ;
+% \draw[CadetBlue,<->,>=latex] ($(A31) + (12pt,0)$) -- ($(A41) + (12pt,0)$) node[midway,right,font=\footnotesize\sffamily] {\Cle{HautCom}} ;
+% \draw[CadetBlue,<->,>=latex] ($(A41) + (12pt,0)$) -- ($(A51) + (12pt,0)$) node[midway,right,font=\footnotesize\sffamily] {\Cle{HautRes}} ;
+% \draw[CadetBlue,<->,>=latex] ($(A32) + (12pt,0)$) -- ($(A42) + (12pt,0)$) node[midway,right,font=\footnotesize\sffamily] {\Cle{HautCom}} ;
+% \draw[CadetBlue,<->,>=latex] ($(A42) + (12pt,0)$) -- ($(A52) + (12pt,0)$) node[midway,right,font=\footnotesize\sffamily] {\Cle{HautRes}} ;
+% \draw[CadetBlue,->,>=latex] ($(A12) + (0,-12pt)$) to[bend left=10] ($(A12) + (0,-12pt) + (-18pt,-12pt)$) node[below left,font=\footnotesize\sffamily] {\Cle{Couleur}} ;
+% \draw[CadetBlue,->,>=latex] ($(A52) + (-0.65,0.25)$) to[bend left=10] ($(A52) + (-0.65,0.25) + (-18pt,12pt)$) node[inner sep=0pt,above left=1pt,font=\footnotesize\sffamily] {\Cle{Menu}} ;
+% \draw[CadetBlue,->,>=latex] ($(A12) + (16pt,0)$) to[bend left=10] ($(A12) + (16pt,0) + (18pt,-12pt)$) node[inner sep=0pt,below right=1pt,font=\footnotesize\sffamily] {\Cle{Sep}} ;
+% \draw[CadetBlue,->,>=latex] ($(A01) + (8pt,2pt) + (0,1em)$) to[bend left=10] ($(A01) + (8pt,2pt) + (0,1em) + (-18pt,12pt)$) node[inner sep=0pt,above=1pt,font=\footnotesize\sffamily] {\Cle{Titre} \& \Cle{TailleTitre} \& \Cle{LabelTitre}} ;
+%\end{tikzpicture}
+%\end{center}
+%\end{codeinfo}
+%
+%\newpage
\section{Code Python \og simple \fg{} via le package listings}\label{pythonsimple}
@@ -6249,6 +6276,10 @@ La grille, créée en \TikZ, est portée par le rectangle de \og coins \fg{} $(0
\part{Historique}
+{\small \bverb|v 2.5.6|~:~~~~Ajout d'une clé \Cle{Trigo} pour l'axe $(Ox)$ (page \pageref{reperagetikz})
+
+{\small \bverb|v 2.5.5|~:~~~~Externalisation de la fenêtre XCas (dans la package \textsf{FentreCas})
+
{\small \bverb|v 2.5.4|~:~~~~Modification des calculs (via \textsf{xint}) en combinatoire (page \pageref{combinatoire})
{\small \bverb|v 2.5.3|~:~~~~Modification du traitement des tests dans les arbres de probas (page \pageref{arbresprobas})
diff --git a/macros/latex/contrib/proflycee/tex/ProfLycee.sty b/macros/latex/contrib/proflycee/tex/ProfLycee.sty
index 5dd1884d69..7726d26e15 100644
--- a/macros/latex/contrib/proflycee/tex/ProfLycee.sty
+++ b/macros/latex/contrib/proflycee/tex/ProfLycee.sty
@@ -3,7 +3,10 @@
% or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ProfLycee}[2023/03/11 2.5.4 Aide pour l'utilisation de LaTeX en lycee]
+\ProvidesPackage{ProfLycee}[2023/03/31 2.5.6 Aide pour l'utilisation de LaTeX en lycee]
+% 2.5.6 Ajout d'une clé [Trigo] pour \AxexTikz (avec graduations libres)
+% "Suppression" de la fenêtre XCas de la documentation
+% 2.5.5 Correction d'un bug avec la fenetre XCas
% 2.5.4 Amélioration des commandes de combinatoire avec calculs via xint (plus précis !)
% 2.5.3 Modification des tests d'arguments dans les probas (macros autorisées)
% 2.5.2 Correction d'un dysfonctionnement avec tcolorbox 6.0 :-(
@@ -53,6 +56,7 @@
\RequirePackage{simplekv}
\RequirePackage{listofitems}
\RequirePackage{tabularray}
+\RequirePackage{settobox}
\RequirePackage{hologo}
\RequirePackage{fancyvrb}
\RequirePackage{nicefrac}
@@ -279,7 +283,7 @@
\newcommand\CalculFormelLigne[3][]{%
\addtocounter{CFnum}{1}
- \def\CFL{\theCFnum}
+ \def\CFL{\theCFnum}%
\def\CFLA{\inteval{\CFL-1}}%
\useKVdefault[paramlgxcas]%
\setKV[paramlgxcas]{#1}% on paramètres les nouvelles clés et on les simplifie
@@ -313,9 +317,9 @@
{\draw (C3\CFL) node[left,\CFcoulcmd,font=\CFtaille] {#2} ;}
{}
%LA LIGNE DE SÉPARATION
- \ifboolKV[paramfenxcas]{Sep}%si sep=true
- {\draw[\CFcouleur] (A1\CFL) -- (A4\CFL);}
- {}
+ %\ifboolKV[paramfenxcas]{Sep}%si sep=true
+ % {\draw[\CFcouleur] (A1\CFL) -- (A4\CFL);}
+ % {}
%LE RÉSULTAT
\IfStrEq{\CFposres}{centre}%si posrep=center
{\draw (R2\CFL) node[\CFcoulres,font=\CFtaille] {#3} ;}
@@ -1568,6 +1572,36 @@
pics/PLdotcross/.default={4pt/0}
}
+%affichage d'un label en radians
+\NewDocumentCommand\AffAngleRadian{ s m }{%étoilée en dfrac
+ \IfStrEq{#2}{0}%cas où l'argument vaut 0
+ {\def\restmp{0}}%
+ {%
+ \StrDel{#2}{*}[\restmpsansmoins]%
+ \StrSubstitute{\restmpsansmoins}{pi}{\pi}[\restmppi]%
+ \IfSubStr{#2}{/}%
+ {%
+ \StrCut{\restmppi}{/}\tmpnum\tmpdenom%
+ \IfSubStr{\tmpnum}{-}
+ {%
+ \StrDel{\tmpnum}{-}[\restmppinum]%
+ \IfBooleanTF{#1}
+ {\def\restmp{-\dfrac{\restmppinum}{\tmpdenom}}}
+ {\def\restmp{-\frac{\restmppinum}{\tmpdenom}}}
+ }%
+ {%
+ \IfBooleanTF{#1}
+ {\def\restmp{\dfrac{\tmpnum}{\tmpdenom}}}
+ {\def\restmp{\frac{\tmpnum}{\tmpdenom}}}
+ }%
+ }%
+ {%
+ \def\restmp{\restmppi}%
+ }%
+ }%
+ \restmp%
+}
+
%axeOx
\defKV[PLaxextkz]{%
Epaisseur=\def\axexwidth{#1},%
@@ -1583,36 +1617,53 @@
HautGrad=4pt,%
AffGrad=true,%
AffOrigine=true,%
- Annee=false
+ Annee=false,%
+ Dfrac=false,%
+ Trigo=false
}
\DeclareDocumentCommand\AxexTikz{ O{} m }{%
\useKVdefault[PLaxextkz]
\setKV[PLaxextkz]{#1}% on paramètres les nouvelles clés et on les simplifie
- %formatage des années
+ %récupération des tickwidth H/B
\IfSubStr{\axextickwidth}{/}
- {\StrCut{\axextickwidth}{/}{\axextickwidthA}{\axextickwidthB}}
- {\def\axextickwidthA{\axextickwidth}\def\axextickwidthB{\axextickwidth}}
- \foreach \x in {#2}{%
- \draw[line width=\axexwidth] ({\x-\axexOx},{\axextickwidthA}) -- ({\x-\axexOx},{-\axextickwidthB})%
- \ifboolKV[PLaxextkz]{AffGrad}%on affiche les graduations
- {%
- \ifboolKV[PLaxextkz]{AffOrigine}%si on demande d'afficher l'origine
- {node[\axexposlabel,font=\axexfont]
- {\ifboolKV[PLaxextkz]{Annee}%
- {\num[group-digits=none]{\x}}%
- {\num[text-family-to-math=true,text-series-to-math=true]{\x}}%
- }
- }
- {\xintifboolexpr{\x==\axexOx}{}{node[\axexposlabel,font=\axexfont] {\ifboolKV[PLaxextkz]{Annee}%
- {\num[group-digits=none]{\x}}%
- {\num[text-family-to-math=true,text-series-to-math=true]{\x}}%
+ {\StrCut{\axextickwidth}{/}{\axextickwidthA}{\axextickwidthB}}
+ {\def\axextickwidthA{\axextickwidth}\def\axextickwidthB{\axextickwidth}}
+ %en fonction de Trigo ou non
+ \ifboolKV[PLaxextkz]{Trigo}
+ {
+ \foreach \x in {#2}{%
+ \draw[line width=\axexwidth] ({\x-\axexOx},{\axextickwidthA}) -- ({\x-\axexOx},{-\axextickwidthB})%
+ \ifboolKV[PLaxextkz]{AffGrad}%on affiche les graduations
+ {%
+ node[\axexposlabel,font=\axexfont] {\ifboolKV[PLaxextkz]{Dfrac}{$\AffAngleRadian*{\x}$}{$\AffAngleRadian{\x}$}}
+ }%
+ {}%
+ ;}
+ }
+ {
+ \foreach \x in {#2}{%
+ \draw[line width=\axexwidth] ({\x-\axexOx},{\axextickwidthA}) -- ({\x-\axexOx},{-\axextickwidthB})%
+ \ifboolKV[PLaxextkz]{AffGrad}%on affiche les graduations
+ {%
+ \ifboolKV[PLaxextkz]{AffOrigine}%si on demande d'afficher l'origine
+ {node[\axexposlabel,font=\axexfont]
+ {\ifboolKV[PLaxextkz]{Annee}%
+ {\num[group-digits=none]{\x}}%
+ {\num[text-family-to-math=true,text-series-to-math=true]{\x}}%
+ }
+ }
+ {\xintifboolexpr{\x==\axexOx}{}{node[\axexposlabel,font=\axexfont] {\ifboolKV[PLaxextkz]{Annee}%
+ {\num[group-digits=none]{\x}}%
+ {\num[text-family-to-math=true,text-series-to-math=true]{\x}}%
+ }
+ }
}
}
- }
+ {}
+ ;}
}
- {}
- ;}
+
}
%axeOy
diff --git a/macros/latex/contrib/univie-ling/README b/macros/latex/contrib/univie-ling/README
index b67e90aba9..57de3e566b 100644
--- a/macros/latex/contrib/univie-ling/README
+++ b/macros/latex/contrib/univie-ling/README
@@ -97,6 +97,9 @@ also have a look at the example files.
== CHANGES ==
+V. 2.4 (2023-03-31):
+ - univie-ling-paper: fix default ps and se text type.
+
V. 2.3 (2023-01-26):
- univie-ling-poster: new class for scientific posters.
- univie-ling-wlg: Add type option and allow for review articles.
diff --git a/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.bbx b/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.bbx
index bfeff29a08..9dffd636c5 100644
--- a/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.bbx
+++ b/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.bbx
@@ -38,7 +38,7 @@
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesFile{univie-ling.bbx}[2023/01/26 v.2.3 biblatex bibliography style]
+\ProvidesFile{univie-ling.bbx}[2023/03/31 v.2.4 biblatex bibliography style]
% Load base style (authoryear-comp)
\RequireBibliographyStyle{authoryear-comp}
diff --git a/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.cbx b/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.cbx
index 7521c39930..a1617d71af 100644
--- a/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.cbx
+++ b/macros/latex/contrib/univie-ling/biblatex-univie-ling/univie-ling.cbx
@@ -36,7 +36,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\ProvidesFile{univie-ling.cbx}[2023/01/26 v.2.3 biblatex citation style]
+\ProvidesFile{univie-ling.cbx}[2023/03/31 v.2.4 biblatex citation style]
\RequireCitationStyle{authoryear-comp}
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.pdf
index 793ba5ca29..16d3622e11 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-expose-deutsch.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-expose-english.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-expose-english.pdf
index 8561dbb183..0fc933eab6 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-expose-english.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-expose-english.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.pdf
index fa511f10df..51cdff71d1 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-handout-deutsch.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-handout-english.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-handout-english.pdf
index cfb3212738..df801a2e82 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-handout-english.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-handout-english.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.pdf
index 6073da646f..414979d08c 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-paper-deutsch.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-paper-english.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-paper-english.pdf
index cf11061df7..029263939b 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-paper-english.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-paper-english.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-poster-deutsch.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-poster-deutsch.pdf
index 952b6ab687..e0865ede5e 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-poster-deutsch.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-poster-deutsch.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-poster-english.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-poster-english.pdf
index 4f3244cbf7..2f58113d8b 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-poster-english.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-poster-english.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.pdf
index 9014f733e8..374070d7af 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-thesis-deutsch.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.pdf
index 98b71721ce..8d4b50cec6 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-thesis-english.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.pdf
index 9407ed4626..5e7c3de1a0 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-wlg-article.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/templates/template-wlg-review.pdf b/macros/latex/contrib/univie-ling/doc/templates/template-wlg-review.pdf
index db4a283f9d..e71523f535 100644
--- a/macros/latex/contrib/univie-ling/doc/templates/template-wlg-review.pdf
+++ b/macros/latex/contrib/univie-ling/doc/templates/template-wlg-review.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdf
index 2dd39fe11a..b3fd65afb9 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdf
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-expose.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex b/macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex
index cf563d1db1..28c602cf3f 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-expose.tex
@@ -63,7 +63,7 @@
\author{\texorpdfstring{Jürgen Spitzmüller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jürgen Spitzmüller}}
-\date{Version 2.3, 2023/01/26}
+\date{Version 2.4, 2023/03/31}
\maketitle
@@ -341,6 +341,10 @@ Templates are provided as well:
\section{Release History}
\begin{description}
+ \item 2023/03/31 (v.\,2.4)
+ \begin{itemize}
+ \item No change to this class.
+ \end{itemize}
\item 2023/01/26 (v.\,2.3)
\begin{itemize}
\item No change to this class.
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-handout.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling-handout.pdf
index 20f17ea6a2..662260a499 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-handout.pdf
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-handout.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-handout.tex b/macros/latex/contrib/univie-ling/doc/univie-ling-handout.tex
index 9dbf80ad39..c35b731e87 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-handout.tex
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-handout.tex
@@ -63,7 +63,7 @@
\author{\texorpdfstring{Jürgen Spitzmüller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jürgen Spitzmüller}}
-\date{Version 2.3, 2023/01/26}
+\date{Version 2.4, 2023/03/31}
\maketitle
@@ -385,6 +385,10 @@ Templates are provided as well:
\section{Release History}
\begin{description}
+ \item 2023/03/31 (v.\,2.4)
+ \begin{itemize}
+ \item No change to this class.
+ \end{itemize}
\item 2023/01/26 (v.\,2.3)
\begin{itemize}
\item No change to this class.
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdf
index 56f96fde17..60aeed4510 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdf
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-paper.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex b/macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex
index c932b039f2..7b78acec1b 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-paper.tex
@@ -63,7 +63,7 @@
\author{\texorpdfstring{Jürgen Spitzmüller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jürgen Spitzmüller}}
-\date{Version 2.3, 2023/01/26}
+\date{Version 2.4, 2023/03/31}
\maketitle
@@ -374,6 +374,10 @@ Templates are provided as well:
\section{Release History}
\begin{itemize}
+ \item 2023/03/31 (v.\,2.4)
+ \begin{itemize}
+ \item Fix default \joption{ps} and \joption{se} text type.
+ \end{itemize}
\item 2023/01/26 (v.\,2.3)
\begin{itemize}
\item No change to this class.
@@ -395,7 +399,7 @@ Templates are provided as well:
\end{itemize}
\item 2022/09/08 (v.\,1.20)
\begin{itemize}
- \item Load \textsf{varioref} AtBeginDocument.
+ \item Load \textsf{varioref} \jfcsmacro{AtBeginDocument}.
\end{itemize}
\item 2022/06/18 (v.\,1.19)
\begin{itemize}
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-poster.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling-poster.pdf
index 57c4501d12..fc8b6663e6 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-poster.pdf
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-poster.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-poster.tex b/macros/latex/contrib/univie-ling/doc/univie-ling-poster.tex
index fd789e5e24..4c78545c2d 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-poster.tex
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-poster.tex
@@ -65,7 +65,7 @@
\author{\texorpdfstring{Jürgen Spitzmüller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jürgen Spitzmüller}}
-\date{Version 2.3, 2023/01/26}
+\date{Version 2.4, 2023/03/31}
\maketitle
@@ -498,6 +498,10 @@ Templates are provided as well:
\section{Release History}
\begin{description}
+ \item 2023/03/31 (v.\,2.4)
+ \begin{itemize}
+ \item No change to this class.
+ \end{itemize}
\item 2023/01/26 (v.\,2.3)
\begin{itemize}
\item Initial release.
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdf
index bed1962efe..e91bb21ee7 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdf
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex b/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex
index 994f351164..5680490e7e 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-thesis.tex
@@ -59,7 +59,7 @@
\author{\texorpdfstring{Jürgen Spitzmüller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jürgen Spitzmüller}}
-\date{Version 2.3, 2023/01/26}
+\date{Version 2.4, 2023/03/31}
\maketitle
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdf
index fea6295a49..13c4c8e24d 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdf
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex b/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex
index f0e54ecd0a..5dedae5b72 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling-wlg.tex
@@ -59,7 +59,7 @@
\author{\texorpdfstring{Jürgen Spitzmüller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jürgen Spitzmüller}}
-\date{Version 2.3, 2023/01/26}
+\date{Version 2.4, 2023/03/31}
\maketitle
@@ -247,6 +247,10 @@ A template is provided as well: \url{https://github.com/jspitz/univie-ling/raw/m
\raggedright
\begin{itemize}
+ \item 2023/03/31 (v.\,2.4)
+ \begin{itemize}
+ \item No change to this class.
+ \end{itemize}
\item 2023/01/26 (v.\,2.3)
\begin{itemize}
\item Add \joption{type} option and allow for review articles.
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling.pdf b/macros/latex/contrib/univie-ling/doc/univie-ling.pdf
index 8817a4d6f0..2452df688b 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling.pdf
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling.pdf
Binary files differ
diff --git a/macros/latex/contrib/univie-ling/doc/univie-ling.tex b/macros/latex/contrib/univie-ling/doc/univie-ling.tex
index 63340e482a..a3d9e05db9 100644
--- a/macros/latex/contrib/univie-ling/doc/univie-ling.tex
+++ b/macros/latex/contrib/univie-ling/doc/univie-ling.tex
@@ -42,7 +42,7 @@
\author{\texorpdfstring{Jürgen Spitzmüller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/univie-ling}.}}{Jürgen Spitzmüller}}
-\date{Version 2.3, 2023/01/26}
+\date{Version 2.4, 2023/03/31}
\maketitle
diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-expose.cls b/macros/latex/contrib/univie-ling/tex/univie-ling-expose.cls
index 32529980b2..c372c01a38 100644
--- a/macros/latex/contrib/univie-ling/tex/univie-ling-expose.cls
+++ b/macros/latex/contrib/univie-ling/tex/univie-ling-expose.cls
@@ -33,7 +33,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{univie-ling-expose}[2023/01/26 v.2.3 Univie Linguistic Exposes (JSp)]
+\ProvidesPackage{univie-ling-expose}[2023/03/31 v.2.4 Univie Linguistic Exposes (JSp)]
%% ============================================================
diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-handout.cls b/macros/latex/contrib/univie-ling/tex/univie-ling-handout.cls
index 5d801959b9..7c7a8ff1da 100644
--- a/macros/latex/contrib/univie-ling/tex/univie-ling-handout.cls
+++ b/macros/latex/contrib/univie-ling/tex/univie-ling-handout.cls
@@ -35,7 +35,7 @@
\NeedsTeXFormat{LaTeX2e}[1997/06/01]
-\ProvidesClass{univie-ling-handout}[2023/01/26 v.2.3 Univie Ling handout class (JSp)]
+\ProvidesClass{univie-ling-handout}[2023/03/31 v.2.4 Univie Ling handout class (JSp)]
%% ============================================================
%% CLASS OPTIONS
diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls b/macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls
index 536725e004..289315beb8 100644
--- a/macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls
+++ b/macros/latex/contrib/univie-ling/tex/univie-ling-paper.cls
@@ -32,7 +32,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{univie-ling-paper}[2023/01/26 v.2.3 Univie Linguistic Papers (JSp)]
+\ProvidesPackage{univie-ling-paper}[2023/03/31 v.2.4 Univie Linguistic Papers (JSp)]
%% ============================================================
@@ -360,7 +360,7 @@ This includes all drawings, sketches, graphics and internet sources.}
% se
\def\lectypeverb@se{Seminar}
\def\lectype@se{SE}
-\def\texttype@ps{Seminararbeit}
+\def\texttype@se{Seminararbeit}
% ue
\def\lectypeverb@ue{\"Ubung}
\def\lectype@ue{UE}
diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-poster.cls b/macros/latex/contrib/univie-ling/tex/univie-ling-poster.cls
index 7a688b7f79..bb54e614ae 100644
--- a/macros/latex/contrib/univie-ling/tex/univie-ling-poster.cls
+++ b/macros/latex/contrib/univie-ling/tex/univie-ling-poster.cls
@@ -34,7 +34,7 @@
\NeedsTeXFormat{LaTeX2e}[1997/06/01]
-\ProvidesClass{univie-ling-poster}[2023/01/26 v.2.3 Univie Ling poster class (JSp)]
+\ProvidesClass{univie-ling-poster}[2023/03/31 v.2.4 Univie Ling poster class (JSp)]
%% ============================================================
%% CLASS OPTIONS
diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls b/macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls
index 527914a7de..87bd736880 100644
--- a/macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls
+++ b/macros/latex/contrib/univie-ling/tex/univie-ling-thesis.cls
@@ -33,7 +33,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{univie-ling-thesis}[2023/01/26 v.2.3 Univie Linguistic Theses (JSp)]
+\ProvidesPackage{univie-ling-thesis}[2023/03/31 v.2.4 Univie Linguistic Theses (JSp)]
%% ============================================================
diff --git a/macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls b/macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls
index 3d1e9816e3..d5a399fec8 100644
--- a/macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls
+++ b/macros/latex/contrib/univie-ling/tex/univie-ling-wlg.cls
@@ -34,7 +34,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{univie-ling-wlg}[2023/01/26 v.2.3 Univie WLG journal layout (JSp)]
+\ProvidesPackage{univie-ling-wlg}[2023/03/31 v.2.4 Univie WLG journal layout (JSp)]
%% ============================================================