summaryrefslogtreecommitdiff
path: root/macros/latex/contrib
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-02-08 03:02:17 +0000
committerNorbert Preining <norbert@preining.info>2020-02-08 03:02:17 +0000
commit9fe464819ed0a8c536f116bb55dbd39dd32cd904 (patch)
tree4da49a3397885cfdfd31ef803d0ce9dffd5e808b /macros/latex/contrib
parent9c4a09ca6a4130e71ba545412319aaee3c618460 (diff)
CTAN sync 202002080302
Diffstat (limited to 'macros/latex/contrib')
-rw-r--r--macros/latex/contrib/letterswitharrows/README.txt (renamed from macros/latex/contrib/letterswitharrows/README)2
-rw-r--r--macros/latex/contrib/letterswitharrows/letterswitharrows.dtx101
-rw-r--r--macros/latex/contrib/letterswitharrows/letterswitharrows.pdfbin454076 -> 455408 bytes
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix-french.pdfbin311089 -> 312439 bytes
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix-french.tex43
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix.dtx230
-rw-r--r--macros/latex/contrib/nicematrix/nicematrix.pdfbin690785 -> 693305 bytes
-rw-r--r--macros/latex/contrib/verifica/README4
-rw-r--r--macros/latex/contrib/verifica/example1.pdfbin154153 -> 154466 bytes
-rw-r--r--macros/latex/contrib/verifica/example1.tex2
-rw-r--r--macros/latex/contrib/verifica/example2.pdfbin103941 -> 104112 bytes
-rw-r--r--macros/latex/contrib/verifica/example2.tex2
-rw-r--r--macros/latex/contrib/verifica/example3.pdfbin82049 -> 82320 bytes
-rw-r--r--macros/latex/contrib/verifica/example3.tex2
-rw-r--r--macros/latex/contrib/verifica/example4.pdfbin126081 -> 126244 bytes
-rw-r--r--macros/latex/contrib/verifica/example4.tex2
-rw-r--r--macros/latex/contrib/verifica/example5.pdfbin86798 -> 86894 bytes
-rw-r--r--macros/latex/contrib/verifica/example5.tex2
-rw-r--r--macros/latex/contrib/verifica/verifica-template.tex2
-rw-r--r--macros/latex/contrib/verifica/verifica.dtx101
-rw-r--r--macros/latex/contrib/verifica/verifica.pdfbin854454 -> 865107 bytes
21 files changed, 345 insertions, 148 deletions
diff --git a/macros/latex/contrib/letterswitharrows/README b/macros/latex/contrib/letterswitharrows/README.txt
index 51234229b3..41ebce705d 100644
--- a/macros/latex/contrib/letterswitharrows/README
+++ b/macros/latex/contrib/letterswitharrows/README.txt
@@ -1,5 +1,5 @@
The letterswitharrows package
-Copyright 2019 J. M. Teegen
+Copyright 2019-2020 J. M. Teegen
The letterswitharrows package does provides LaTeX math-mode commands for setting left and right arrows over mathematical symbols, so that the arrows dynamically scale with the symbols.
While it is possible to set arrows over longer strings of symbols, the focus lies on single characters.
diff --git a/macros/latex/contrib/letterswitharrows/letterswitharrows.dtx b/macros/latex/contrib/letterswitharrows/letterswitharrows.dtx
index 43753176eb..8d54dd6294 100644
--- a/macros/latex/contrib/letterswitharrows/letterswitharrows.dtx
+++ b/macros/latex/contrib/letterswitharrows/letterswitharrows.dtx
@@ -1,7 +1,7 @@
% \iffalse meta-comment
%
%% File: letterswitharrows.dtx
-%% Copyright 2019 J. Maximilian Teegen
+%% Copyright 2019-2020 J. Maximilian Teegen
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -54,15 +54,16 @@
% \title{The \pkg{letterswitharrows} package}
% \author{Max Teegen\\ \href{mailto:tex@jmteegen.eu}{tex@jmteegen.eu}}
-% \date{2019/11/21}
+% \date{Released 2020-02-04}
% \maketitle
% \begin{documentation}
-% This package does provides math-mode commands for setting left and right arrows over mathematical symbols, so that the arrows dynamically scale with the symbols.
+% This package provides math-mode commands for setting left and right arrows over mathematical symbols, so that the arrows dynamically scale with the symbols.
% Here is a sample: {\large\[
% \vs \le \tv \in \vec{U_{\mathrlap\vr}} \qquad \left\vert \vec{AB} \right\vert = \left\vert \cev{AB} \right\vert \qquad A \mathrel{\arrowoverset*[-2mu]{\between}} B
-% \]} % Somehow embellishments don't work in the documentation!?
+% \]}
+% \iffalse Somehow embellishments don't work in the documentation!? \fi
% While it is possible to set arrows over longer strings of symbols, the focus lies on single characters.
%
% Only \textsc{pdf} output is supported. Output to \textsc{ps} is implemented, but rarely tested.
@@ -132,7 +133,7 @@
% \subsection{Other package options}
% \DescribeOption{pgf}
-% If you specify the \verb|pgf| option, every arrow is drawn as a \verb|pgfpicture|. This requires the \pkg{pgf} package, and slow in its current implementation.
+% If you specify the \verb|pgf| option, every arrow is drawn as a \verb|pgfpicture|. This requires the \pkg{pgf} package.
% \begin{texnote}
% You can set up custom arrow drawing code by redefining \cs{__jmt_lwa_arrow_draw:nnn}.
% The command is expected to draw an arrow with its head at the current position. Its length should be \verb|#1| and it should be drawn at a font size of \verb|#2|pt.
@@ -141,7 +142,8 @@
% \DescribeOption{tweaks}
% Specifying the \verb|tweaks| option applies per-letter scaling adjustments to some of the single-letter shorthands. This is enabled by default.
-% These are specific to Latin Modern Math and subject to be changed on a whim. If you wish a more stable behaviour specify \verb|tweaks=false|
+% These are specific to Latin Modern Math and subject to be changed on a whim. If you wish a more stable behaviour specify \verb|tweaks=false|.
+% This documentation uses \verb|tweaks=false|.
% \end{documentation}
% \begin{implementation}
@@ -151,7 +153,7 @@
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
-\ProvidesExplPackage {letterswitharrows} {2019-11-21} {} {Draw arrows over math letters.}
+\ProvidesExplPackage {letterswitharrows} {2020-02-04} {} {Draw arrows over math letters.}
\RequirePackage{xparse,l3keys2e,mathtools}
% TODO: I just use mathtools for mathrlap; replace.
@@ -285,20 +287,27 @@
% \end{macro}
% \begin{macro}{\@@_arrow_overset:w,\arrowoverset}
+% \changes{2019/02/04}{2019/02/04}{Subscript spacing adjustments}
% \begin{macrocode}
\cs_new_protected:Npn \@@_arrow_overset:w {
\c_group_begin_token
\__@@_arrow_overset_aux:w
}
+\cs_new:Nn \__jmt_lwa_bool_convert:n {
+ \IfBooleanTF {#1} {\c_true_bool} {\c_false_bool}
+}
+
% This exp_args is necessary because _ generates the wrong token in expl3 syntax
\exp_args:NNx \NewDocumentCommand \__@@_arrow_overset_aux:w
{s O{0mu} O{1} O{0ex} m t' e{\char_generate:nn {95}{8}} t'} {
\__@@_arrow_overset:nnnnn
{
#5
- \c_math_superscript_token {
- \scriptscriptstyle\IfBooleanT{#6}{\prime}\IfBooleanT{#8}{\prime}
+ \exp_args:Nf\bool_if:nT{\__jmt_lwa_bool_convert:n{#6} || \__jmt_lwa_bool_convert:n{#8}} {
+ \c_math_superscript_token {
+ \scriptscriptstyle\IfBooleanT{#6}{\prime}\IfBooleanT{#8}{\prime}
+ }
} % TODO: Better positioning etc?
\exp_args:Nf\IfValueT{\use:n#7} {
\c_math_subscript_token {
@@ -311,7 +320,7 @@
\exp_args:Nf\IfValueTF{\use:n#7}{
% TODO: Better way to do this? This is all kinds of wrong.
- \hphantom{\!\c_math_subscript_token{#7}}
+ \hphantom{\c_math_subscript_token{#7}}
} {}
\c_group_end_token
}
@@ -431,21 +440,67 @@
% \end{macrocode}
% \end{macro}
% Some personal-preference tweaks.
+% \changes{2019/02/04}{2019/02/04}{Tweaks for capital letters.}
% \begin{macrocode}
\bool_if:NTF \g_@@_tweak_shortcuts_bool {
- \prop_if_in:NnTF \g_@@_selected_presets_prop {ABC} {
- \cs_set:cpn {vS} {
- \@@_arrow_overset:w[2mu][8/10]{S}
- }
- } {}
- \prop_if_in:NnTF \g_@@_selected_presets_prop {abc} {
- \cs_new:cpn {vell} {
- \@@_arrow_overset:w{\ell}
- }
- \cs_new:cpn {ellv} {
- \@@_arrow_overset:w{\ell}
- }
- } {}
+ \prop_if_in:NnTF \g_@@_selected_presets_prop {ABC} {
+ \int_step_inline:nnn {1} {26} {
+ \cs_set:cpx {v\int_to_Alph:n{#1}} {
+ \exp_not:N\@@_arrow_overset:w[2.5mu][8/10]{\int_to_Alph:n{#1}}
+ }
+ \cs_set:cpx {\int_to_Alph:n{#1}v} {
+ \exp_not:N\@@_arrow_overset:w*[2.5mu][7/10]{\int_to_Alph:n{#1}}
+ }
+ }
+ \cs_set:cpn {vS} {
+ \@@_arrow_overset:w[3mu][7/10]{S}
+ }
+ \cs_set:cpn {vT} {
+ \__jmt_lwa_arrow_overset:w[2mu][8/10]{T}
+ }
+ \cs_set:cpn {Tv} {
+ \__jmt_lwa_arrow_overset:w*[1mu][8/10]{T}
+ }
+ \cs_set:cpn {vU} {
+ \__jmt_lwa_arrow_overset:w[2mu][7/10]{U}
+ }
+ \cs_set:cpn {Uv} {
+ \__jmt_lwa_arrow_overset:w*[2mu][7/10]{U}
+ }
+ \cs_set:cpn {vV} {
+ \__jmt_lwa_arrow_overset:w[2.5mu][7/10]{V}
+ }
+ \cs_set:cpn {Vv} {
+ \__jmt_lwa_arrow_overset:w*[2mu][7/10]{V}
+ }
+ \cs_set:cpn {vX} {
+ \@@_arrow_overset:w[3mu][7/10]{X}
+ }
+ \cs_set:cpn {vY} {
+ \@@_arrow_overset:w[2mu][8/10]{Y}
+ }
+ \cs_set:cpn {Yv} {
+ \__jmt_lwa_arrow_overset:w*[2mu][7/10]{Y}
+ }
+ } {}
+ \prop_if_in:NnTF \g_@@_selected_presets_prop {cAcBcC} {
+ \int_step_inline:nnn {1} {26} {
+ \cs_set:cpx {vc\int_to_Alph:n{#1}} {
+ \exp_not:N\@@_arrow_overset:w[1mu][9/10]{\exp_not:N\mathcal{\int_to_Alph:n{#1}}}
+ }
+ \cs_set:cpx {c\int_to_Alph:n{#1}v} {
+ \exp_not:N\@@_arrow_overset:w*[1.5mu][8/10]{\exp_not:N\mathcal{\int_to_Alph:n{#1}}}
+ }
+ }
+ } {}
+ \prop_if_in:NnTF \g_@@_selected_presets_prop {abc} {
+ \cs_new:cpn {vell} {
+ \@@_arrow_overset:w{\ell}
+ }
+ \cs_new:cpn {ellv} {
+ \@@_arrow_overset:w{\ell}
+ }
+ } {}
} {}
% \end{macrocode}
% \end{implementation}
diff --git a/macros/latex/contrib/letterswitharrows/letterswitharrows.pdf b/macros/latex/contrib/letterswitharrows/letterswitharrows.pdf
index b165b390b9..89edac5862 100644
--- a/macros/latex/contrib/letterswitharrows/letterswitharrows.pdf
+++ b/macros/latex/contrib/letterswitharrows/letterswitharrows.pdf
Binary files differ
diff --git a/macros/latex/contrib/nicematrix/nicematrix-french.pdf b/macros/latex/contrib/nicematrix/nicematrix-french.pdf
index 45b40e96ba..31d18ea42e 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 c4324295c3..05af9a1b73 100644
--- a/macros/latex/contrib/nicematrix/nicematrix-french.tex
+++ b/macros/latex/contrib/nicematrix/nicematrix-french.tex
@@ -514,7 +514,7 @@ L'extension \pkg{nicematrix} fournit une option appelée |transparent| qui perme
manière transparente dans les environnements de l'\pkg{amsmath} : |{matrix}|, |{pmatrix}|, etc. En fait, cette
option est un alias pour la conjonction de deux options : |renew-dots| et |renew-matrix|.\footnote{Comme toutes les
autres options, les options |renew-dots|, |renew-matrix| et |transparent| peuvent être fixées avec la commande
- |\NiceMatrixOptions|, mais elles peuvent aussi être passées en options du |\usepackage| (ce sont les trois
+ |\NiceMatrixOptions|, mais elles peuvent aussi être passées en option du |\usepackage| (ce sont les trois
seules).}
\smallskip
@@ -1215,7 +1215,9 @@ d'un rectangle de cases fusionnées.
La commande |\Block| doit être utilisée dans la case supérieure gauche du bloc avec deux arguments. Le premier
argument est la taille de ce bloc avec la syntaxe $i$-$j$ où $i$ est le nombre de rangées et $j$ le nombre de
-colonnes du bloc. Le deuxième argument, est, sans surprise, le contenu du bloc (en mode mathématique).
+colonnes du bloc. Le deuxième argument, est, sans surprise, le contenu du bloc (en mode mathématique). Un nœud Tikz
+correspondant à l'ensemble des cellules fusionnées est créé sous le nom «\textsl{nom}-$i$-$j$» où \textsl{nom} est
+le nom donné au tableau.
\medskip
\begin{BVerbatim}[baseline=c,boxwidth=10.6cm]
@@ -1379,7 +1381,7 @@ $C = \pAutoNiceMatrix{3-3}{C_{\arabic{iRow},\arabic{jCol}}}$
Dans les environnements de \pkg{nicematrix}, on peut bien entendu ajouter des filets horizontaux entre les lignes
avec la commande~|\hline|. Par souci de commodité, l'extension \pkg{nicematrix} fournit l'option |hlines| qui impose
-directement que tous les filets horizontaux soient tracés (à l'exception, très naturelle, du filet avanet
+directement que tous les filets horizontaux soient tracés (à l'exception, très naturelle, du filet avant
l'éventuelle «première rangée» et après l'éventuelle «dernière rangée»).
\medskip
@@ -1668,7 +1670,7 @@ l'environnement |{array}| n'était probablement pas une bonne idée\footnote{Dan
remove it [in |{matrix}|] (perhaps we should instead remove it from array in general, but that's a harder
task).} Il est possible de supprimer les espaces pour un environnement |{array}| donné par une construction du
type |\begin{array}{@{}ccccc@{}}...\end{array}|.}. L'environnement |{matrix}| et ses variantes (|{pmatrix}|,
-|{vmatrix}|, etc.) de \pkg{amsmath} prefèrent supprimer ces espaces avec des instructions explicites
+|{vmatrix}|, etc.) de \pkg{amsmath} préfèrent supprimer ces espaces avec des instructions explicites
|\hskip -\arraycolsep|. L'extension \pkg{nicematrix} fait de même dans \emph{tous} ses environnements y compris
l'environnement |{NiceArray}|. Néanmoins, si l'utilisateur souhaite que l'environnement |{NiceArray}| se comporte
par défaut comme l'environnement |{array}| de \pkg{array} (par exemple pour faciliter l'adaptation d'un document
@@ -2157,6 +2159,35 @@ les \emph{blend modes}. Néanmoins, le code suivant, dans le préambule du docum
\end{scope}
\vspace{1cm}
+On rappelle que dans le cas d'un ensemble de cellules fusionnées (avec la commande |\Block|), un nœud Tikz est créé
+pour l'ensemble des cellules avec pour nom $i$|-|$j$ où $i$ et $j$ sont les numéros de ligne et de colonne de
+la cellule en haut à gauche (où a été utilisée la commande |\Block|).
+
+\medskip
+\begin{BVerbatim}[baseline=c,boxwidth=11.6cm]
+$\begin{pNiceMatrix}%
+ [margin,
+ code-after = { \tikz \node [~emphase#highlight = (1-1)@] {} ; } ]
+\Block{3-3}<\Large>{A} & & & 0 \\
+& \hspace*{1cm} & & \Vdots \\
+& & & 0 \\
+0 & \Cdots& 0 & 0
+\end{pNiceMatrix}$
+\end{BVerbatim}
+$\begin{pNiceMatrix}%
+ [margin,
+ code-after = { \tikz \node [highlight = (1-1)] {} ; } ]
+\Block{3-3}<\Large>{A} & & & 0 \\
+& \hspace*{1cm} & & \Vdots \\
+& & & 0 \\
+0 & \Cdots& 0 & 0
+\end{pNiceMatrix}$
+
+
+
+
+
+\vspace{1cm}
On considère maintenant la matrice suivante que l'on a appelée |exemple|.
\medskip
@@ -2331,7 +2362,7 @@ b_{11} & \Cdots & b_{1j} & \Cdots & b_{1n} \\
La matrice $A$ a une «première colonne» (pour $L_i$) d'où l'option |first-col|.
\begin{Verbatim}
\begin{bNiceArray}{CC>{\strut}CCC}[name=A,first-col]
- & a_{11} & \Cdots & & & a_{nn} \\
+ & a_{11} & \Cdots & & & a_{1n} \\
& \Vdots & & & & \Vdots \\
L_i & a_{i1} & \Cdots & a_{ik} & \Cdots & a_{in} \\
& \Vdots & & & & \Vdots \\
@@ -2376,7 +2407,7 @@ b_{11} & \Cdots & b_{1j} & \Cdots & b_{1n} \\
b_{n1} & \Cdots & b_{nj} & \Cdots & b_{nn}
\end{bNiceArray} \\ \\
\begin{bNiceArray}{CC>{\strut}CCC}[name=A,first-col]
- & a_{11} & \Cdots & & & a_{nn} \\
+ & a_{11} & \Cdots & & & a_{1n} \\
& \Vdots & & & & \Vdots \\
L_i & a_{i1} & \Cdots & a_{ik} & \Cdots & a_{in} \\
& \Vdots & & & & \Vdots \\
diff --git a/macros/latex/contrib/nicematrix/nicematrix.dtx b/macros/latex/contrib/nicematrix/nicematrix.dtx
index bbbc805d70..2752f0dd6f 100644
--- a/macros/latex/contrib/nicematrix/nicematrix.dtx
+++ b/macros/latex/contrib/nicematrix/nicematrix.dtx
@@ -15,8 +15,8 @@
%
% \fi
% \iffalse
-\def\myfileversion{3.10}
-\def\myfiledate{2020/01/22}
+\def\myfileversion{3.11}
+\def\myfiledate{2020/02/07}
%
%
%<*batchfile>
@@ -1267,8 +1267,8 @@ c & c & b & a & e
% two arguments. The first argument is the size of the block with the syntax
% $i$\verb|-|$j$ where $i$ is the number of rows of the block and $j$ its number
% of columns. The second argument is the content of the block (composed in math
-% mode).
-%
+% mode). A Tikz node corresponding to the merged cells is created with the name
+% ``\textsl{name}-$i$-$j$'' where \textsl{name} is the name given to the array.
%
%
% \medskip
@@ -2248,6 +2248,31 @@ c & c & b & a & e
%
% |\ExplSyntaxOff|
% \end{scope}
+%
+% \vspace{1cm}
+% We recall that, for a rectangle of merged cells (with the command |\Block|), a
+% Tikz node is created for the set of merged cells with the name $i$|-|$j$ where
+% $i$ and $j$ are the number of the row and the number of the column of the
+% upper left cell (where the command |\Block| has been issued).
+%
+% \medskip
+% \begin{BVerbatim}[baseline=c,boxwidth=11.6cm]
+% $\begin{pNiceMatrix}%
+% [margin,
+% code-after = { \tikz \node [~emphase#highlight = (1-1)@] {} ; } ]
+% \Block{3-3}<\Large>{A} & & & 0 \\
+% & \hspace*{1cm} & & \Vdots \\
+% & & & 0 \\
+% 0 & \Cdots& 0 & 0
+% \end{pNiceMatrix}$
+% \end{BVerbatim}
+% $\begin{pNiceMatrix}[margin,
+% code-after = { \tikz \node [highlight = (1-1)] {} ; } ]
+% \Block{3-3}<\Large>{A} & & & 0 \\
+% & \hspace*{1cm} & & \Vdots \\
+% & & & 0 \\
+% 0 & \Cdots& 0 & 0
+% \end{pNiceMatrix}$
%
% \vspace{1cm}
% Considerer now the following matrix which we have named |example|.
@@ -2432,7 +2457,7 @@ c & c & b & a & e
% key |first-col|.
% \begin{Verbatim}
% \begin{bNiceArray}{CC>{\strut}CCC}[name=A,first-col]
-% & a_{11} & \Cdots & & & a_{nn} \\
+% & a_{11} & \Cdots & & & a_{1n} \\
% & \Vdots & & & & \Vdots \\
% L_i & a_{i1} & \Cdots & a_{ik} & \Cdots & a_{in} \\
% & \Vdots & & & & \Vdots \\
@@ -2477,7 +2502,7 @@ c & c & b & a & e
% b_{n1} & \Cdots & b_{nj} & \Cdots & b_{nn}
% \end{bNiceArray} \\ \\
% \begin{bNiceArray}{CC>{\strut}CCC}[name=A,first-col]
-% & a_{11} & \Cdots & & & a_{nn} \\
+% & a_{11} & \Cdots & & & a_{1n} \\
% & \Vdots & & & & \Vdots \\
% L_i & a_{i1} & \Cdots & a_{ik} & \Cdots & a_{in} \\
% & \Vdots & & & & \Vdots \\
@@ -2548,7 +2573,7 @@ c & c & b & a & e
{nicematrix}
{\myfiledate}
{\myfileversion}
- {Several features to improve the typesetting of mathematical matrices with TikZ}
+ {Mathematical matrices with TikZ}
% \end{macrocode}
%
% \bigskip
@@ -3429,8 +3454,8 @@ c & c & b & a & e
% |\l_@@_code_for_first_row_tl| and \emph{al} don't apply in the corners of the
% matrix.
% \begin{macrocode}
- \int_compare:nNnTF \c@iRow = \c_zero_int
- { \int_compare:nNnT \c@jCol > \c_zero_int \l_@@_code_for_first_row_tl }
+ \int_compare:nNnTF \c@iRow = 0
+ { \int_compare:nNnT \c@jCol > 0 \l_@@_code_for_first_row_tl }
{
\int_compare:nNnT \c@iRow = \l_@@_last_row_int
\l_@@_code_for_last_row_tl
@@ -3447,8 +3472,8 @@ c & c & b & a & e
{
\int_gincr:N \c@iRow
\dim_gset_eq:NN \g_@@_dp_ante_last_row_dim \g_@@_dp_last_row_dim
- \dim_gzero:N \g_@@_dp_last_row_dim
- \dim_gzero:N \g_@@_ht_last_row_dim
+ \dim_gset:Nn \g_@@_dp_last_row_dim { \box_dp:N \@arstrutbox }
+ \dim_gset:Nn \g_@@_ht_last_row_dim { \box_ht:N \@arstrutbox }
}
% \end{macrocode}
%
@@ -3460,7 +3485,7 @@ c & c & b & a & e
% \begin{macrocode}
\cs_new_protected:Npn \@@_actualization_for_first_and_last_row:
{
- \int_compare:nNnT \c@iRow = \c_zero_int
+ \int_compare:nNnT \c@iRow = 0
{
\dim_gset:Nn \g_@@_dp_row_zero_dim
{ \dim_max:nn \g_@@_dp_row_zero_dim { \box_dp:N \l_tmpa_box } }
@@ -3549,11 +3574,11 @@ c & c & b & a & e
{
> {
\hbox_set:Nw \l_tmpa_box
- \_@@_Cell:
+ \@@_Cell:
}
c
< {
- \_@@_end_Cell:
+ \@@_end_Cell:
\hbox_set_end:
#2
\tikz [ remember~picture ]
@@ -3774,7 +3799,6 @@ c & c & b & a & e
\dim_gzero_new:N \g_@@_ht_row_one_dim
\dim_gset:Nn \g_@@_ht_row_one_dim { \box_ht:N \@arstrutbox }
\dim_gzero_new:N \g_@@_dp_ante_last_row_dim
- \dim_gset:Nn \g_@@_dp_ante_last_row_dim { \box_dp:N \@arstrutbox }
\dim_gzero_new:N \g_@@_ht_last_row_dim
\dim_gset:Nn \g_@@_ht_last_row_dim { \box_ht:N \@arstrutbox }
\dim_gzero_new:N \g_@@_dp_last_row_dim
@@ -4095,7 +4119,7 @@ c & c & b & a & e
% We construct the preamble of the array in |\l_tmpa_tl|.
% \begin{macrocode}
\tl_set:Nn \l_tmpa_tl { #4 }
- \int_compare:nNnTF \l_@@_first_col_int = \c_zero_int
+ \int_compare:nNnTF \l_@@_first_col_int = 0
{ \tl_put_left:NV \l_tmpa_tl \c_@@_preamble_first_col_tl }
{
\bool_if:NT \l_@@_NiceArray_bool
@@ -4142,7 +4166,7 @@ c & c & b & a & e
% Now, the box containing the array is constructed (in |\l_@@_the_array_box|).
% However, we have some computations to do before inserting that box in the TeX
% flow (mainly because the exterior columns are in overlapping positions).
-%
+%
% \bigskip
% \begin{macrocode}
\int_compare:nNnT \l_@@_last_row_int > { -2 }
@@ -4155,42 +4179,17 @@ c & c & b & a & e
\int_gset_eq:NN \l_@@_last_row_int \c@iRow
}
}
- }
-% \end{macrocode}
-%
-% Now, we compute |\l_tmpa_dim| which is the vertical dimension of the ``first
-% row'' above the array (when the key |first-row| is used).
-% \begin{macrocode}
- \int_compare:nNnTF \l_@@_first_row_int = \c_zero_int
- {
- \dim_set:Nn \l_tmpa_dim
- { \g_@@_dp_row_zero_dim + \lineskip + \g_@@_ht_row_zero_dim }
- }
- { \dim_zero:N \l_tmpa_dim }
-% \end{macrocode}
-% We compute |\l_tmpb_dim| which is the vertical dimension of the ``last row''
-% below the array (when the key |last-row| is used). A value of $-2$ for
-% |\l_@@_last_row_int| means that there is no ``last row''.\footnote{A value of
-% $-1$ for |\l_@@_last_row_int| means that there is a ``last row'' but the
-% number of that row is unknown (the user have not set the value with the option
-% |last row|).}
-% \begin{macrocode}
- \int_compare:nNnTF \l_@@_last_row_int > { -2 }
- {
- \dim_set:Nn \l_tmpb_dim
- { \g_@@_ht_last_row_dim + \lineskip + \g_@@_dp_last_row_dim }
- }
- { \dim_zero:N \l_tmpb_dim }
+ }
% \end{macrocode}
%
% \bigskip
-% Now, we begin the real construction in the output flow of TeX. First, we take
+% \textbf{Now, we begin the real construction in the output flow of TeX}. First, we take
% into account a potential ``first column'' (we remind that this ``first
% column'' has been constructed in an overlapping position and that we have
% computed its width in |\g_@@_width_first_col_dim|: see
% p.~\pageref{overlap-left}).
% \begin{macrocode}
- \int_compare:nNnT \l_@@_first_col_int = \c_zero_int
+ \int_compare:nNnT \l_@@_first_col_int = 0
{
\skip_horizontal:n \arraycolsep
\skip_horizontal:n \g_@@_width_first_col_dim
@@ -4204,13 +4203,12 @@ c & c & b & a & e
% \begin{macrocode}
\bool_if:NTF \l_@@_NiceArray_bool
{
- \int_compare:nNnT \l_@@_first_row_int = \c_zero_int
+ \int_compare:nNnTF \l_@@_first_row_int = 0
{
- \str_if_eq:VnTF \l_@@_pos_env_str { t }
- {
- \box_move_up:nn
- { \l_tmpa_dim - \g_@@_ht_row_zero_dim + \g_@@_ht_row_one_dim }
- }
+ \str_if_eq:VnT \l_@@_pos_env_str { t }
+ {
+ \box_move_up:nn { \g_@@_dp_row_zero_dim + \g_@@_ht_row_one_dim }
+ }
}
{
\int_compare:nNnT \l_@@_last_row_int > 0
@@ -4218,10 +4216,7 @@ c & c & b & a & e
\str_if_eq:VnT \l_@@_pos_env_str { b }
{
\box_move_down:nn
- {
- \l_tmpb_dim
- - \g_@@_dp_last_row_dim + \g_@@_dp_ante_last_row_dim
- }
+ { \g_@@_ht_last_row_dim + \g_@@_dp_ante_last_row_dim }
}
}
}
@@ -4229,9 +4224,34 @@ c & c & b & a & e
}
% \end{macrocode}
%
-% Now, in the case of an environment |{pNiceArray}|, |{bNiceArray}|, etc.
+% Now, in the case of an environment |{pNiceArray}|, |{bNiceArray}|, etc. We
+% compute |\l_tmpa_dim| which is the total height of the ``first row'' above the
+% array (when the key |first-row| is used).
% \begin{macrocode}
{
+ \int_compare:nNnTF \l_@@_first_row_int = 0
+ {
+ \dim_set:Nn \l_tmpa_dim
+ { \g_@@_dp_row_zero_dim + \g_@@_ht_row_zero_dim }
+ }
+ { \dim_zero:N \l_tmpa_dim }
+% \end{macrocode}
+% We compute |\l_tmpb_dim| which is the total height of the ``last row''
+% below the array (when the key |last-row| is used). A value of $-2$ for
+% |\l_@@_last_row_int| means that there is no ``last row''.\footnote{A value of
+% $-1$ for |\l_@@_last_row_int| means that there is a ``last row'' but the
+% number of that row is unknown (the user have not set the value with the option
+% |last row|).}
+% \begin{macrocode}
+ \int_compare:nNnTF \l_@@_last_row_int > { -2 }
+ {
+ \dim_set:Nn \l_tmpb_dim
+ { \g_@@_ht_last_row_dim + \g_@@_dp_last_row_dim }
+ }
+ { \dim_zero:N \l_tmpb_dim }
+% \end{macrocode}
+%
+% \begin{macrocode}
\hbox_set:Nn \l_tmpa_box
{
\c_math_toggle_token
@@ -4239,8 +4259,8 @@ c & c & b & a & e
\vcenter
{
% \end{macrocode}
-% We take into account the ``first row'' (we have previously computed its size
-% in |\l_tmpa_dim|).
+% We take into account the ``first row'' (we have previously computed its total
+% height in |\l_tmpa_dim|).
% \begin{macrocode}
\skip_vertical:n { - \l_tmpa_dim }
\hbox:n
@@ -4250,8 +4270,8 @@ c & c & b & a & e
\skip_horizontal:n { - \arraycolsep }
}
% \end{macrocode}
-% We take into account the ``last row'' (we have previously computed its size
-% in |\l_tmpb_dim|).
+% We take into account the ``last row'' (we have previously computed its total
+% height in |\l_tmpb_dim|).
% \begin{macrocode}
\skip_vertical:n { - \l_tmpb_dim }
}
@@ -4263,9 +4283,9 @@ c & c & b & a & e
\box_use_drop:N \l_tmpa_box
}
% \end{macrocode}
-% We take into account a potential ``last column'' (this ``last
-% column'' has been constructed in an overlapping position and we have computed
-% its width in |\g_@@_width_last_col_dim|: see p.~\pageref{overlap-right}).
+% We take into account a potential ``last column'' (this ``last column'' has
+% been constructed in an overlapping position and we have computed its width in
+% |\g_@@_width_last_col_dim|: see p.~\pageref{overlap-right}).
% \begin{macrocode}
\bool_if:NT \g_@@_last_col_found_bool
{
@@ -4489,7 +4509,7 @@ c & c & b & a & e
% \begin{macrocode}
\bool_if:nT
{
- \int_compare_p:nNn \c@iRow > \c_zero_int
+ \int_compare_p:nNn \c@iRow > 0
&&
(
\int_compare_p:nNn \l_@@_last_row_int < 0
@@ -4586,7 +4606,7 @@ c & c & b & a & e
% \begin{macrocode}
\bool_if:nT
{
- \int_compare_p:nNn \c@iRow > \c_zero_int
+ \int_compare_p:nNn \c@iRow > 0
&&
(
\int_compare_p:nNn \l_@@_last_row_int < 0
@@ -4879,7 +4899,7 @@ c & c & b & a & e
% \begin{macrocode}
\cs_new_protected:Nn \@@_after_array:
{
- \int_compare:nNnTF \c@iRow > \c_zero_int
+ \int_compare:nNnTF \c@iRow > 0
\@@_after_array_i:
{
\@@_error:n { Zero~row }
@@ -5375,7 +5395,7 @@ c & c & b & a & e
\cs_if_free:cT { @@ _ dotted _ #1 - #2 }
{
\bool_set_false:N \l_@@_impossible_line_bool
- \@@_find_extremities_of_line:nnnn { #1 } { #2 } \c_zero_int \c_one_int
+ \@@_find_extremities_of_line:nnnn { #1 } { #2 } 0 \c_one_int
\bool_if:NF \l_@@_impossible_line_bool \@@_actually_draw_Ldots:
}
}
@@ -5445,7 +5465,7 @@ c & c & b & a & e
\cs_if_free:cT { @@ _ dotted _ #1 - #2 }
{
\bool_set_false:N \l_@@_impossible_line_bool
- \@@_find_extremities_of_line:nnnn { #1 } { #2 } \c_zero_int \c_one_int
+ \@@_find_extremities_of_line:nnnn { #1 } { #2 } 0 \c_one_int
\bool_if:NF \l_@@_impossible_line_bool
{
\@@_retrieve_coords:xx
@@ -5501,7 +5521,7 @@ c & c & b & a & e
\cs_if_free:cT { @@ _ dotted _ #1 - #2 }
{
\bool_set_false:N \l_@@_impossible_line_bool
- \@@_find_extremities_of_line:nnnn { #1 } { #2 } \c_one_int \c_zero_int
+ \@@_find_extremities_of_line:nnnn { #1 } { #2 } \c_one_int 0
\bool_if:NF \l_@@_impossible_line_bool
{
\@@_retrieve_coords:xx
@@ -6191,7 +6211,7 @@ c & c & b & a & e
&&
! \l_@@_exterior_arraycolsep_bool
&&
- \int_compare_p:nNn \l_@@_first_col_int > \c_zero_int
+ \int_compare_p:nNn \l_@@_first_col_int > 0
}
{ \skip_horizontal:n { - \arraycolsep } }
\hbox_to_wd:nn
@@ -6213,7 +6233,7 @@ c & c & b & a & e
% We should allow the letter ``|:|'' in the first position of the preamble
% but that would need a special programmation.
% \begin{macrocode}
- \int_compare:nNnTF #1 = \c_zero_int
+ \int_compare:nNnTF #1 = 0
{ \@@_error:n { Use~of~:~in~first~position } }
{
\bool_if:NF \c_@@_draft_bool
@@ -6300,7 +6320,7 @@ c & c & b & a & e
% with |\newcolumntype|:
% \begin{Verbatim}[commandchars=\~\#\+]
% \newcolumntype { | }
-% { ! { \int_compare:nNnF \c@iRow = \c_zero_int \vline } }
+% { ! { \int_compare:nNnF \c@iRow = 0 \vline } }
% \end{Verbatim}
%
% However, this code fails if the user uses "\DefineShortVerb{\|}" of
@@ -6318,20 +6338,20 @@ c & c & b & a & e
% \begin{macrocode}
\cs_new_protected:Npn \@@_vline:
{
- \int_compare:nNnTF \l_@@_first_col_int = \c_zero_int
+ \int_compare:nNnTF \l_@@_first_col_int = 0
{
- \int_compare:nNnTF \c@jCol = \c_zero_int
+ \int_compare:nNnTF \c@jCol = 0
{
- \int_compare:nNnTF \l_@@_first_row_int = \c_zero_int
+ \int_compare:nNnTF \l_@@_first_row_int = 0
{
- \int_compare:nNnF \c@iRow = \c_zero_int
+ \int_compare:nNnF \c@iRow = 0
{
\int_compare:nNnF \c@iRow = \l_@@_last_row_int
\@@_vline_i:
}
}
{
- \int_compare:nNnF \c@iRow = \c_zero_int
+ \int_compare:nNnF \c@iRow = 0
{
\int_compare:nNnF \c@iRow = \l_@@_last_row_int
\@@_vline_i:
@@ -6339,7 +6359,7 @@ c & c & b & a & e
}
}
{
- \int_compare:nNnF \c@iRow = \c_zero_int
+ \int_compare:nNnF \c@iRow = 0
{
\int_compare:nNnF \c@iRow = \l_@@_last_row_int
\@@_vline_i:
@@ -6347,7 +6367,7 @@ c & c & b & a & e
}
}
{
- \int_compare:nNnTF \c@jCol = \c_zero_int
+ \int_compare:nNnTF \c@jCol = 0
{
\int_compare:nNnF \c@iRow = { -1 }
{
@@ -6356,7 +6376,7 @@ c & c & b & a & e
}
}
{
- \int_compare:nNnF \c@iRow = \c_zero_int
+ \int_compare:nNnF \c@iRow = 0
{
\int_compare:nNnF \c@iRow = \l_@@_last_row_int
\@@_vline_i:
@@ -6396,7 +6416,7 @@ c & c & b & a & e
% \begin{macrocode}
\cs_new:Npn \@@_OnlyMainNiceMatrix:n #1
{
- \int_compare:nNnF \c@iRow = \c_zero_int
+ \int_compare:nNnF \c@iRow = 0
{ \int_compare:nNnF \c@iRow = \l_@@_last_row_int { #1 } }
}
% \end{macrocode}
@@ -7010,15 +7030,15 @@ c & c & b & a & e
\@@_set_size:n #4 \q_stop
\begin { NiceArrayWithDelims } { #1 } { #2 }
{ * { \l_@@_nb_cols_int } { C } } [ #3 , #5 , #7 ]
- \int_compare:nNnT \l_@@_first_row_int = \c_zero_int
+ \int_compare:nNnT \l_@@_first_row_int = 0
{
- \int_compare:nNnT \l_@@_first_col_int = \c_zero_int { & }
+ \int_compare:nNnT \l_@@_first_col_int = 0 { & }
\prg_replicate:nn { \l_@@_nb_cols_int - 1 } { & }
\int_compare:nNnT \l_@@_last_col_int > { -1 } { & } \\
}
\prg_replicate:nn \l_@@_nb_rows_int
{
- \int_compare:nNnT \l_@@_first_col_int = \c_zero_int { & }
+ \int_compare:nNnT \l_@@_first_col_int = 0 { & }
% \end{macrocode}
% You put |{ }| before |#6| to avoid a hasty expansion of an eventual
% |\arabic{iRow}| at the beginning of the row which would result in an incorrect
@@ -7030,7 +7050,7 @@ c & c & b & a & e
}
\int_compare:nNnT \l_@@_last_row_int > { -2 }
{
- \int_compare:nNnT \l_@@_first_col_int = \c_zero_int { & }
+ \int_compare:nNnT \l_@@_first_col_int = 0 { & }
\prg_replicate:nn { \l_@@_nb_cols_int - 1 } { & }
\int_compare:nNnT \l_@@_last_col_int > { -1 } { & } \\
}
@@ -7372,7 +7392,7 @@ c & c & b & a & e
{
\@@_error:nn { Obsolete~environment }
{ the~option~'last-col' }
- \int_set:Nn \l_@@_last_col_int \c_zero_dim
+ \int_zero:N \l_@@_last_col_int
\pNiceArray
}
{ \endpNiceArray }
@@ -7383,7 +7403,7 @@ c & c & b & a & e
{
\@@_error:nn { Obsolete~environment }
{ the~option~'last-col' }
- \int_set:Nn \l_@@_last_col_int \c_zero_dim
+ \int_zero:N \l_@@_last_col_int
\bNiceArray
}
{ \endbNiceArray }
@@ -7394,7 +7414,7 @@ c & c & b & a & e
{
\@@_error:nn { Obsolete~environment }
{ the~option~'last-col' }
- \int_set:Nn \l_@@_last_col_int \c_zero_dim
+ \int_zero:N \l_@@_last_col_int
\BNiceArray
}
{ \endBNiceArray }
@@ -7405,7 +7425,7 @@ c & c & b & a & e
{
\@@_error:nn { Obsolete~environment }
{ the~option~'last-col' }
- \int_set:Nn \l_@@_last_col_int \c_zero_dim
+ \int_zero:N \l_@@_last_col_int
\vNiceArray
}
{ \endvNiceArray }
@@ -7416,7 +7436,7 @@ c & c & b & a & e
{
\@@_error:nn { Obsolete~environment }
{ the~option~'last-col' }
- \int_set:Nn \l_@@_last_col_int \c_zero_dim
+ \int_zero:N \l_@@_last_col_int
\VNiceArray
}
{ \endVNiceArray }
@@ -7427,8 +7447,8 @@ c & c & b & a & e
{
\@@_error:nn { Obsolete~environment }
{ the~options~'last-col'~and~'first-row' }
- \int_set:Nn \l_@@_last_col_int \c_zero_dim
- \int_set:Nn \l_@@_first_row_int \c_zero_int
+ \int_zero:N \l_@@_last_col_int
+ \int_zero:N \l_@@_first_row_int
\pNiceArray
}
{ \endpNiceArray }
@@ -7439,8 +7459,8 @@ c & c & b & a & e
{
\@@_error:nn { Obsolete~environment }
{ the~options~'last-col'~and~'first-row' }
- \int_set:Nn \l_@@_last_col_int \c_zero_dim
- \int_set:Nn \l_@@_first_row_int \c_zero_int
+ \int_zero:N \l_@@_last_col_int
+ \int_zero:N \l_@@_first_row_int
\bNiceArray
}
{ \endbNiceArray }
@@ -7451,8 +7471,8 @@ c & c & b & a & e
{
\@@_error:nn { Obsolete~environment }
{ the~options~'last-col'~and~'first-row' }
- \int_set:Nn \l_@@_last_col_int \c_zero_dim
- \int_set:Nn \l_@@_first_row_int \c_zero_int
+ \int_zero:N \l_@@_last_col_int
+ \int_zero:N \l_@@_first_row_int
\BNiceArray
}
{ \endBNiceArray }
@@ -7463,8 +7483,8 @@ c & c & b & a & e
{
\@@_error:nn { Obsolete~environment }
{ the~options~'last-col'~and~'first-row' }
- \bool_set_true:N \l_@@_last_col_bool
- \int_set:Nn \l_@@_first_row_int \c_zero_int
+ \int_zero:N \l_@@_last_col_int
+ \int_zero:N \l_@@_first_row_int
\vNiceArray
}
{ \endvNiceArray }
@@ -7475,8 +7495,8 @@ c & c & b & a & e
{
\@@_error:nn { Obsolete~environment }
{ the~options~'last-col'~and~'first-row' }
- \int_set:Nn \l_@@_last_col_int \c_zero_dim
- \int_set:Nn \l_@@_first_row_int \c_zero_int
+ \int_zero:N \l_@@_last_col_int
+ \int_zero:N \l_@@_first_row_int
\VNiceArray
}
{ \endVNiceArray }
@@ -7487,7 +7507,7 @@ c & c & b & a & e
{
\@@_error:nn { Obsolete~environment }
{ the~option~'last-col' }
- \int_set:Nn \l_@@_last_col_int \c_zero_dim
+ \int_zero:N \l_@@_last_col_int
\NiceArrayWithDelims
}
{ \endNiceArrayWithDelims }
@@ -7498,8 +7518,8 @@ c & c & b & a & e
{
\@@_error:nn { Obsolete~environment }
{ the~options~'last-col'~and~'first-row' }
- \int_set:Nn \l_@@_last_col_int \c_zero_dim
- \int_set:Nn \l_@@_first_row_int \c_zero_int
+ \int_zero:N \l_@@_last_col_int
+ \int_zero:N \l_@@_first_row_int
\NiceArrayWithDelims
}
{ \endNiceArrayWithDelims }
@@ -7738,6 +7758,10 @@ c & c & b & a & e
% New option |light-syntax| (and |end-of-row|).
%
% New option |dotted-lines-margin| for fine tuning of the dotted lines.
+%
+% \subsection*{Changes between versions 3.10 and 3.11}
+%
+% Correction of a bug linked to |first-row| and |last-row|.
%
% \PrintIndex
%
diff --git a/macros/latex/contrib/nicematrix/nicematrix.pdf b/macros/latex/contrib/nicematrix/nicematrix.pdf
index c4738a0111..a9862fd6a3 100644
--- a/macros/latex/contrib/nicematrix/nicematrix.pdf
+++ b/macros/latex/contrib/nicematrix/nicematrix.pdf
Binary files differ
diff --git a/macros/latex/contrib/verifica/README b/macros/latex/contrib/verifica/README
index 9e37879e55..d170805cef 100644
--- a/macros/latex/contrib/verifica/README
+++ b/macros/latex/contrib/verifica/README
@@ -1,4 +1,4 @@
-The verifica document class v1.1 2020/01/19
+The verifica document class v1.2 2020/02/07
---------------------------------------------------------------------
Riccardo Dossena Email: riccardo.dossena@gmail.com
---------------------------------------------------------------------
@@ -77,7 +77,7 @@ setspace, multicol, gensymb, newunicodechar, textcomp, eurosym,
tabto, tabularx, lineno, bm, cmbright.
If the option "14pt" is set, it loads the extarticle document class.
-2020/01/19
+2020/02/07
Riccardo Dossena
---------------------------------------------------------------------
If you have any ideas, questions, suggestions, feedback or bugs to
diff --git a/macros/latex/contrib/verifica/example1.pdf b/macros/latex/contrib/verifica/example1.pdf
index 8fa9e50586..6c2d513dd7 100644
--- a/macros/latex/contrib/verifica/example1.pdf
+++ b/macros/latex/contrib/verifica/example1.pdf
Binary files differ
diff --git a/macros/latex/contrib/verifica/example1.tex b/macros/latex/contrib/verifica/example1.tex
index 48f8bab83d..c802df96cf 100644
--- a/macros/latex/contrib/verifica/example1.tex
+++ b/macros/latex/contrib/verifica/example1.tex
@@ -11,7 +11,7 @@
\disciplina{matematica}
\istituto{Liceo ``G. Novello'' -- Codogno}
\classe{5\tsa B}
-\data{19 gennaio 2020}
+\data{7 febbraio 2020}
\tempo{60 minuti}
\intestazione
diff --git a/macros/latex/contrib/verifica/example2.pdf b/macros/latex/contrib/verifica/example2.pdf
index 236c99e1a1..14c3f9cb56 100644
--- a/macros/latex/contrib/verifica/example2.pdf
+++ b/macros/latex/contrib/verifica/example2.pdf
Binary files differ
diff --git a/macros/latex/contrib/verifica/example2.tex b/macros/latex/contrib/verifica/example2.tex
index 0654ea0bb0..e25d13d39e 100644
--- a/macros/latex/contrib/verifica/example2.tex
+++ b/macros/latex/contrib/verifica/example2.tex
@@ -10,7 +10,7 @@
\disciplina{matematica}
\istituto{Liceo ``G. Novello'' -- Codogno}
\classe{5\tsa B}
-\data{19 gennaio 2020}
+\data{7 febbraio 2020}
\tempo{60 minuti}
\intestazione
diff --git a/macros/latex/contrib/verifica/example3.pdf b/macros/latex/contrib/verifica/example3.pdf
index a59c42c62b..a9959d2209 100644
--- a/macros/latex/contrib/verifica/example3.pdf
+++ b/macros/latex/contrib/verifica/example3.pdf
Binary files differ
diff --git a/macros/latex/contrib/verifica/example3.tex b/macros/latex/contrib/verifica/example3.tex
index e67fb120f6..6d83a3e170 100644
--- a/macros/latex/contrib/verifica/example3.tex
+++ b/macros/latex/contrib/verifica/example3.tex
@@ -10,7 +10,7 @@
\disciplina{matematica}
\istituto{Liceo ``G. Novello'' -- Codogno}
\classe{5\tsa B}
-\data{19 gennaio 2020}
+\data{7 febbraio 2020}
\tempo{60 minuti}
\intestazione
diff --git a/macros/latex/contrib/verifica/example4.pdf b/macros/latex/contrib/verifica/example4.pdf
index c7cbeb9cbd..8cbd3e6db4 100644
--- a/macros/latex/contrib/verifica/example4.pdf
+++ b/macros/latex/contrib/verifica/example4.pdf
Binary files differ
diff --git a/macros/latex/contrib/verifica/example4.tex b/macros/latex/contrib/verifica/example4.tex
index e583f9aff7..d65141df8b 100644
--- a/macros/latex/contrib/verifica/example4.tex
+++ b/macros/latex/contrib/verifica/example4.tex
@@ -12,7 +12,7 @@
\disciplina{matematica e fisica}
\istituto{Liceo ``G. Novello'' -- Codogno}
\classe{4\tsa C}
-\data{19 gennaio 2020}
+\data{7 febbraio 2020}
\tempo{55 minuti}
\lineanome
diff --git a/macros/latex/contrib/verifica/example5.pdf b/macros/latex/contrib/verifica/example5.pdf
index 9815975111..9b5854976d 100644
--- a/macros/latex/contrib/verifica/example5.pdf
+++ b/macros/latex/contrib/verifica/example5.pdf
Binary files differ
diff --git a/macros/latex/contrib/verifica/example5.tex b/macros/latex/contrib/verifica/example5.tex
index 03343e9fee..cd4e8df1d8 100644
--- a/macros/latex/contrib/verifica/example5.tex
+++ b/macros/latex/contrib/verifica/example5.tex
@@ -11,7 +11,7 @@
\disciplina{matematica e fisica}
\istituto{Liceo ``G. Novello'' -- Codogno}
\classe{4\tsa C}
-\data{19 gennaio 2020}
+\data{7 febbraio 2020}
\tempo{55 minuti}
\lineanome
diff --git a/macros/latex/contrib/verifica/verifica-template.tex b/macros/latex/contrib/verifica/verifica-template.tex
index fa6a494d08..0a01bcc0c2 100644
--- a/macros/latex/contrib/verifica/verifica-template.tex
+++ b/macros/latex/contrib/verifica/verifica-template.tex
@@ -13,7 +13,7 @@
%\disciplina{matematica}
%\istituto{Liceo ``G. Novello'' -- Codogno}
%\classe{5\tsa W}
-%\data{19 gennaio 2020}
+%\data{7 febbraio 2020}
%\tempo{2 ore}
%\lineanome % stampa una linea punteggiata per scrivere il nome del candidato
diff --git a/macros/latex/contrib/verifica/verifica.dtx b/macros/latex/contrib/verifica/verifica.dtx
index bea8de85b7..38c9d521f2 100644
--- a/macros/latex/contrib/verifica/verifica.dtx
+++ b/macros/latex/contrib/verifica/verifica.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% verifica.cls. Version: 1.1 - January 19, 2020.
+% verifica.cls. Version: 1.2 - February 7, 2020.
% Author: Riccardo DOSSENA <riccardo.dossena@gmail.com>
%
% Questa è una classe per comporre le verifiche
@@ -29,7 +29,7 @@
%<class>\ProvidesClass{verifica}
%<package>\ProvidesPackage{ver-doc}
%<*class|package>
- [2020/01/19 v1.1 Riccardo Dossena]
+ [2020/02/07 v1.2 Riccardo Dossena]
%</class|package>
%
%<*driver>
@@ -86,7 +86,7 @@
morekeywords=[3]{intestazione,tipologia,disciplina,istituto,
data,classe,tempo,intestazionesemplice,
intestazionerighe,dss,vf,verofalso,fattorevf,punti,
- puntiadestra,puntipt,totpunti,vartotpunti,
+ puntiadestra,puntipt,totpunti,vartotpunti,puntiman,
riga,dotword,dotrule,ddfrac,numfrac,denfrac,
arc,vararc,eps,del,Del,R,N,Z,Q,tsa,tso,
restorephi,restoretheta,abs,labeltest,labelbox,
@@ -132,7 +132,7 @@
%</driver>
% \fi
%
-% \CheckSum{0}
+% \CheckSum{806}
%
% \CharacterTable
% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -179,7 +179,8 @@
% \DoNotIndex{\nolinebreak,\null,\textsc,\ifx,\tmp,\mbox,\vfill,\LARGE,\Huge}
% \DoNotIndex{\enitkv@key,\item,\@ifpackageloaded,\@ifpackagewith}
%
-% \title{La classe \pack{verifica}}
+% \title{La classe \pack{verifica}\thanks{Versione \fileversion\ del
+% \filedate.}}
% \author{Riccardo Dossena\thanks{%
% E-mail: \href{mailto:riccardo.dossena@gmail.com}%
% {\ttfamily riccardo.dossena@gmail.com}}}
@@ -1474,6 +1475,57 @@
%
% \makeatother
%
+% \subsection{Un piccolo bug del punteggio (e soluzione)}
+%
+% Se la prima parola di una riga dove si intende stampare il punteggio è
+% sillabata, il comando \lstinline|\punti| sposta il punteggio nella riga
+% vuota successiva, quindi in una posizione non corretta, come mostra il
+% prossimo esempio.
+%\iffalse
+%<*example>
+%\fi
+\begin{lstlisting}
+\begin{esercizi}
+ \item Scrivi in forma implicita l'equazione della retta parallela
+ all'asse~$x$ e precipitevolissimevolmente passante
+ per $P(0, 1)$. \punti{12}
+\end{esercizi}
+\end{lstlisting}
+%\iffalse
+%</example>
+%\fi
+% \begin{riquadro}
+% \begin{esercizi}
+% \item Scrivi in forma implicita l'equazione della retta parallela
+% all'asse~ $x$ e precipitevolissimevolmente passante per $P(0, 1)$.
+% \punti{12}
+% \end{esercizi}
+% \end{riquadro}
+% Qualora si presentasse una situazione del genere, è possibile risolvere
+% sostituendo localmente al comando \lstinline|\punti| il comando
+% \lstinline|\puntiman| (che sta per ``punteggio manuale'' e ha la stessa
+% sintassi di \lstinline|\punti|).
+%\iffalse
+%<*example>
+%\fi
+\begin{lstlisting}
+\begin{esercizi}
+ \item Scrivi in forma implicita l'equazione della retta parallela
+ all'asse~$x$ e precipitevolissimevolmente passante
+ per $P(0, 1)$. \puntiman{12}
+\end{esercizi}
+\end{lstlisting}
+%\iffalse
+%</example>
+%\fi
+% \begin{riquadro}
+% \begin{esercizi}
+% \item Scrivi in forma implicita l'equazione della retta parallela
+% all'asse~$x$ e precipitevolissimevolmente passante per $P(0, 1)$.
+% \puntiman{12}
+% \end{esercizi}
+% \end{riquadro}
+%
% \subsection{Il riquadro del punteggio totale}
%
% Se lo si desidera, è possibile stampare un riquadro in cui inserire il
@@ -2512,6 +2564,27 @@ Di default sono definiti $\phi$ e $\theta$, ma si possono ripristinare
}
% \end{macrocode}
% \end{macro}
+% \begin{macro}{\puntiman}
+% \changes{v1.2}{2020/02/07}{Added the \cs{puntiman} command, which prints the
+% score at the end of the line when the \cs{punti} command fails.}
+% Unfortunately, there is a bug: if the first word of the line where the
+% score has to be printed is part of a hyphenated word, the score will not
+% be printed on the same line, but on the next (empty). To solve
+% this issue ``manually'', the \cs{puntiman} command can be used instead of
+% \cs{punti}.
+% \begin{macrocode}
+\newcommand{\puntiman}[2][\@nil]{%
+ \hfill%
+ [\textsc{\@punteggio~#2%
+ \def\tmp{#1}%
+ \ifx\tmp\@nnil
+ \relax
+ \else
+ ~\mbox{#1}%
+ \fi}]%
+}
+% \end{macrocode}
+% \end{macro}
% \begin{macro}{\puntiadestra}
% This command can be placed anywhere in the document and simply prints
% the word ``Punti'' after the score.
@@ -2526,14 +2599,28 @@ Di default sono definiti $\phi$ e $\theta$, ma si possono ripristinare
~\mbox{#1}%
\fi}]%
}
-\def\puntiadestra{\renewcommand{\punti}{\punti@dx}}
+\newcommand{\puntiman@dx}[2][\@nil]{%
+ \hfill%
+ [\textsc{#2~\@punteggio%
+ \def\tmp{#1}%
+ \ifx\tmp\@nnil
+ \relax
+ \else
+ ~\mbox{#1}%
+ \fi}]%
+}
+\def\puntiadestra{%
+ \renewcommand{\punti}{\punti@dx}
+ \renewcommand{\puntiman}{\puntiman@dx}
+}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\puntipt}
% This command can also be placed anywhere in the document and replaces
% the word ``Punti'' with the abbreviation ``Pt.''
% \begin{macrocode}
-\def\puntipt{\renewcommand{\@punteggio}{Pt.}}
+\def\puntipt{%
+ \renewcommand{\@punteggio}{Pt.}}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\totpunti}
diff --git a/macros/latex/contrib/verifica/verifica.pdf b/macros/latex/contrib/verifica/verifica.pdf
index ec556a6f74..010da52ba6 100644
--- a/macros/latex/contrib/verifica/verifica.pdf
+++ b/macros/latex/contrib/verifica/verifica.pdf
Binary files differ