summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/zref-clever/zref-clever.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/zref-clever/zref-clever.dtx')
-rw-r--r--macros/latex/contrib/zref-clever/zref-clever.dtx556
1 files changed, 492 insertions, 64 deletions
diff --git a/macros/latex/contrib/zref-clever/zref-clever.dtx b/macros/latex/contrib/zref-clever/zref-clever.dtx
index e0d04a1264..8604bd5c39 100644
--- a/macros/latex/contrib/zref-clever/zref-clever.dtx
+++ b/macros/latex/contrib/zref-clever/zref-clever.dtx
@@ -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,15 +165,17 @@
%
% 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}
%
%
% \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,31 +6864,31 @@
! \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} }
{ \@@_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:
}
{
- \exp_not:N \group_begin:
- \exp_not:V \l_@@_reffont_tl
\seq_item:Nn #2 { 1 }
\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:
}
}
{ \@@_ref_default: }
@@ -6911,29 +6913,29 @@
! \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} }
{ \@@_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:
}
{
- \exp_not:N \group_begin:
- \exp_not:V \l_@@_reffont_tl
\seq_item:Nn #3 { 1 }
\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:
}
}
}
@@ -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
- \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 }
+ \exp_not:N \group_begin:
+ \exp_not:V \l_@@_reffont_tl
\@@_extract_unexp:Vvn
\l_@@_type_first_label_tl
{ l_@@_ref_property_tl } { }
- \seq_item:Nn \l_@@_type_first_refbounds_seq { 3 }
\exp_not:N \group_end:
+ \seq_item:Nn \l_@@_type_first_refbounds_seq { 3 }
}
- \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:
}
{
- \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 }
+ \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:
}
}
{ \@@_ref_default: }
@@ -8098,12 +8097,6 @@
{ \zref@localaddprop \ZREF@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 @@ type = solution ,
%
% 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 { austrian } { german }
-\zcDeclareLanguageAlias { germanb } { german }
\zcDeclareLanguageAlias { ngerman } { german }
+\zcDeclareLanguageAlias { austrian } { german }
\zcDeclareLanguageAlias { naustrian } { german }
-\zcDeclareLanguageAlias { nswissgerman } { german }
\zcDeclareLanguageAlias { swissgerman } { german }
+\zcDeclareLanguageAlias { nswissgerman } { german }
%</package>
% \end{macrocode}
%
@@ -9115,13 +9279,14 @@ type = solution ,
% \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 @@ type = solution ,
%
% \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 @@ type = paragraph ,
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 = note ,
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 @@ type = theorem ,
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 = definition ,
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 @@ type = example ,
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 @@ type = solution ,
% \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
%
%