texlive[65387] Master/texmf-dist: zref-clever (28dec22)

commits+karl at tug.org commits+karl at tug.org
Wed Dec 28 23:30:37 CET 2022


Revision: 65387
          http://tug.org/svn/texlive?view=revision&revision=65387
Author:   karl
Date:     2022-12-28 23:30:37 +0100 (Wed, 28 Dec 2022)
Log Message:
-----------
zref-clever (28dec22)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/zref-clever/CHANGELOG.md
    trunk/Master/texmf-dist/doc/latex/zref-clever/zref-clever-code.pdf
    trunk/Master/texmf-dist/doc/latex/zref-clever/zref-clever.pdf
    trunk/Master/texmf-dist/doc/latex/zref-clever/zref-clever.tex
    trunk/Master/texmf-dist/source/latex/zref-clever/zref-clever.dtx
    trunk/Master/texmf-dist/source/latex/zref-clever/zref-clever.ins
    trunk/Master/texmf-dist/tex/latex/zref-clever/zref-clever-dutch.lang
    trunk/Master/texmf-dist/tex/latex/zref-clever/zref-clever.sty

Added Paths:
-----------
    trunk/Master/texmf-dist/tex/latex/zref-clever/zref-clever-italian.lang

Modified: trunk/Master/texmf-dist/doc/latex/zref-clever/CHANGELOG.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/zref-clever/CHANGELOG.md	2022-12-28 22:30:15 UTC (rev 65386)
+++ trunk/Master/texmf-dist/doc/latex/zref-clever/CHANGELOG.md	2022-12-28 22:30:37 UTC (rev 65387)
@@ -1,7 +1,21 @@
 # Changelog
 
-## [Unreleased](https://github.com/gusbrs/zref-clever/compare/v0.3.1...HEAD)
+## [Unreleased](https://github.com/gusbrs/zref-clever/compare/v0.3.2...HEAD)
 
+## [v0.3.2](https://github.com/gusbrs/zref-clever/compare/v0.3.1...v0.3.2) (2022-12-27)
+
+### Added
+- Italian localization (see issue
+  [#11](https://github.com/gusbrs/zref-clever/issues/11)).
+- Localization guidelines for contributors (in the Code documentation).
+- Document UTF-8 input encoding requirement.
+- Work-around for `beamer` in the User manual.
+
+### Changed
+- Improved consistency of the Dutch language file with `babel` captions (see
+  PRs [#12](https://github.com/gusbrs/zref-clever/pull/12) and
+  [#13](https://github.com/gusbrs/zref-clever/pull/13)).
+
 ## [v0.3.1](https://github.com/gusbrs/zref-clever/compare/v0.3.0...v0.3.1) (2022-05-28)
 
 ### Added

Modified: trunk/Master/texmf-dist/doc/latex/zref-clever/zref-clever-code.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/zref-clever/zref-clever.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/zref-clever/zref-clever.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/zref-clever/zref-clever.tex	2022-12-28 22:30:15 UTC (rev 65386)
+++ trunk/Master/texmf-dist/doc/latex/zref-clever/zref-clever.tex	2022-12-28 22:30:37 UTC (rev 65387)
@@ -64,6 +64,10 @@
 
 \NewDocumentCommand\opt{m}{\texttt{#1}}
 
+\NewDocumentCommand\username{m}{`\texttt{#1}'}
+
+\setlength{\marginparsep}{2\labelsep}
+
 \definecolor{reffmtbox}{gray}{0.15}
 \definecolor{reffmtback}{gray}{0.85}
 \NewDocumentCommand\reffmt{m}{%
@@ -96,6 +100,17 @@
     text,
     lstset,
     condition,
+    RenewDocumentCommand,
+    NewCommandCopy,
+    ltx at gobble,
+    zref at label,
+    zref at wrapper@babel,
+    zref at ifpropundefined,
+    zref at setcurrent,
+    beamer at old@zref at label,
+    alt,
+    beamer at nameslide,
+    beamer at dummynameslide,
   }
 }
 \lstdefinestyle{zrefclever}{
@@ -380,6 +395,12 @@
 The package does not accept load-time options, package options must be set
 using \cs{zcsetup} (see \zcref{sec:user-interface}).
 
+\pkg{zref-clever} requires a recent \LaTeX{} kernel (2021-11-15 or newer) and
+the packages \pkg{zref}, including some of its modules, and \pkg{ifdraft}.  It
+also requires UTF-8 input encoding, which has been the kernel's default for
+some time.
+
+
 \section{Dependencies}
 
 \pkg{zref-clever} requires \pkg{zref}, and \LaTeX{} kernel 2021-11-15, or
@@ -774,10 +795,7 @@
 does not affect the content of the \opt{note}, however.  The option is
 intended exclusively for commands that only change font attributes: style,
 family, shape, weight, size, color, etc.  Anything else, particularly commands
-that may generate typeset output, is not supported.  Given how package options
-are handled by \LaTeX{}, the fact that this option receives commands as value
-means this option \emph{can't} be set at load time, as a package option.  If
-you want to set it globally, use \cs{zcsetup} instead.
+that may generate typeset output, is not supported.
 
 \DescribeOption{note} %
 The \opt{note} option receives as value some text to be typeset at the end of
@@ -1246,8 +1264,8 @@
 obviously, but hopefully still mnemonic enough, ``\texttt{sg}'' stands for
 ``single'', ``\texttt{pb}'' and ``\texttt{pe}'' for ``pair begin'' and ``pair
 end'', and finally ``\texttt{rb}'' and ``\texttt{re}'' for ``range begin'' and
-``range end''.  Each of them which receives as value a comma separated list of
-four items in the form \texttt{\{preref*,preref,postref,postref*\}}, just like
+``range end''.  Each of them receives as value a comma separated list of four
+items in the form \texttt{\{preref*,preref,postref,postref*\}}, just like
 \opt{refbounds}.
 
 The base options are mutually exclusive, which means, for example, that it is
@@ -1258,13 +1276,12 @@
 options.  Each of these sets all options under it.  Some examples.
 \opt{+refbounds-first} sets \opt{refbounds-first}, \opt{refbounds-first-sg},
 \opt{refbounds-first-pb}, and \opt{refbounds-first-rg}.  In turn,
-\opt{+refbounds-first-rb} sets \opt{refbounds-first-rb} and
-\opt{refbounds-first-rb}.  And quite conveniently, \opt{+refbounds} sets
-\opt{+refbounds-first}, \opt{+refbounds-mid}, and \opt{+refbounds-last}, it is
-hence sufficient to set it to define the behavior of what is typeset around
-all references for the whole type-block.  As you probably guessed by now, the
-\opt{refbounds} option presented in \zcref{tab:reference-format} is an alias
-of \opt{+refbounds}.
+\opt{+refbounds-rb} sets \opt{refbounds-first-rb} and \opt{refbounds-mid-rb}.
+And quite conveniently, \opt{+refbounds} sets \opt{+refbounds-first},
+\opt{+refbounds-mid}, and \opt{+refbounds-last}, it is hence sufficient to set
+it to define the behavior of what is typeset around all references for the
+whole type-block.  As you probably guessed by now, the \opt{refbounds} option
+presented in \zcref{tab:reference-format} is an alias of \opt{+refbounds}.
 
 Given that base and derived options are actually setting the same group of
 underlying options (the base ones), the order in which they are given is
@@ -1318,6 +1335,7 @@
     \toprule
     Language   & Aliases      \\
     \midrule
+    dutch      &              \\
     english    & american     \\
                & australian   \\
                & british      \\
@@ -1326,9 +1344,7 @@
                & UKenglish    \\
                & USenglish    \\
     french     & acadian      \\
-               & canadien     \\
-               & francais     \\
-               & frenchb      \\
+               &              \\
     \bottomrule
   \end{tabular}
   \quad
@@ -1336,17 +1352,16 @@
     \toprule
     Language   & Aliases      \\
     \midrule
-    german     & austrian     \\
-               & germanb      \\
-               & ngerman      \\
+    german     & ngerman      \\
+               & austrian     \\
                & naustrian    \\
+               & swissgerman  \\
                & nswissgerman \\
-               & swissgerman  \\
+    italian    &              \\
     portuguese & brazilian    \\
                & brazil       \\
                & portuges     \\
     spanish    &              \\
-    dutch      &              \\
     \bottomrule
   \end{tabular}
   \caption{Declared languages and aliases}
@@ -1395,12 +1410,13 @@
     \toprule
     Language   & declension & gender & allcaps \\
     \midrule
+    dutch      & --         & f,m,n  & --      \\
     english    & --         & --     & --      \\
     french     & --         & f,m    & --      \\
     german     & N,A,D,G    & f,m,n  & yes     \\
+    italian    & --         & f,m    & --      \\
     portuguese & --         & f,m    & --      \\
     spanish    & --         & f,m    & --      \\
-    dutch      & --         & f,m,n  & --      \\
     \bottomrule
   \end{tabular}
   \caption{Options for declared languages}
@@ -2315,6 +2331,99 @@
 separate \opt{zlabel} option.
 
 
+\subsection*{\cls{beamer}}
+
+\cls{beamer} does some really atypical things with regard to cross-references.
+To start with, it redefines \cs{label} to receive an optional
+\texttt{<\meta{overlay specification}>} argument.  Then, presumably to support
+overlays, it goes on and hijacks \pkg{hyperref}'s anchoring system, sets
+anchors (\cs{hypertarget}s) to each \emph{label} in the \file{.snm} file,
+while letting every standard label's anchor in the \file{.aux} file default to
+\texttt{Doc-Start}.  Of course, having rendered useless \pkg{hyperref}'s
+anchoring, it has to redefine \cs{ref} so that it uses its own \file{.snm}
+provided ``label anchors'' to make hyperlinks.  In particular, from our
+perspective, there is no support at all for \pkg{zref} provided by
+\cls{beamer}.  Which is specially unfortunate since the above procedures also
+appear to break \pkg{cleveref}.\footnote{See, for example,
+  \url{https://tex.stackexchange.com/q/266080},
+  \url{https://tex.stackexchange.com/q/668998}, and
+  \url{https://github.com/josephwright/beamer/issues/750}.  The workaround
+  provided at \url{https://tex.stackexchange.com/a/266109} is not general
+  enough since it breaks \pkg{cleveref}'s ability to receive a list of labels
+  as argument.}
+
+Adding proper support for this is the business of \cls{beamer}, \pkg{zref},
+and/or \pkg{hyperref}.  Likely the former's really.  But, taking advantage of
+\pkg{zref}'s flexibility, as an user, you can have a work-around in the
+meantime.
+
+\begin{zcworkaround}[caption={\cls{beamer}}]
+\documentclass{beamer}
+\usepackage{zref-clever}
+\makeatletter
+\RenewDocumentCommand{\zlabel}{ D<>{1} m }{%
+  \ifx\label\ltx at gobble
+  \else
+    \zref at wrapper@babel{\zref at label<#1>}{#2}%
+  \fi
+}
+\NewCommandCopy\beamer at old@zref at label\zref at label
+\RenewDocumentCommand{\zref at label}{ D<>{1} m }{%
+  \alt<#1>{%
+    \zref at ifpropundefined{anchor}{}{\zref at setcurrent{anchor}{#2}}%
+    \beamer at old@zref at label{#2}%
+    \beamer at nameslide{#2}%
+  }{%
+    \beamer at dummynameslide%
+  }%
+}
+\makeatother
+\begin{document}
+\begin{frame}
+  \begin{table}
+    \begin{tabular}{cc}
+      1 & 2 \\
+      3 & 4 \\
+    \end{tabular}
+    \caption{Table 1}
+    \zlabel{tab:1}
+  \end{table}
+\end{frame}
+\begin{frame}
+  \begin{figure}
+    \rule{5cm}{5cm}
+    \caption{Figure 1}
+    \zlabel{fig:1}
+  \end{figure}
+\end{frame}
+\begin{frame}
+  \zcref{tab:1,fig:1}
+\end{frame}
+\end{document}
+\end{zcworkaround}
+
+This work-around redefines \cs{zlabel} so that it takes an overlay
+specification argument, and provides that the work done by \cls{beamer} for
+the standard \cs{label} is also done for it.  And it works by setting the
+\texttt{anchor} to the \emph{label} so as to be able to speak the
+``\cls{beamer}-lingo'' of anchors.
+
+A couple of caveats though.  First, there's probably still some work to be
+done there in defining and setting reference types for \cls{beamer} specific
+document objects, e.g. overlays.  But it can be done by the standard user
+interface of \pkg{zref-clever}.  Second, since \cls{beamer}'s anchoring system
+does not provide for uniqueness of anchors as \pkg{hyperref} does, the
+procedure used by \pkg{zref-clever} in its \opt{amsmath} compatibility module
+of setting both \cs{label} and \cs{zlabel} in \pkg{amsmath}'s display math
+environments will result in duplicate anchors for labels set in them, with
+corresponding \pkg{hyperref} warnings of ``destination with the same
+identifier has been already used, duplicate ignored''.  The warning is
+actually harmless in this case, since both labels are set in the same place,
+and thus have identical anchors.  But, if it bothers you enough, you can look
+at the \opt{amsmath} compatibility module in the code documentation, and
+adjust things so that it sets only a \cs{zlabel}.
+
+
 \section{Acknowledgments}
 
 \pkg{zref-clever} would not be possible without other people's previous work
@@ -2374,9 +2483,11 @@
   % 2021-10-10: https://tex.stackexchange.com/questions/618434/#comment1544401_618439
   % 2022-01-12: https://chat.stackexchange.com/transcript/message/60129096#60129096
   %             and following discussion.
+  % 2022-12-26: https://chat.stackexchange.com/transcript/message/62644791#62644791
+  %             and following discussion.
   Frank Mittelbach,
   % 2021-10-14: https://github.com/latex3/latex2e/issues/687
-  `\texttt{samcarter}',
+  \username{samcarter},
   % 2021-10-14: https://chat.stackexchange.com/transcript/message/59361777#59361777
   % 2021-10-21: https://chat.stackexchange.com/transcript/message/59418309#59418309
   Alan Munn,
@@ -2391,9 +2502,8 @@
   % 2021-11-26: https://github.com/latex3/l3build/issues/215
   Jürgen Spitzmüller,
   % 2021-11-28: https://github.com/gusbrs/zref-clever/issues/2
-  and `\texttt{niluxv}'.
+  and \username{niluxv}.
   % 2022-01-05: https://github.com/gusbrs/zref-clever/issues/4
-  % 2022-01-05: https://github.com/gusbrs/zref-clever/pull/5
 
 The package's language files have been provided or improved thanks to:
   Denis Bitouzé (French),
@@ -2400,8 +2510,12 @@
   % 2021-11-25: https://github.com/gusbrs/zref-clever/issues/1
   François Lagarde (French), % 'flagarde'
   % 2021-12-09: discussion at https://github.com/gusbrs/zref-clever/issues/1
-  and `\texttt{niluxv}' (Dutch).
+  \username{niluxv} (Dutch),
   % 2022-01-09: https://github.com/gusbrs/zref-clever/pull/5
+  % 2022-12-27: https://github.com/gusbrs/zref-clever/pull/12
+  % 2022-12-27: https://github.com/gusbrs/zref-clever/pull/13
+  and Matteo Ferrigato (Italian). % 'matteo339'
+  % 2022-12-12: https://github.com/gusbrs/zref-clever/issues/11
 
 If I have inadvertently left anyone off the list I apologize, and please let
 me know, so that I can correct the oversight.

Modified: trunk/Master/texmf-dist/source/latex/zref-clever/zref-clever.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/zref-clever/zref-clever.dtx	2022-12-28 22:30:15 UTC (rev 65386)
+++ trunk/Master/texmf-dist/source/latex/zref-clever/zref-clever.dtx	2022-12-28 22:30:37 UTC (rev 65387)
@@ -69,8 +69,8 @@
 % \NewDocumentCommand\githubPR{m}{^^A
 %   PR~\href{https://github.com/gusbrs/zref-clever/pull/#1}{\##1}}
 %
-% ^^A Currently just for keeping semantic markup on this.
 % \NewDocumentCommand\contributor{m}{#1}
+% \NewDocumentCommand\username{m}{`\texttt{#1}'}
 %
 % \NewDocumentCommand\opt{m}{\texttt{#1}}
 %
@@ -165,7 +165,7 @@
 %
 % Identify the package.
 %    \begin{macrocode}
-\ProvidesExplPackage {zref-clever} {2022-05-28} {0.3.1}
+\ProvidesExplPackage {zref-clever} {2022-12-27} {0.3.2}
   {Clever LaTeX cross-references based on zref}
 %    \end{macrocode}
 %
@@ -172,8 +172,10 @@
 %
 % \section{Dependencies}
 %
-% Required packages.  Besides these, \pkg{zref-hyperref}, \pkg{zref-titleref},
-% and \pkg{zref-check} may also be loaded depending on user options.
+% Required packages.  Besides these, \pkg{zref-hyperref} may also be loaded
+% depending on user options.  \pkg{zref-clever} also requires UTF-8 input
+% encoding (see discussion with \contributor{David Carlisle} at
+% \url{https://chat.stackexchange.com/transcript/message/62644791#62644791}).
 %
 %    \begin{macrocode}
 \RequirePackage { zref-base }
@@ -3514,7 +3516,7 @@
 % polluting the markup too much given that, for languages that need it, it may
 % get to be used frequently.
 %
-% \contributor{\texttt{@samcarter}} and \contributor{Alan Munn} provided
+% \contributor{\username{samcarter}} and \contributor{Alan Munn} provided
 % useful comments about declension on the TeX.SX chat.  Also,
 % \contributor{Florent Rougon}'s efforts in this area, with the \pkg{xcref}
 % package (\url{https://github.com/frougon/xcref}), have been an insightful
@@ -6862,8 +6864,6 @@
             ! \l_@@_link_star_bool
           }
           {
-            \exp_not:N \group_begin:
-            \exp_not:V \l_@@_reffont_tl
             \seq_item:Nn #2 { 1 }
             \@@_hyperlink:nnn
               { \@@_extract_url_unexp:n {#1} }
@@ -6870,23 +6870,25 @@
               { \@@_extract_unexp:nnn {#1} { anchor } { } }
               {
                 \seq_item:Nn #2 { 2 }
+                \exp_not:N \group_begin:
+                \exp_not:V \l_@@_reffont_tl
                 \@@_extract_unexp:nvn {#1}
                   { l_@@_ref_property_tl } { }
+                \exp_not:N \group_end:
                 \seq_item:Nn #2 { 3 }
               }
             \seq_item:Nn #2 { 4 }
-            \exp_not:N \group_end:
           }
           {
+            \seq_item:Nn #2 { 1 }
+            \seq_item:Nn #2 { 2 }
             \exp_not:N \group_begin:
             \exp_not:V \l_@@_reffont_tl
-            \seq_item:Nn #2 { 1 }
-            \seq_item:Nn #2 { 2 }
             \@@_extract_unexp:nvn {#1}
               { l_@@_ref_property_tl } { }
+            \exp_not:N \group_end:
             \seq_item:Nn #2 { 3 }
             \seq_item:Nn #2 { 4 }
-            \exp_not:N \group_end:
           }
       }
       { \@@_ref_default: }
@@ -6911,8 +6913,6 @@
             ! \l_@@_link_star_bool
           }
           {
-            \exp_not:N \group_begin:
-            \exp_not:V \l_@@_reffont_tl
             \seq_item:Nn #3 { 1 }
             \@@_hyperlink:nnn
               { \@@_extract_url_unexp:n {#1} }
@@ -6919,21 +6919,23 @@
               { \@@_extract_unexp:nnn {#1} { anchor } { } }
               {
                 \seq_item:Nn #3 { 2 }
+                \exp_not:N \group_begin:
+                \exp_not:V \l_@@_reffont_tl
                 \exp_not:n {#2}
+                \exp_not:N \group_end:
                 \seq_item:Nn #3 { 3 }
               }
             \seq_item:Nn #3 { 4 }
-            \exp_not:N \group_end:
           }
           {
+            \seq_item:Nn #3 { 1 }
+            \seq_item:Nn #3 { 2 }
             \exp_not:N \group_begin:
             \exp_not:V \l_@@_reffont_tl
-            \seq_item:Nn #3 { 1 }
-            \seq_item:Nn #3 { 2 }
             \exp_not:n {#2}
+            \exp_not:N \group_end:
             \seq_item:Nn #3 { 3 }
             \seq_item:Nn #3 { 4 }
-            \exp_not:N \group_end:
           }
       }
   }
@@ -6963,7 +6965,6 @@
               { \l_@@_type_first_label_tl }
               { \l_@@_ref_property_tl }
               {
-                \exp_not:N \group_begin:
                 \@@_hyperlink:nnn
                   {
                     \@@_extract_url_unexp:V
@@ -6979,19 +6980,17 @@
                     \exp_not:V \l_@@_type_name_tl
                     \exp_not:N \group_end:
                     \exp_not:V \l_@@_namesep_tl
+                    \seq_item:Nn \l_@@_type_first_refbounds_seq { 1 }
+                    \seq_item:Nn \l_@@_type_first_refbounds_seq { 2 }
                     \exp_not:N \group_begin:
                     \exp_not:V \l_@@_reffont_tl
-                    \seq_item:Nn \l_@@_type_first_refbounds_seq { 1 }
-                    \seq_item:Nn \l_@@_type_first_refbounds_seq { 2 }
                     \@@_extract_unexp:Vvn
                       \l_@@_type_first_label_tl
                       { l_@@_ref_property_tl } { }
+                    \exp_not:N \group_end:
                     \seq_item:Nn \l_@@_type_first_refbounds_seq { 3 }
-                    \exp_not:N \group_end:
                   }
-                \exp_not:V \l_@@_reffont_tl
                 \seq_item:Nn \l_@@_type_first_refbounds_seq { 4 }
-                \exp_not:N \group_end:
               }
               {
                 \exp_not:N \group_begin:
@@ -7026,8 +7025,6 @@
                     ! \l_@@_link_star_bool
                   }
                   {
-                    \exp_not:N \group_begin:
-                    \exp_not:V \l_@@_reffont_tl
                     \seq_item:Nn
                       \l_@@_type_first_refbounds_seq { 1 }
                     \@@_hyperlink:nnn
@@ -7042,27 +7039,29 @@
                       {
                         \seq_item:Nn
                           \l_@@_type_first_refbounds_seq { 2 }
+                        \exp_not:N \group_begin:
+                        \exp_not:V \l_@@_reffont_tl
                         \@@_extract_unexp:Vvn
                           \l_@@_type_first_label_tl
                           { l_@@_ref_property_tl } { }
+                        \exp_not:N \group_end:
                         \seq_item:Nn
                           \l_@@_type_first_refbounds_seq { 3 }
                       }
                     \seq_item:Nn
                       \l_@@_type_first_refbounds_seq { 4 }
-                    \exp_not:N \group_end:
                   }
                   {
+                    \seq_item:Nn \l_@@_type_first_refbounds_seq { 1 }
+                    \seq_item:Nn \l_@@_type_first_refbounds_seq { 2 }
                     \exp_not:N \group_begin:
                     \exp_not:V \l_@@_reffont_tl
-                    \seq_item:Nn \l_@@_type_first_refbounds_seq { 1 }
-                    \seq_item:Nn \l_@@_type_first_refbounds_seq { 2 }
                     \@@_extract_unexp:Vvn
                       \l_@@_type_first_label_tl
                       { l_@@_ref_property_tl } { }
+                    \exp_not:N \group_end:
                     \seq_item:Nn \l_@@_type_first_refbounds_seq { 3 }
                     \seq_item:Nn \l_@@_type_first_refbounds_seq { 4 }
-                    \exp_not:N \group_end:
                   }
               }
               { \@@_ref_default: }
@@ -8098,12 +8097,6 @@
                   { \zref at localaddprop \ZREF at mainlist { subeq } }
               }
           }
-%    \end{macrocode}
-% And a last touch of care for \pkg{amsmath}'s refinements: make the equation
-% references \cs{textup}.
-%    \begin{macrocode}
-        \zcRefTypeSetup { equation }
-          { reffont = \upshape }
         \msg_info:nnn { zref-clever } { compat-package } { amsmath }
       }
   }
@@ -8410,6 +8403,174 @@
 % \pkg{translations}.
 %
 %
+% \subsection{Localization guidelines}
+%
+% Since the task of localizing \pkg{zref-clever} to work in different
+% languages depends on the generous work of contributors, it is a good idea to
+% set some guidelines not only to ease the task itself but also to document
+% what the package expects in this regard.
+%
+% The first general observation is that, contrary to a common initial reaction
+% of those faced with the task of localizing the reference types, is that the
+% job is not quite one of ``translation''.  The reference type names are just
+% the internal names used by the package to refer to them, technically, they
+% could just as well be foobars.  Of course, for practical reasons, they were
+% chosen to be semantic.  However, what we are searching for is not really the
+% translation to the reference type name itself, but rather for the word /
+% term / expression which is typically used to refer to the document object
+% that the reference type is meant to represent.  And terms that should work
+% well in the contexts which cross-references are commonly used.
+%
+% That said, some comments about the reference types and common pitfalls.
+%
+% \textbf{Sectioning:} A number of reference types are provided to support
+% referencing to document sectioning commands.  Obviously, \texttt{part},
+% \texttt{chapter}, \texttt{section}, and \texttt{paragraph} are meant to
+% refer to the sectioning commands of the standard classes and elsewhere,
+% which anyone reading this is certainly acquainted with.  Note that
+% \pkg{zref-clever} uses -- by default at least, which is what the language
+% files cater for -- the \texttt{section} reference type to refer to
+% \cs{subsections} and \cs{subsubsections} as well, similarly,
+% \texttt{paragraph} also refers to \cs{subparagraph}.  The \texttt{appendix}
+% reference type is meant to refer to any sectioning command -- be them
+% chapters, sections, or paragraphs -- issued after \cs{appendix}, which
+% corresponds to how the standard classes, the KOMA Script classes, and
+% \cls{memoir} deal with appendices.  The \texttt{book} reference type
+% deserves some explanation.  The word ``book'' has a good number of meanings,
+% and the most common one is not the one which is intended here.  The Webster
+% dictionary gives us a couple of definitions of interest: ``1. A collection
+% of sheets of paper, or similar material, blank, written, or printed, bound
+% together; commonly, many folded and bound sheets containing continuous
+% printing or writing.'' and ``3. A part or subdivision of a treatise or
+% literary work; as, the tenth book of `Paradise Lost'.''  It is this third
+% meaning which the \texttt{book} reference type is meant to support: a major
+% subdivision of a work, much like \cs{part}.  Even if it does not exist in
+% the standard classes, it may exist elsewhere, in particular, it is provided
+% by \cls{memoir}.
+%
+% \textbf{Common numbered objects:} Nothing surprising here, just being
+% explicit.  \texttt{table} and \texttt{figure} refer to the document's
+% respective floats objects.  \texttt{page} to the page number.  \texttt{item}
+% to the item number in \env{enumerate} environments.  Similarly,
+% \texttt{line} is meant to refer to line numbers.
+%
+% \textbf{Notes:} \pkg{zref-clever} provides three reference types in this
+% area: \texttt{footnote}, \texttt{endnote}, and \texttt{note}.  The first two
+% refer to footnotes and end notes, respectively.  The third is meant as a
+% convenience for a general ``note'' object, either the other two, or
+% something else.  By experience, here is one place where that initial
+% observation of not simply translating the reference types names is
+% particularly relevant.  There's a natural temptation, because three
+% different types exist and are somewhat close to each other, to distinguish
+% them clearly.  Duty would compel us to do so.  But that may lead to less
+% than ideal results.  Different terms work well for some languages, like
+% English and German, which have compound words for the purpose.  But less so
+% for other languages, like Portuguese, French, or Italian.  For example, in a
+% document in French which only contains footnotes, arguably a very common use
+% case, would it be better to refer to a footnote as just ``note'', or be very
+% precise with ``note infrapaginale''?  Of course, in a document which
+% contains both footnotes and end notes, we may need the distinction.  But is
+% it really the better default?  True, possibly the inclusion of the
+% \texttt{note} reference type, with no clear object to refer to, creates more
+% noise than convenience here.  If I recall correctly, my intention was to
+% provide an easy way out for users from possible contentious localizations
+% for \texttt{footnote} and \texttt{endnote}, but I'm not sure if it's been
+% working like this in practice, and I should probably have refrained from
+% adding it in the first place.
+%
+% \textbf{Math \& Co.:} A good number of reference types provided by the
+% package are meant to cater for document objects commonly used in Mathematics
+% and related areas.  They are either straight math environments, defined by
+% the kernel, \pkg{amsmath} or other packages, or environments which are
+% normally not pre-defined by the kernel or the standard classes, but are
+% traditionally defined by users with the kernel's \cs{newtheorem} or similar
+% constructs available in the \LaTeX{} package ecosystem.  For most of them,
+% localization should strive as much as possible to use the formal terms,
+% jargon really, typically employed by mathematicians, logicians, and friends.
+% Namely for the reference types: \texttt{equation}, \texttt{theorem},
+% \texttt{lemma}, \texttt{corollary}, \texttt{proposition},
+% \texttt{definition}, \texttt{proof}, \texttt{result}, and \texttt{remark}.
+% Regarding \texttt{example}, \texttt{exercise}, and \texttt{solution} being
+% somewhat less formal is admissible.  But the chosen terms should still be
+% fit for use in Math related contexts, and should be assumed were created by
+% \cs{newtheorem} or similar, even if users may well find other uses for these
+% types.
+%
+% \textbf{Code:} A couple of reference types are provided for code related
+% environments: \texttt{algorithm} and \texttt{listing}.  By experience, the
+% \texttt{listing} type has already proven to be a particularly challenging
+% one.  Formally, it should be a good default term to encompass anything which
+% may regularly be included in a \env{lstlisting} environment as provided by
+% the \pkg{listings} package.  However, it seems that in different languages
+% it is quite difficult to find a satisfying term for it.  Though my English
+% is decent, I'm not a native speaker, still I'm not even sure how common the
+% term is used for the purpose even in English.  It seems to be traditional
+% enough in the \LaTeX{} community at least.  In doubt, pend to the jargon
+% side, anglicism if need be.  Since we are bound to displease mostly everyone
+% anyway, at least we do so in a consistent manner.
+%
+% \textbf{Completeness and abbreviated forms:} Ideally, the language file
+% should be as complete as possible.  ``Complete'' meaning it contains: i) the
+% defaults for all basic separators, \opt{namesep}, \opt{pairsep},
+% \opt{listsep}, \opt{lastsep}, \opt{tpairsep}, \opt{tlistsep},
+% \opt{tlastsep}, \opt{notesep}, and \opt{rangesep}; ii) the non-abbreviated
+% forms of names for all the supported reference types, according to the
+% language definitions, that is, usually for \opt{Name-sg}, \opt{name-sg},
+% \opt{Name-pl}, \opt{name-pl}, but only for the capitalized forms if the
+% language was declared with \opt{allcaps} option, and names for each
+% declension case, if the language was declared with \opt{declension}; iii)
+% genders for each reference type, if the language was declared with
+% \opt{gender}.  The language file may include some other things, like some
+% type specific settings for separators or refbounds, and also some
+% abbreviated name forms.  In the case of abbreviated name forms, it is usual
+% and desirable to provide some, but they should be used sparingly, only for
+% cases where the abbreviation is a common and well established tradition for
+% the language.  The reason is that \texttt{abbrev=true} is quite a common use
+% case, and it is easier to provide an occasional wanted abbreviated form, if
+% the language file didn't include it, than it is to disable several unwanted
+% ones, if the language file includes too many of them.  What should be aimed
+% at is to provide a good default abbreviations set.  Unusual or disputable
+% abbreviations should be avoided.  In particular, there is no need at all to
+% provide the same set of abbreviations for each language.  It is not because
+% English has them for a given type that some other language has to have them,
+% and it is not because English lacks them for another type, that other
+% languages shouldn't have them.  Still, with regard to abbreviated forms, it
+% is better to be conservative than opinionated.
+%
+% \textbf{\pkg{babel} names:} As is known, \pkg{babel} defines a set of
+% captions for different document objects for each supported language.  In
+% some cases, they intersect with the objects referred to with
+% cross-references, in which case consistency with \pkg{babel} should be
+% maintained as much as possible.  This is specially the case for prominent
+% and traditional objects, such as \cs{chaptername}, \cs{figurename},
+% \cs{tablename}, \cs{pagename}, \cs{partname}, and \cs{appendixname}.  This
+% is not set in stone, but there should be good reason to diverge from it.  In
+% particular, if a certain term is contentious in a given language,
+% \pkg{babel}'s default should be preferred.  For example, ``table''
+% vs. ``tableau'' in French, or ``cuadro'' vs. ``tabla'' in Spanish.
+%
+% \textbf{Input encoding of language files:} When \pkg{zref-clever} was
+% released, the \LaTeX{} kernel already used UTF-8 as default input encoding.
+% Indeed, \pkg{zref-clever} requires a kernel even newer than the one where
+% the default input encoding was changed.  That given, UTF-8 input encoding
+% was made a requirement of the package, and hence the language files should
+% be in UTF-8, since it makes them easier to read and maintain than LICR.
+%
+% \textbf{Precedence rule for options in the language files:} Any option given
+% twice or more times has to have some precedence rule.  Normally, the
+% language files should not contain options in duplicity, but they may happen
+% when setting some ``group'' \opt{refbounds} options, in which case
+% precedence rules become relevant.  For user facing options (those set with
+% \cs{zcLanguageSetup}), the option is always set, regardless of its previous
+% state.  Which means that the last value takes precedence.  For the language
+% files, we have to load them at \texttt{begindocument} (or later), since
+% that's the point where we know from \pkg{babel} or \pkg{polyglossia} the
+% \cs{languagename}.  But we also don't want to override any options the user
+% has actively set in the preamble.  So the language files only set the values
+% if they were not previously set.  In other words, for them the precedence
+% order is inverted, the first value takes precedence.
+%
+%
 % \subsection{English}
 %
 % English language file has been initially provided by the author.
@@ -8637,17 +8798,20 @@
 %
 % German language file has been initially provided by the author.
 %
+% \pkg{babel-german} also has \file{.ldf}s for \texttt{germanb} and
+% \texttt{ngermanb}, but they are deprecated as options and, if used, they
+% fall back respectively to \texttt{german} and \texttt{ngerman}.
+%
 %    \begin{macrocode}
 %<*package>
 \zcDeclareLanguage
   [ declension = { N , A , D , G } , gender = { f , m , n } , allcaps ]
   { german }
+\zcDeclareLanguageAlias { ngerman      } { german }
 \zcDeclareLanguageAlias { austrian     } { german }
-\zcDeclareLanguageAlias { germanb      } { german }
-\zcDeclareLanguageAlias { ngerman      } { german }
 \zcDeclareLanguageAlias { naustrian    } { german }
+\zcDeclareLanguageAlias { swissgerman  } { german }
 \zcDeclareLanguageAlias { nswissgerman } { german }
-\zcDeclareLanguageAlias { swissgerman  } { german }
 %</package>
 %    \end{macrocode}
 %
@@ -9115,13 +9279,14 @@
 % \url{https://groups.google.com/g/fr.comp.text.tex/c/Fa11Tf6MFFs}) mailing
 % lists.
 %
+% \pkg{babel-french} also has \file{.ldf}s for \texttt{francais},
+% \texttt{frenchb}, and \texttt{canadien}, but they are deprecated as options
+% and, if used, they fall back to either \texttt{french} or \texttt{acadian}.
+%
 %    \begin{macrocode}
 %<*package>
 \zcDeclareLanguage [ gender = { f , m } ] { french }
 \zcDeclareLanguageAlias { acadian  } { french }
-\zcDeclareLanguageAlias { canadien } { french }
-\zcDeclareLanguageAlias { francais } { french }
-\zcDeclareLanguageAlias { frenchb  } { french }
 %</package>
 %    \end{macrocode}
 %
@@ -9831,9 +9996,9 @@
 %
 % \subsection{Dutch}
 %
-% Dutch language file initially contributed by \texttt{niluxv} (\githubPR{5}).
-% All genders were checked against the ``Dikke Van Dale''.  Many words have
-% multiple genders.
+% Dutch language file initially contributed by \contributor{\username{niluxv}}
+% (\githubPR{5}).  All genders were checked against the ``Dikke Van Dale''.
+% Many words have multiple genders.
 %
 %    \begin{macrocode}
 %<*package>
@@ -9891,12 +10056,18 @@
   Name-pl = Alinea's ,
   name-pl = alinea's ,
 
+%    \end{macrocode}
+% 2022-12-27, \contributor{\username{niluxv}}: ``bijlage'' is chosen over
+% ``appendix'' (plural ``appendices'', gender: m, n) for consistency with
+% babel/polyglossia. ``bijlages'' is also a valid plural; ``bijlagen'' is
+% chosen for consistency with babel/polyglossia.
+%    \begin{macrocode}
 type = appendix ,
-  gender = { m , n } ,
-  Name-sg = Appendix ,
-  name-sg = appendix ,
-  Name-pl = Appendices ,
-  name-pl = appendices ,
+  gender = { f, m } ,
+  Name-sg = Bijlage ,
+  name-sg = bijlage ,
+  Name-pl = Bijlagen ,
+  name-pl = bijlagen ,
 
 type = page ,
   gender = { f , m } ,
@@ -9958,10 +10129,10 @@
 
 type = equation ,
   gender = f ,
-  Name-sg = Vergelijking ,
-  name-sg = vergelijking ,
-  Name-pl = Vergelijkingen ,
-  name-pl = vergelijkingen ,
+  Name-sg = Vergelijking ,
+  name-sg = vergelijking ,
+  Name-pl = Vergelijkingen ,
+  name-pl = vergelijkingen ,
   Name-sg-ab = Vgl. ,
   name-sg-ab = vgl. ,
   Name-pl-ab = Vgl.'s ,
@@ -9977,9 +10148,10 @@
   name-pl = stellingen ,
 
 %    \end{macrocode}
-% 2022-01-09, \texttt{niluxv}: An alternative plural is ``lemmata''.  That is
-% also a correct English plural for lemma, but the English language file
-% chooses ``lemmas''.  For consistency we therefore choose ``lemma's''.
+% 2022-01-09, \contributor{\username{niluxv}}: An alternative plural is
+% ``lemmata''.  That is also a correct English plural for lemma, but the
+% English language file chooses ``lemmas''.  For consistency we therefore
+% choose ``lemma's''.
 %    \begin{macrocode}
 type = lemma ,
   gender = n ,
@@ -10011,10 +10183,10 @@
 
 type = proof ,
   gender = n ,
-  Name-sg = Bewijs ,
-  name-sg = bewijs ,
-  Name-pl = Bewijzen ,
-  name-pl = bewijzen ,
+  Name-sg = Bewijs ,
+  name-sg = bewijs ,
+  Name-pl = Bewijzen ,
+  name-pl = bewijzen ,
 
 type = result ,
   gender = n ,
@@ -10037,16 +10209,21 @@
   Name-pl = Voorbeelden ,
   name-pl = voorbeelden ,
 
+%    \end{macrocode}
+% 2022-12-27, \contributor{\username{niluxv}}: ``algoritmes'' is also a valid
+% plural. ``algoritmen'' is chosen to be consistent with using ``bijlagen''
+% (and not ``bijlages'') as the plural of ``bijlage''.
+%    \begin{macrocode}
 type = algorithm ,
   gender = { n , f , m } ,
   Name-sg = Algoritme ,
   name-sg = algoritme ,
-  Name-pl = Algoritmes ,
-  name-pl = algoritmes ,
+  Name-pl = Algoritmen ,
+  name-pl = algoritmen ,
 
 %    \end{macrocode}
-% 2022-01-09, \texttt{niluxv}: EN-NL Van Dale translates listing as (3)
-% ``uitdraai van computerprogramma'', ``listing''.
+% 2022-01-09, \contributor{\username{niluxv}}: EN-NL Van Dale translates
+% listing as (3) ``uitdraai van computerprogramma'', ``listing''.
 %    \begin{macrocode}
 type = listing ,
   gender = m ,
@@ -10075,6 +10252,257 @@
 %    \end{macrocode}
 %
 %
+% \subsection{Italian}
+%
+% Italian language file initially contributed by Matteo Ferrigato
+% (\githubissue{11}).
+%
+%    \begin{macrocode}
+%<*package>
+\zcDeclareLanguage [ gender = { f , m } ] { italian }
+%</package>
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%<*lang-italian>
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+namesep   = {\nobreakspace} ,
+pairsep   = {~e\nobreakspace} ,
+listsep   = {,~} ,
+lastsep   = {~e\nobreakspace} ,
+tpairsep  = {~e\nobreakspace} ,
+tlistsep  = {,~} ,
+tlastsep  = {,~e\nobreakspace} ,
+notesep   = {~} ,
+rangesep  = {~a\nobreakspace} ,
++refbounds-rb = {da\nobreakspace,,,} ,
+
+type = book ,
+  gender = m ,
+  Name-sg = Libro ,
+  name-sg = libro ,
+  Name-pl = Libri ,
+  name-pl = libri ,
+
+type = part ,
+  gender = f ,
+  Name-sg = Parte ,
+  name-sg = parte ,
+  Name-pl = Parti ,
+  name-pl = parti ,
+
+type = chapter ,
+  gender = m ,
+  Name-sg = Capitolo ,
+  name-sg = capitolo ,
+  Name-pl = Capitoli ,
+  name-pl = capitoli ,
+
+type = section ,
+  gender = m ,
+  Name-sg = Paragrafo ,
+  name-sg = paragrafo ,
+  Name-pl = Paragrafi ,
+  name-pl = paragrafi ,
+
+type = paragraph ,
+  gender = m ,
+  Name-sg = Capoverso ,
+  name-sg = capoverso ,
+  Name-pl = Capoversi ,
+  name-pl = capoversi ,
+
+type = appendix ,
+  gender = f ,
+  Name-sg = Appendice ,
+  name-sg = appendice ,
+  Name-pl = Appendici ,
+  name-pl = appendici ,
+
+type = page ,
+  gender = f ,
+  Name-sg = Pagina ,
+  name-sg = pagina ,
+  Name-pl = Pagine ,
+  name-pl = pagine ,
+  Name-sg-ab = Pag. ,
+  name-sg-ab = pag. ,
+  Name-pl-ab = Pag. ,
+  name-pl-ab = pag. ,
+  rangesep = {\textendash} ,
+  rangetopair = false ,
+  +refbounds-rb = {,,,} ,
+
+type = line ,
+  gender = f ,
+  Name-sg = Riga ,
+  name-sg = riga ,
+  Name-pl = Righe ,
+  name-pl = righe ,
+
+type = figure ,
+  gender = f ,
+  Name-sg = Figura ,
+  name-sg = figura ,
+  Name-pl = Figure ,
+  name-pl = figure ,
+  Name-sg-ab = Fig. ,
+  name-sg-ab = fig. ,
+  Name-pl-ab = Fig. ,
+  name-pl-ab = fig. ,
+
+type = table ,
+  gender = f ,
+  Name-sg = Tabella ,
+  name-sg = tabella ,
+  Name-pl = Tabelle ,
+  name-pl = tabelle ,
+  Name-sg-ab = Tab. ,
+  name-sg-ab = tab. ,
+  Name-pl-ab = Tab. ,
+  name-pl-ab = tab. ,
+
+type = item ,
+  gender = m ,
+  Name-sg = Punto ,
+  name-sg = punto ,
+  Name-pl = Punti ,
+  name-pl = punti ,
+
+type = footnote ,
+  gender = f ,
+  Name-sg = Nota ,
+  name-sg = nota ,
+  Name-pl = Note ,
+  name-pl = note ,
+
+type = endnote ,
+  gender = f ,
+  Name-sg = Nota ,
+  name-sg = nota ,
+  Name-pl = Note ,
+  name-pl = note ,
+
+type = note ,
+  gender = f ,
+  Name-sg = Nota ,
+  name-sg = nota ,
+  Name-pl = Note ,
+  name-pl = note ,
+
+type = equation ,
+  gender = f ,
+  Name-sg = Equazione ,
+  name-sg = equazione ,
+  Name-pl = Equazioni ,
+  name-pl = equazioni ,
+  Name-sg-ab = Eq. ,
+  name-sg-ab = eq. ,
+  Name-pl-ab = Eq. ,
+  name-pl-ab = eq. ,
+  +refbounds-rb = {da\nobreakspace(,,,)} ,
+  refbounds-first-sg = {,(,),} ,
+  refbounds = {(,,,)} ,
+
+type = theorem ,
+  gender = m ,
+  Name-sg = Teorema ,
+  name-sg = teorema ,
+  Name-pl = Teoremi ,
+  name-pl = teoremi ,
+
+type = lemma ,
+  gender = m ,
+  Name-sg = Lemma ,
+  name-sg = lemma ,
+  Name-pl = Lemmi ,
+  name-pl = lemmi ,
+
+type = corollary ,
+  gender = m ,
+  Name-sg = Corollario ,
+  name-sg = corollario ,
+  Name-pl = Corollari ,
+  name-pl = corollari ,
+
+type = proposition ,
+  gender = f ,
+  Name-sg = Proposizione ,
+  name-sg = proposizione ,
+  Name-pl = Proposizioni ,
+  name-pl = proposizioni ,
+
+type = definition ,
+  gender = f ,
+  Name-sg = Definizione ,
+  name-sg = definizione ,
+  Name-pl = Definizioni ,
+  name-pl = definizioni ,
+
+type = proof ,
+  gender = f ,
+  Name-sg = Dimostrazione ,
+  name-sg = dimostrazione ,
+  Name-pl = Dimostrazioni ,
+  name-pl = dimostrazioni ,
+
+type = result ,
+  gender = m ,
+  Name-sg = Risultato ,
+  name-sg = risultato ,
+  Name-pl = Risultati ,
+  name-pl = risultati ,
+
+type = remark ,
+  gender = f ,
+  Name-sg = Osservazione ,
+  name-sg = osservazione ,
+  Name-pl = Osservazioni ,
+  name-pl = osservazioni ,
+
+type = example ,
+  gender = m ,
+  Name-sg = Esempio ,
+  name-sg = esempio ,
+  Name-pl = Esempi ,
+  name-pl = esempi ,
+
+type = algorithm ,
+  gender = m ,
+  Name-sg = Algoritmo ,
+  name-sg = algoritmo ,
+  Name-pl = Algoritmi ,
+  name-pl = algoritmi ,
+
+type = listing ,
+  gender = m ,
+  Name-sg = Listato ,
+  name-sg = listato ,
+  Name-pl = Listati ,
+  name-pl = listati ,
+
+type = exercise ,
+  gender = m ,
+  Name-sg = Esercizio ,
+  name-sg = esercizio ,
+  Name-pl = Esercizi ,
+  name-pl = esercizi ,
+
+type = solution ,
+  gender = f ,
+  Name-sg = Soluzione ,
+  name-sg = soluzione ,
+  Name-pl = Soluzioni ,
+  name-pl = soluzioni ,
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%</lang-italian>
+%    \end{macrocode}
+%
+%
 % \PrintIndex
 %
 %

Modified: trunk/Master/texmf-dist/source/latex/zref-clever/zref-clever.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/zref-clever/zref-clever.ins	2022-12-28 22:30:15 UTC (rev 65386)
+++ trunk/Master/texmf-dist/source/latex/zref-clever/zref-clever.ins	2022-12-28 22:30:37 UTC (rev 65387)
@@ -96,5 +96,6 @@
 \generate{\file{zref-clever-portuguese.lang}{\from{zref-clever.dtx}{lang-portuguese}}}
 \generate{\file{zref-clever-spanish.lang}{\from{zref-clever.dtx}{lang-spanish}}}
 \generate{\file{zref-clever-dutch.lang}{\from{zref-clever.dtx}{lang-dutch}}}
+\generate{\file{zref-clever-italian.lang}{\from{zref-clever.dtx}{lang-italian}}}
 
 \endbatchfile

Modified: trunk/Master/texmf-dist/tex/latex/zref-clever/zref-clever-dutch.lang
===================================================================
--- trunk/Master/texmf-dist/tex/latex/zref-clever/zref-clever-dutch.lang	2022-12-28 22:30:15 UTC (rev 65386)
+++ trunk/Master/texmf-dist/tex/latex/zref-clever/zref-clever-dutch.lang	2022-12-28 22:30:37 UTC (rev 65387)
@@ -88,11 +88,11 @@
   name-pl = alinea's ,
 
 type = appendix ,
-  gender = { m , n } ,
-  Name-sg = Appendix ,
-  name-sg = appendix ,
-  Name-pl = Appendices ,
-  name-pl = appendices ,
+  gender = { f, m } ,
+  Name-sg = Bijlage ,
+  name-sg = bijlage ,
+  Name-pl = Bijlagen ,
+  name-pl = bijlagen ,
 
 type = page ,
   gender = { f , m } ,
@@ -154,10 +154,10 @@
 
 type = equation ,
   gender = f ,
-  Name-sg = Vergelijking ,
-  name-sg = vergelijking ,
-  Name-pl = Vergelijkingen ,
-  name-pl = vergelijkingen ,
+  Name-sg = Vergelijking ,
+  name-sg = vergelijking ,
+  Name-pl = Vergelijkingen ,
+  name-pl = vergelijkingen ,
   Name-sg-ab = Vgl. ,
   name-sg-ab = vgl. ,
   Name-pl-ab = Vgl.'s ,
@@ -202,10 +202,10 @@
 
 type = proof ,
   gender = n ,
-  Name-sg = Bewijs ,
-  name-sg = bewijs ,
-  Name-pl = Bewijzen ,
-  name-pl = bewijzen ,
+  Name-sg = Bewijs ,
+  name-sg = bewijs ,
+  Name-pl = Bewijzen ,
+  name-pl = bewijzen ,
 
 type = result ,
   gender = n ,
@@ -232,8 +232,8 @@
   gender = { n , f , m } ,
   Name-sg = Algoritme ,
   name-sg = algoritme ,
-  Name-pl = Algoritmes ,
-  name-pl = algoritmes ,
+  Name-pl = Algoritmen ,
+  name-pl = algoritmen ,
 
 type = listing ,
   gender = m ,

Added: trunk/Master/texmf-dist/tex/latex/zref-clever/zref-clever-italian.lang
===================================================================
--- trunk/Master/texmf-dist/tex/latex/zref-clever/zref-clever-italian.lang	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/zref-clever/zref-clever-italian.lang	2022-12-28 22:30:37 UTC (rev 65387)
@@ -0,0 +1,275 @@
+%%
+%% This is file `zref-clever-italian.lang',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% zref-clever.dtx  (with options: `lang-italian')
+%% 
+%% This file was generated from file(s) of the LaTeX package "zref-clever".
+%% 
+%% Copyright (C) 2021-2022  Gustavo Barros
+%% 
+%% It may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License (LPPL), either version 1.3c of this
+%% license or (at your option) any later version.  The latest version
+%% of this license is in the file:
+%% 
+%%    https://www.latex-project.org/lppl.txt
+%% 
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%% 
+%% 
+%% This work is "maintained" (as per LPPL maintenance status) by
+%%   Gustavo Barros.
+%% 
+%% This work consists of the files zref-clever.dtx,
+%%                                 zref-clever.ins,
+%%                                 zref-clever.tex,
+%%                                 zref-clever-code.tex,
+%%                   and the files generated from them.
+%% 
+%% The released version of this package is available from CTAN.
+%% 
+%% -----------------------------------------------------------------------
+%% 
+%% The development version of the package can be found at
+%% 
+%%    https://github.com/gusbrs/zref-clever
+%% 
+%% for those people who are interested.
+%% 
+%% -----------------------------------------------------------------------
+%% 
+namesep   = {\nobreakspace} ,
+pairsep   = {~e\nobreakspace} ,
+listsep   = {,~} ,
+lastsep   = {~e\nobreakspace} ,
+tpairsep  = {~e\nobreakspace} ,
+tlistsep  = {,~} ,
+tlastsep  = {,~e\nobreakspace} ,
+notesep   = {~} ,
+rangesep  = {~a\nobreakspace} ,
++refbounds-rb = {da\nobreakspace,,,} ,
+
+type = book ,
+  gender = m ,
+  Name-sg = Libro ,
+  name-sg = libro ,
+  Name-pl = Libri ,
+  name-pl = libri ,
+
+type = part ,
+  gender = f ,
+  Name-sg = Parte ,
+  name-sg = parte ,
+  Name-pl = Parti ,
+  name-pl = parti ,
+
+type = chapter ,
+  gender = m ,
+  Name-sg = Capitolo ,
+  name-sg = capitolo ,
+  Name-pl = Capitoli ,
+  name-pl = capitoli ,
+
+type = section ,
+  gender = m ,
+  Name-sg = Paragrafo ,
+  name-sg = paragrafo ,
+  Name-pl = Paragrafi ,
+  name-pl = paragrafi ,
+
+type = paragraph ,
+  gender = m ,
+  Name-sg = Capoverso ,
+  name-sg = capoverso ,
+  Name-pl = Capoversi ,
+  name-pl = capoversi ,
+
+type = appendix ,
+  gender = f ,
+  Name-sg = Appendice ,
+  name-sg = appendice ,
+  Name-pl = Appendici ,
+  name-pl = appendici ,
+
+type = page ,
+  gender = f ,
+  Name-sg = Pagina ,
+  name-sg = pagina ,
+  Name-pl = Pagine ,
+  name-pl = pagine ,
+  Name-sg-ab = Pag. ,
+  name-sg-ab = pag. ,
+  Name-pl-ab = Pag. ,
+  name-pl-ab = pag. ,
+  rangesep = {\textendash} ,
+  rangetopair = false ,
+  +refbounds-rb = {,,,} ,
+
+type = line ,
+  gender = f ,
+  Name-sg = Riga ,
+  name-sg = riga ,
+  Name-pl = Righe ,
+  name-pl = righe ,
+
+type = figure ,
+  gender = f ,
+  Name-sg = Figura ,
+  name-sg = figura ,
+  Name-pl = Figure ,
+  name-pl = figure ,
+  Name-sg-ab = Fig. ,
+  name-sg-ab = fig. ,
+  Name-pl-ab = Fig. ,
+  name-pl-ab = fig. ,
+
+type = table ,
+  gender = f ,
+  Name-sg = Tabella ,
+  name-sg = tabella ,
+  Name-pl = Tabelle ,
+  name-pl = tabelle ,
+  Name-sg-ab = Tab. ,
+  name-sg-ab = tab. ,
+  Name-pl-ab = Tab. ,
+  name-pl-ab = tab. ,
+
+type = item ,
+  gender = m ,
+  Name-sg = Punto ,
+  name-sg = punto ,
+  Name-pl = Punti ,
+  name-pl = punti ,
+
+type = footnote ,
+  gender = f ,
+  Name-sg = Nota ,
+  name-sg = nota ,
+  Name-pl = Note ,
+  name-pl = note ,
+
+type = endnote ,
+  gender = f ,
+  Name-sg = Nota ,
+  name-sg = nota ,
+  Name-pl = Note ,
+  name-pl = note ,
+
+type = note ,
+  gender = f ,
+  Name-sg = Nota ,
+  name-sg = nota ,
+  Name-pl = Note ,
+  name-pl = note ,
+
+type = equation ,
+  gender = f ,
+  Name-sg = Equazione ,
+  name-sg = equazione ,
+  Name-pl = Equazioni ,
+  name-pl = equazioni ,
+  Name-sg-ab = Eq. ,
+  name-sg-ab = eq. ,
+  Name-pl-ab = Eq. ,
+  name-pl-ab = eq. ,
+  +refbounds-rb = {da\nobreakspace(,,,)} ,
+  refbounds-first-sg = {,(,),} ,
+  refbounds = {(,,,)} ,
+
+type = theorem ,
+  gender = m ,
+  Name-sg = Teorema ,
+  name-sg = teorema ,
+  Name-pl = Teoremi ,
+  name-pl = teoremi ,
+
+type = lemma ,
+  gender = m ,
+  Name-sg = Lemma ,
+  name-sg = lemma ,
+  Name-pl = Lemmi ,
+  name-pl = lemmi ,
+
+type = corollary ,
+  gender = m ,
+  Name-sg = Corollario ,
+  name-sg = corollario ,
+  Name-pl = Corollari ,
+  name-pl = corollari ,
+
+type = proposition ,
+  gender = f ,
+  Name-sg = Proposizione ,
+  name-sg = proposizione ,
+  Name-pl = Proposizioni ,
+  name-pl = proposizioni ,
+
+type = definition ,
+  gender = f ,
+  Name-sg = Definizione ,
+  name-sg = definizione ,
+  Name-pl = Definizioni ,
+  name-pl = definizioni ,
+
+type = proof ,
+  gender = f ,
+  Name-sg = Dimostrazione ,
+  name-sg = dimostrazione ,
+  Name-pl = Dimostrazioni ,
+  name-pl = dimostrazioni ,
+
+type = result ,
+  gender = m ,
+  Name-sg = Risultato ,
+  name-sg = risultato ,
+  Name-pl = Risultati ,
+  name-pl = risultati ,
+
+type = remark ,
+  gender = f ,
+  Name-sg = Osservazione ,
+  name-sg = osservazione ,
+  Name-pl = Osservazioni ,
+  name-pl = osservazioni ,
+
+type = example ,
+  gender = m ,
+  Name-sg = Esempio ,
+  name-sg = esempio ,
+  Name-pl = Esempi ,
+  name-pl = esempi ,
+
+type = algorithm ,
+  gender = m ,
+  Name-sg = Algoritmo ,
+  name-sg = algoritmo ,
+  Name-pl = Algoritmi ,
+  name-pl = algoritmi ,
+
+type = listing ,
+  gender = m ,
+  Name-sg = Listato ,
+  name-sg = listato ,
+  Name-pl = Listati ,
+  name-pl = listati ,
+
+type = exercise ,
+  gender = m ,
+  Name-sg = Esercizio ,
+  name-sg = esercizio ,
+  Name-pl = Esercizi ,
+  name-pl = esercizi ,
+
+type = solution ,
+  gender = f ,
+  Name-sg = Soluzione ,
+  name-sg = soluzione ,
+  Name-pl = Soluzioni ,
+  name-pl = soluzioni ,
+%% 
+%%
+%% End of file `zref-clever-italian.lang'.

Modified: trunk/Master/texmf-dist/tex/latex/zref-clever/zref-clever.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/zref-clever/zref-clever.sty	2022-12-28 22:30:15 UTC (rev 65386)
+++ trunk/Master/texmf-dist/tex/latex/zref-clever/zref-clever.sty	2022-12-28 22:30:37 UTC (rev 65387)
@@ -53,7 +53,7 @@
       }%
     \endinput
   }%
-\ProvidesExplPackage {zref-clever} {2022-05-28} {0.3.1}
+\ProvidesExplPackage {zref-clever} {2022-12-27} {0.3.2}
   {Clever LaTeX cross-references based on zref}
 \RequirePackage { zref-base }
 \RequirePackage { zref-user }
@@ -4730,8 +4730,6 @@
             ! \l__zrefclever_link_star_bool
           }
           {
-            \exp_not:N \group_begin:
-            \exp_not:V \l__zrefclever_reffont_tl
             \seq_item:Nn #2 { 1 }
             \__zrefclever_hyperlink:nnn
               { \__zrefclever_extract_url_unexp:n {#1} }
@@ -4738,23 +4736,25 @@
               { \__zrefclever_extract_unexp:nnn {#1} { anchor } { } }
               {
                 \seq_item:Nn #2 { 2 }
+                \exp_not:N \group_begin:
+                \exp_not:V \l__zrefclever_reffont_tl
                 \__zrefclever_extract_unexp:nvn {#1}
                   { l__zrefclever_ref_property_tl } { }
+                \exp_not:N \group_end:
                 \seq_item:Nn #2 { 3 }
               }
             \seq_item:Nn #2 { 4 }
-            \exp_not:N \group_end:
           }
           {
+            \seq_item:Nn #2 { 1 }
+            \seq_item:Nn #2 { 2 }
             \exp_not:N \group_begin:
             \exp_not:V \l__zrefclever_reffont_tl
-            \seq_item:Nn #2 { 1 }
-            \seq_item:Nn #2 { 2 }
             \__zrefclever_extract_unexp:nvn {#1}
               { l__zrefclever_ref_property_tl } { }
+            \exp_not:N \group_end:
             \seq_item:Nn #2 { 3 }
             \seq_item:Nn #2 { 4 }
-            \exp_not:N \group_end:
           }
       }
       { \__zrefclever_ref_default: }
@@ -4771,8 +4771,6 @@
             ! \l__zrefclever_link_star_bool
           }
           {
-            \exp_not:N \group_begin:
-            \exp_not:V \l__zrefclever_reffont_tl
             \seq_item:Nn #3 { 1 }
             \__zrefclever_hyperlink:nnn
               { \__zrefclever_extract_url_unexp:n {#1} }
@@ -4779,21 +4777,23 @@
               { \__zrefclever_extract_unexp:nnn {#1} { anchor } { } }
               {
                 \seq_item:Nn #3 { 2 }
+                \exp_not:N \group_begin:
+                \exp_not:V \l__zrefclever_reffont_tl
                 \exp_not:n {#2}
+                \exp_not:N \group_end:
                 \seq_item:Nn #3 { 3 }
               }
             \seq_item:Nn #3 { 4 }
-            \exp_not:N \group_end:
           }
           {
+            \seq_item:Nn #3 { 1 }
+            \seq_item:Nn #3 { 2 }
             \exp_not:N \group_begin:
             \exp_not:V \l__zrefclever_reffont_tl
-            \seq_item:Nn #3 { 1 }
-            \seq_item:Nn #3 { 2 }
             \exp_not:n {#2}
+            \exp_not:N \group_end:
             \seq_item:Nn #3 { 3 }
             \seq_item:Nn #3 { 4 }
-            \exp_not:N \group_end:
           }
       }
   }
@@ -4809,7 +4809,6 @@
               { \l__zrefclever_type_first_label_tl }
               { \l__zrefclever_ref_property_tl }
               {
-                \exp_not:N \group_begin:
                 \__zrefclever_hyperlink:nnn
                   {
                     \__zrefclever_extract_url_unexp:V
@@ -4825,19 +4824,17 @@
                     \exp_not:V \l__zrefclever_type_name_tl
                     \exp_not:N \group_end:
                     \exp_not:V \l__zrefclever_namesep_tl
+                    \seq_item:Nn \l__zrefclever_type_first_refbounds_seq { 1 }
+                    \seq_item:Nn \l__zrefclever_type_first_refbounds_seq { 2 }
                     \exp_not:N \group_begin:
                     \exp_not:V \l__zrefclever_reffont_tl
-                    \seq_item:Nn \l__zrefclever_type_first_refbounds_seq { 1 }
-                    \seq_item:Nn \l__zrefclever_type_first_refbounds_seq { 2 }
                     \__zrefclever_extract_unexp:Vvn
                       \l__zrefclever_type_first_label_tl
                       { l__zrefclever_ref_property_tl } { }
+                    \exp_not:N \group_end:
                     \seq_item:Nn \l__zrefclever_type_first_refbounds_seq { 3 }
-                    \exp_not:N \group_end:
                   }
-                \exp_not:V \l__zrefclever_reffont_tl
                 \seq_item:Nn \l__zrefclever_type_first_refbounds_seq { 4 }
-                \exp_not:N \group_end:
               }
               {
                 \exp_not:N \group_begin:
@@ -4872,8 +4869,6 @@
                     ! \l__zrefclever_link_star_bool
                   }
                   {
-                    \exp_not:N \group_begin:
-                    \exp_not:V \l__zrefclever_reffont_tl
                     \seq_item:Nn
                       \l__zrefclever_type_first_refbounds_seq { 1 }
                     \__zrefclever_hyperlink:nnn
@@ -4888,27 +4883,29 @@
                       {
                         \seq_item:Nn
                           \l__zrefclever_type_first_refbounds_seq { 2 }
+                        \exp_not:N \group_begin:
+                        \exp_not:V \l__zrefclever_reffont_tl
                         \__zrefclever_extract_unexp:Vvn
                           \l__zrefclever_type_first_label_tl
                           { l__zrefclever_ref_property_tl } { }
+                        \exp_not:N \group_end:
                         \seq_item:Nn
                           \l__zrefclever_type_first_refbounds_seq { 3 }
                       }
                     \seq_item:Nn
                       \l__zrefclever_type_first_refbounds_seq { 4 }
-                    \exp_not:N \group_end:
                   }
                   {
+                    \seq_item:Nn \l__zrefclever_type_first_refbounds_seq { 1 }
+                    \seq_item:Nn \l__zrefclever_type_first_refbounds_seq { 2 }
                     \exp_not:N \group_begin:
                     \exp_not:V \l__zrefclever_reffont_tl
-                    \seq_item:Nn \l__zrefclever_type_first_refbounds_seq { 1 }
-                    \seq_item:Nn \l__zrefclever_type_first_refbounds_seq { 2 }
                     \__zrefclever_extract_unexp:Vvn
                       \l__zrefclever_type_first_label_tl
                       { l__zrefclever_ref_property_tl } { }
+                    \exp_not:N \group_end:
                     \seq_item:Nn \l__zrefclever_type_first_refbounds_seq { 3 }
                     \seq_item:Nn \l__zrefclever_type_first_refbounds_seq { 4 }
-                    \exp_not:N \group_end:
                   }
               }
               { \__zrefclever_ref_default: }
@@ -5578,8 +5575,6 @@
                   { \zref at localaddprop \ZREF at mainlist { subeq } }
               }
           }
-        \zcRefTypeSetup { equation }
-          { reffont = \upshape }
         \msg_info:nnn { zref-clever } { compat-package } { amsmath }
       }
   }
@@ -5759,17 +5754,13 @@
 \zcDeclareLanguage
   [ declension = { N , A , D , G } , gender = { f , m , n } , allcaps ]
   { german }
+\zcDeclareLanguageAlias { ngerman      } { german }
 \zcDeclareLanguageAlias { austrian     } { german }
-\zcDeclareLanguageAlias { germanb      } { german }
-\zcDeclareLanguageAlias { ngerman      } { german }
 \zcDeclareLanguageAlias { naustrian    } { german }
+\zcDeclareLanguageAlias { swissgerman  } { german }
 \zcDeclareLanguageAlias { nswissgerman } { german }
-\zcDeclareLanguageAlias { swissgerman  } { german }
 \zcDeclareLanguage [ gender = { f , m } ] { french }
 \zcDeclareLanguageAlias { acadian  } { french }
-\zcDeclareLanguageAlias { canadien } { french }
-\zcDeclareLanguageAlias { francais } { french }
-\zcDeclareLanguageAlias { frenchb  } { french }
 \zcDeclareLanguage [ gender = { f , m } ] { portuguese }
 \zcDeclareLanguageAlias { brazilian } { portuguese }
 \zcDeclareLanguageAlias { brazil    } { portuguese }
@@ -5776,6 +5767,7 @@
 \zcDeclareLanguageAlias { portuges  } { portuguese }
 \zcDeclareLanguage [ gender = { f , m } ] { spanish }
 \zcDeclareLanguage [ gender = { f , m , n } ] { dutch }
+\zcDeclareLanguage [ gender = { f , m } ] { italian }
 %% 
 %%
 %% End of file `zref-clever.sty'.



More information about the tex-live-commits mailing list.