summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-01-05 22:38:02 +0000
committerKarl Berry <karl@freefriends.org>2019-01-05 22:38:02 +0000
commitcf794f0e2db6857972a9d48d4466a4f03a7057a0 (patch)
treee9bad7a6b1ea8cba2b87360243434bb6dc09227a
parentd32069c489161db0aa28e6b7002b2a36ce159f4b (diff)
babel-italian (5jan19)
git-svn-id: svn://tug.org/texlive/trunk@49606 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/generic/babel-italian/README.txt13
-rw-r--r--Master/texmf-dist/doc/generic/babel-italian/italian.pdfbin375163 -> 443357 bytes
-rw-r--r--Master/texmf-dist/source/generic/babel-italian/italian.dtx388
-rw-r--r--Master/texmf-dist/source/generic/babel-italian/italian.ins85
-rw-r--r--Master/texmf-dist/tex/generic/babel-italian/italian.ldf66
5 files changed, 268 insertions, 284 deletions
diff --git a/Master/texmf-dist/doc/generic/babel-italian/README.txt b/Master/texmf-dist/doc/generic/babel-italian/README.txt
new file mode 100644
index 00000000000..11598a8e32a
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/babel-italian/README.txt
@@ -0,0 +1,13 @@
+The italian.dtx file has version number 1.4.01 dated 2019-01-05.
+It is and update of a series fo files stating with the first one in 1990
+Copyright (C) 1990-2019 Claudio Beccari
+Maintainer Claudio Beccari
+Contact: claudio dot beccari at gmail dot com
+
+Description
+This file contain the necessary and supplementary data for typesetting documents in Italiana with babel as the manager of the language management.
+It defines the infix words, the date in various formats. Optionally lets the user activate a number of shorthands to performe routine frequent tasks by means of the active character " that can be freely activated and deactivated. It defines an intelligent mathematical comma that recognises if it has to perform as a punctuation mark or as a decimal separator. Another user command activates or deactivates some commands to supply a minimum of performance that is fully provided by the siunitx package. The file allows using babel also when a document is typeset with XeLaTeX or LuaLaTeX, even if, according to the author, polyglossia is preferred when typesetting documents in Italian, even if the gloss-italian.ldf for polyglossia provides less facilities than the ones available with babel.
+
+The documentation that is provided by running LaTeX on the italian.dtx file provides full documentation of every facility provided by the italian.ldf file.
+
+
diff --git a/Master/texmf-dist/doc/generic/babel-italian/italian.pdf b/Master/texmf-dist/doc/generic/babel-italian/italian.pdf
index 74cf38023bb..ecb435c1f36 100644
--- a/Master/texmf-dist/doc/generic/babel-italian/italian.pdf
+++ b/Master/texmf-dist/doc/generic/babel-italian/italian.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/generic/babel-italian/italian.dtx b/Master/texmf-dist/source/generic/babel-italian/italian.dtx
index 8298182d7ca..a7a234fea11 100644
--- a/Master/texmf-dist/source/generic/babel-italian/italian.dtx
+++ b/Master/texmf-dist/source/generic/babel-italian/italian.dtx
@@ -1,39 +1,66 @@
% \iffalse meta-comment
+% !TEX TS-program = pdflatex
+% !TEX encoding = UTF-8 Unicode
+%<*internal>
+\begingroup
+\input docstrip.tex
+\keepsilent
+
+
+\preamble
+------------------------------------------
+The Italian support for babel: italian.ldf.
+Copyright (C) 1990-2019 Claudio Beccari
+All rights reserved
+
+License information appended.
+\endpreamble
+\postamble
+
+Copyright (C) 1990-2019 Claudio Beccari
+
+ It may be distributed and/or modified under the
+ conditions of the LaTeX Project Public License, either version 1.3c
+ of this license or (at your option) any later version.
+ The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+ and version 1.3c or later is part of all distributions of LaTeX
+ version 2003/12/01 or later.
+
+ This work has the LPPL maintenance status "maintained".
+
+ The Current Maintainer of the babel system is Javier Bezos
+ The current maintainer of Italian language support is Claudio Beccari
+
+This work consists of this file italian.dtx and the derived
+file italian.ldf
+
+ The list of all files belonging to the LaTeX base distribution is
+ given in the file `manifest.bbl. See also `legal.bbl' for additional
+ information.
+
+This file is a self unpacking one.
+\endpostamble
+\askforoverwritefalse
+\generate{\file{italian.ldf}{\from{italian.dtx}{code}}}
+
+\def\tmpa{plain}
+\ifx\tmpa\fmtname\endgroup\expandafter\bye\fi
+\endgroup
+%</internal>
%
-%
-% It may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
-% of this license or (at your option) any later version.
-% The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2003/12/01 or later.
-%
-% This work has the LPPL maintenance status "maintained".
-%
-% The Current Maintainer of the babel system is Javier Bezos
-% The current maintainer of Italian language support is Claudio Beccari
-%
-% The list of all files belonging to the LaTeX base distribution is
-% given in the file `manifest.bbl. See also `legal.bbl' for additional
-% information.
-%
-% The list of derived (unpacked) files belonging to the distribution
-% and covered by LPPL is defined by the unpacking scripts (with
-% extension .ins) which are part of the distribution.
% \fi
-% \CheckSum{740}
% \iffalse
% Tell the \LaTeX\ system who we are and write an entry on the
% transcript.
%\fi
%\iffalse
-%<*filedriver>
+%<*driver>
\ProvidesFile{italian.dtx}
-%</filedriver>
+%</driver>
%<code>\ProvidesLanguage{italian}
%<*code>
- [2015/03/26 v1.3n Italian support from the babel system]
+ [2019/01/05 v.1.4.01 Italian support for the babel system]
%</code>
%%
%% Please report errors to: claudio dot beccari at gmail dot com
@@ -45,8 +72,13 @@
% Codogno, (mau@beatles.cselt.stet.it).
% The package was completely rewritten by Claudio Beccari, who added
% several features.
-%<*filedriver>
+%<*driver>
\documentclass{ltxdoc}
+\GetFileInfo{italian.dtx}
+\title{The Italian support for babel}
+\date{\fileversion\space--- \filedate}
+\author{\makebox[\textwidth]{Claudio Beccari ---
+mail: \texttt{claudio dot beccari at gmail dot com}}}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{booktabs}
@@ -57,11 +89,17 @@
\newcommand*\Lopt[1]{\textsf{#1}}
\newcommand*\file[1]{\texttt{#1}}
\begin{document}
+\maketitle
+\begin{multicols}{2}
+\tableofcontents
+\end{multicols}
+ \setlength\hfuzz{20pt}
\DocInput{italian.dtx}
\end{document}
-%</filedriver>
+%</driver>
%\fi
-% \GetFileInfo{italian.dtx}
+%
+% \CheckSum{755}
%
% \changes{italian-0.99}{1990/07/11}{First version, from english.doc}
% \changes{italian-1.0}{1991/04/23}{Modified for babel 3.0}
@@ -96,34 +134,43 @@
% slides class file}
% \changes{italian-1.3}{2013/09/29}{Completely changed the Italian
% guillemet functionality in order to simplify their handling}
-% \changes{italian-1.3}{2013/09/30}{Eliminated the \emph{traditional} attribute;
-% the same functionality is obtained with the declaration \cs{XXIletters}}
-% \changes{italian-1.3}{2-13/09/30}{Command \cs{unit} is disabled if packages
-% units, SIunits, or siunitx have been loaded; this control is now deferred
-% at the end of the preamble, when all packages have already been loaded}
+% \changes{italian-1.3}{2013/09/30}{Eliminated the \emph{traditional}
+% attribute; the same functionality is obtained with the declaration
+% \cs{XXIletters}}
+% \changes{italian-1.3}{2013/09/30}{Command \cs{unit} is disabled if
+% packages units, SIunits, or siunitx have been loaded; this control is
+% now deferred at the end of the preamble, when all packages have already
+% been loaded}
% \changes{italian-1.3a}{2013/10/02}{Eliminated conflict with the amsmath
% package}
% \changes{italian-1.3-d}{2013/11/11}{Corrected the \string" behaviour for
% etymological hyphenation}
-% \changes{italian-1.3f}{2013/11/22}{Deleted extra \cs{selectlanguage}\{italian\}}
+% \changes{italian-1.3f}{2013/11/22}{Deleted extra \cs{selectlanguage}%
+% \{italian\}}
% \changes{italian-1.3g}{2014/02/16}{Corrected the \string"/ shorthand}
-% \changes{italian-1.3g}{2014/02/16}{Italian shorthandss are now optional as
-% well as the intelligent comma facility}
+% \changes{italian-1.3g}{2014/02/16}{Italian shorthandss are now optional
+% as well as the intelligent comma facility}
% \changes{italian-i.3i}{2014/02/17}{Updated documentation}
% \changes{italian-1.3i}{2014/02/17}{Modified the \string"- shorthand}
-% \changes{italian-1.3j}{2014/02/22}{\string\setactivedoublequote\ does work
-% but it must be delayed until \string\begin\{document\}; with babel 3.9g
-% the main language is set before this point, therefore it is necessary
-% to select again the Italian language if this is the main one}
+% \changes{italian-1.3j}{2014/02/22}{\string\setactivedoublequote\ does
+% work but it must be delayed until \string\begin\{document\}; with babel
+% 3.9g the main language is set before this point, therefore it is
+% necessary to select again the Italian language if this is the main one}
% \changes{italian-1.3k}{2014/03/29}{Corrected discrepancy between
-% \cs{SetISOcompliance} (wrong in documentation) and \cs{setISOcompliance}
-% (correct in code)}
+% \cs{SetISOcompliance} (wrong in documentation) and
+% \cs{setISOcompliance} (correct in code)}
% \changes{italian-1.3l}{2014/05/25}{Corrections in the documentation}
-% \changes{italian-1.3m}{2015/03/12}{More corrections to the documentations,
-% specifically on conflicts with the dcolumn package and its D column.
-% The whole \(No)IntelligentComma mechanism has been actually completely
-% rewritten; so the change does not deal only with documentation, but also
-% with code.}
+% \changes{italian-1.3m}{2015/03/12}{More corrections to the
+% documentations, specifically on conflicts with the dcolumn package and
+% its D column. The whole \(No)IntelligentComma mechanism has been
+% actually completely rewritten; so the change does not deal only with
+% documentation, but also with code.}
+% \changes{italian-1.3n}{2015/03/26}{Minor corrections}
+% \changes{italian-1.4.00}{2019/01/01}{Fixed the problem with the
+% apostrophe unicode code for when babel=italian is used with
+% xelatex or lualatex.}
+% \changes{italian-1.4.01}{2019/01/05}{Rewritten code introduced in 1.4.00,
+% and the documentation modified accordingly.}
%
% \section{The Italian language}
% \textbf{Important notice}: This language description file relies on
@@ -301,7 +348,6 @@
% essential with open software such as the uncountable contributions
% to the \TeX\ system. Thank you very much.
%
-% \StopEventually{%
% \begin{thebibliography}{1}
% \bibitem{CBec} Beccari C., ``Computer Aided Hyphenation for
% Italian and Modern Latin'', \textsf{TUGboat} vol.~13, n.~1,
@@ -309,7 +355,9 @@
% \bibitem{Becc2} Beccari C., ``Typesetting mathematics for science
% and technology according to ISO\,31/XI'', \textsf{TUGboat}
% vol.~18, n.~1, pp.~39-48 (1997).
-% \end{thebibliography}}
+% \end{thebibliography}
+%
+% \StopEventually{}%
%
%\subsection{The commented code}
% The macro |\LdfInit| takes care of preventing that this file is
@@ -449,13 +497,23 @@
% In order to enable the hyphenation of words such as
% ``nell'altezza'' we give the \texttt{'} a non-zero lower case
% code. When we do that \TeX\ finds the following hyphenation
-% points |nel-l'al-tez-za| instead of none.
+% points |nel-l'al-tez-za| instead of none. If this |italian.ldf| is
+% (improperly) used with |babel| when typesetting with |xelatex| or
+% |lualatex| the apostrophe must receive a unicode code point.
+% Therefore we use the same test that is being used by the |iftex|
+% package in order to check if this option to |babel| is used while
+% typesetting with |pdflatex| or another typesetting engine.
% \begin{macrocode}
+
\addto\extrasitalian{%
- \lccode`'=`'}%
+\lccode\string`'=`' \unless\ifcsname pdfmatch\endcsname
+\lccode\string"2019=\string"2019\fi}
\addto\noextrasitalian{%
- \lccode`'=0}%
+\lccode\string`'=0 \unless\ifcsname pdfmatch\endcsname
+\lccode\string"2019=0\fi}
+
% \end{macrocode}
+% Notice, though, that if you use |babel| when typesetting with |lualatex| or |xelatex| using the |fontspec| usual commands and options may not lead to their proper font alternative variants being used. Apparently the |\balefont| command is more performant in transmitting the proper information to |fontspec|. Of course |\babelfont| must be used after the |babel| package has been invoked; while there appears to be any loading precedence requirements when |fontspec| and |polyglossa| are used
% \end{macro}
% \end{macro}
%
@@ -766,9 +824,9 @@
% as \texttt{ki-lo-\"or-sted} The \verb="|= macro is necessary
% because, even with a suitable option specified to the |inputenc|
% package, the letter `\"o' does not have category code 11, as the ASCII
-% letters do, because of the LICR (LaTeX Internal Character Representation),
-% i.e. the set of intermediate macros that have to be expanded
-% in order to fetch the proper glyph in the output font.
+% letters do, because of the LICR (LaTeX Internal Character
+% Representation), i.e. the set of intermediate macros that have to be
+% expanded in order to fetch the proper glyph in the output font.
%
% \changes{italian-1.2l}{1999/04/05}{Added useful macros for
% fulfilling ISO 31/XI regulations}
@@ -790,17 +848,17 @@
% |SIunits| and |siunitx.sty|; the latter nowadays offers the best
% performances in this domain. Therefore we keep controlling the
% possibility that |units.sty| has been loaded just for backwards
-% compatibility, but we must do the same with |SIunits| and |siunitx.sty|.
-% In order to avoid the necessity o loading packages in a certain order,
-% we delay the test until |\begin{document}|.
+% compatibility, but we must do the same with |SIunits| and
+% |siunitx.sty|. In order to avoid the necessity o loading packages
+% in a certain order, we delay the test until |\begin{document}|.
%
% The same ISO regulations require also that super and subscripts
% (apices and pedices) are in upright font, \emph{not in math
% italics}, when they represent ``adjectives'' or appositions to
% mathematical or physical variables that do not represent
% countable or measurable entities: for example,
-% $V_{\mathrm{max}}$ or $V_{\mathrm{rms}}$ for a maximum voltage or a root
-% mean square voltage, compared to $V_i$ or $V_T$ as the $i$-th
+% $V_{\mathrm{max}}$ or $V_{\mathrm{rms}}$ for a maximum voltage or
+% a root mean square voltage, compared to $V_i$ or $V_T$ as the $i$-th
% voltage in a set, or a voltage that depends on the thermodynamic
% temperature $T$. See \cite{Becc2} for a complete description of
% the ISO regulations in connection with typesetting.
@@ -881,29 +939,30 @@
% \begin{macro}{\IntelligentComma}
% \begin{macro}{\NoIntellgentComma}
% This feature is optional, in the sense that it is necessary to issue
-% a specific command to activate it; actually this functionality is activated
-% or, respectively, deactivated with the self explanatory commands
-% |\IntelligentComma| and |\NoIntelligentComma|. They operate by setting or
-% resetting the comma sign as an active character in mathematics.
-% We defer the definition of the commands that turn on and off the intelligent
-% comma feature at the end of the preamble, so as to avoid possible conflicts
-% with other packages. It has already been pointed out that this procedure
-% for setting up the active comma to behave intelligently in math mode,
-% conflicts with the |dcolumn| package; therefore we assume these commands
-% are defined when the final user typesets a document, but they will be
-% possibly defined only at the end of the preamble when it will be known
-% if the |dcolumn| package has been loaded. We do the same if packages
-% |icomma| or |ncccomma| have been loaded, since that assumes that the user
-% wants to use their functionality, not the functionality of this package.
-%
-% We need a command to set the comma as an active charter only in math mode;
-% the special |\mathcode| that classifies an active character in math is the
-% hexadecimal value |"8000|. By default we set the punctuation
-% type of comma, but we let |\IntelligentComma| and |\NoIntelligentComma|
-% to |\relax| so that their use is forbidden when one of the named packages
-% is loaded. In this way all known conflicts are avoided; should the user
-% find out other conflicts, s/he is kindly required to notify it to the
-% maintainer.
+% a specific command to activate it; actually this functionality is
+% activated or, respectively, deactivated with the self explanatory
+% commands |\IntelligentComma| and |\NoIntelligentComma|. They operate
+% by setting or resetting the comma sign as an active character in
+% mathematics. We defer the definition of the commands that turn on and
+% off the intelligent comma feature at the end of the preamble, so as to
+% avoid possible conflicts with other packages. It has already been
+% pointed out that this procedure for setting up the active comma to
+% behave intelligently in math mode, conflicts with the |dcolumn|
+% package; therefore we assume these commands are defined when the final
+% user typesets a document, but they will be possibly defined only at
+% the end of the preamble when it will be known if the |dcolumn| package
+% has been loaded. We do the same if packages |icomma| or |ncccomma|
+% have been loaded, since that assumes that the user wants to use their
+% functionality, not the functionality of this package.
+%
+% We need a command to set the comma as an active charter only in math
+% mode; the special |\mathcode| that classifies an active character in
+% math is the hexadecimal value |"8000|. By default we set the
+% punctuation type of comma, but we let |\IntelligentComma| and
+% |\NoIntelligentComma| to |\relax| so that their use is forbidden when
+% one of the named packages is loaded. In this way all known conflicts
+% are avoided; should the user find out other conflicts, s/he is kindly
+% required to notify it to the maintainer.
% \begin{macrocode}
\AtEndOfPackage{\AtEndPreamble{%
\newcommand*\IntelligentComma{\mathcode`\,=\string"8000}% Active comma
@@ -925,8 +984,8 @@
}}
% \end{macrocode}
% These commands are defined only in the |babel| support for the Italian
-% language (this file) and are not defined in the corresponding |polyglossia|
-% support for the language.
+% language (this file) and are not defined in the corresponding
+% |polyglossia| support for the language.
% In order to have this functionality work properly with pdfLaTeX,
% XeLaTeX, and LuaLaTeX, it is necessary to discover which engine
% is being used, or better, which language handling package is
@@ -935,8 +994,8 @@
% does not tell the whole truth, because LuaLaTeX and XeLaTeX behave
% in a similar way for what concerns language handling since they can
% use both |babel| and |polyglossia| (obviously not at the same time);
-% so the use of |babel| or |polyglossia| is the real discriminant factor,
-% not the typesetting engine.
+% so the use of |babel| or |polyglossia| is the real discriminant
+% factor, not the typesetting engine.
%
% \begin{macro}{\virgola}
% \begin{macro}{\virgoladecimale}
@@ -952,22 +1011,22 @@
% \changes{italian-1.3a}{2013/10/02}{Corrected the bug of the intelligent
% comma when used within the AMS alignment environments}
%
-% Math comma activation is done only after the preamble has
-% been completed, that is after the |\begin{document}| statement has been
-% completely executed. Now we must give a definition to the active comma:
-% probably it is not necessary to pass through an intermediate robust
-% command, but certainly it is not wrong to do it.
+% Math comma activation is done only after the preamble has been
+% completed, that is after the |\begin{document}| statement has been
+% completely executed. Now we must give a definition to the active
+% comma: probably it is not necessary to pass through an intermediate
+% robust command, but certainly it is not wrong to do it.
% \begin{macrocode}
\DeclareRobustCommand*\it@comma@def{\futurelet\let@token\@@math@comma}%
{\catcode `,=\active \gdef,{\it@comma@def}}%
% \end{macrocode}
% The real work shall be performed by |\it@comma@def|. In facts the
% above macro stores the token that immediately follows |\@@math@comma|
-% into a temporary control sequence that behaves as an implicit character
-% if that token is a single character, even a space, or behaves as
-% an alias of a control sequence otherwise. Actually at the end of the
-% preamble this macro shall be |\let| to be an alias for the real
-% |\@math@comma|.
+% into a temporary control sequence that behaves as an implicit
+% character if that token is a single character, even a space, or
+% behaves as an alias of a control sequence otherwise. Actually at the
+% end of the preamble this macro shall be |\let| to be an alias for the
+% real |\@math@comma|.
%
% Is is important to remark that |\@math@comma| must be a command that
% does not require arguments; this makes it robust when it is followed
@@ -977,20 +1036,20 @@
% that the active comma would ``eat up'' the |&| in vertical math
% alignments and very nasty errors took place, especially within the
% |amsmath| defined ones. This macro |\@@math@comma| without arguments
-% does not do any harm to the AMS environments and the actual intelligent
-% comma work shall be executed by other macros.
-%
-% At this point the situation may become complicated: the comma character
-% in the input file may be followed by a real digit, by an analphabetic
-% character of category 12 (other character), by an implicit digit, by a
-% macro defined to be a digit, by a macro that is not defined to be a
-% digit, by a special character (for example a closed brace, an alignment
-% command, et cetera); therefore it is necessary to distinguish all these
-% situations; remember that an implicit digit cannot be used as a real
-% digit, and a macro gets expanded when used with any |\if| clause, unless
-% it is a |\ifx| one, or is prefixed with |noexpand|. The tests that are
-% going to be made are therefore of different kinds, according to this
-% scheme:
+% does not do any harm to the AMS environments and the actual
+% intelligent comma work shall be executed by other macros.
+%
+% At this point the situation may become complicated: the comma
+% character in the input file may be followed by a real digit, by an
+% analphabetic character of category 12 (other character), by an
+% implicit digit, by a macro defined to be a digit, by a macro that is
+% not defined to be a digit, by a special character (for example a
+% closed brace, an alignment command, et cetera); therefore it is
+% necessary to distinguish all these situations; remember that an
+% implicit digit cannot be used as a real digit, and a macro gets
+% expanded when used with any |\if| clause, unless it is a |\ifx| one,
+% or is prefixed with |noexpand|. The tests that are going to be made
+% are therefore of different kinds, according to this scheme:
% \begin{itemize}
% \item
% the |\let@token| is tested against an asterisk to see it it is of
@@ -1023,16 +1082,16 @@
% better to prefix any macro with a space, whatever its definition might
% be; if the macro represents a parameter defined to have a variable
% value in the range 0--9, then it may represent the fractional part of
-% a (short) decimal value, and it is correct to avoid prefixing it with a
-% space; but the user is warned not to make use of numeric strings in
+% a (short) decimal value, and it is correct to avoid prefixing it with
+% a space; but the user is warned not to make use of numeric strings in
% the definition of parameters, unless he knows what he is doing.
-% The user may rather use a balanced brace comma group |{,}| in the input file
-% so that the macro will not be considered by the expansion of the
-% active comma. For example if |\x| is defined to be the numerical
-% string |89|, the source input |$2{,}\x$| will be correctly typeset
-% as 2,89; the input \verb*!$2, \x$! will be typeset as 2,\,89 (with
-% an unbreakable thin space after the comma) while |$2,\x$| will be
-% typeset as 29,89, obviously wrong.
+% The user may rather use a balanced brace comma group |{,}| in the
+% input file so that the macro will not be considered by the expansion
+% of the active comma. For example if |\x| is defined to be the
+% numerical string |89|, the source input |$2{,}\x$| will be correctly
+% typeset as 2,89; the input \verb*!$2, \x$! will be typeset as 2,\,89
+% (with an unbreakable thin space after the comma) while |$2,\x$| will
+% be typeset as 29,89, obviously wrong.
%
% So first we test if the comma must act intelligently; if the counter
% |\Virgola| contains zero, we assume that the comma must always perform
@@ -1040,10 +1099,10 @@
% as a decimal separator, we have to perform more delicate tests; this
% latter task is demanded to other macros with arguments |\@math@@comma|
% and |\@@math@@comma|. In order to make the various tests robust we
-% have to resort to the usual trick of the auxiliary macros |\@firstoftwo|
-% and |\@secondoftwo| and various |\expandafter| commands so as to be
-% sure that every |\if| clause is correctly exited without leaving any
-% trace behind.
+% have to resort to the usual trick of the auxiliary macros
+% |\@firstoftwo| and |\@secondoftwo| and various |\expandafter| commands
+% so as to be sure that every |\if| clause is correctly exited without
+% leaving any trace behind.
% \begin{macrocode}
\DeclareRobustCommand*\@math@comma{%
\ifcat\noexpand\let@token*%
@@ -1081,8 +1140,8 @@
% examine the first non blank token that follows the |\@math@@comma|
% macro. Only if the token is a digit, we use the decimal comma,
% otherwise the punctuation mark. This is therefore the definition of
-% the |\@math@@comma| macro which is not that simple, although the testing
-% macros have clear meanings:
+% the |\@math@@comma| macro which is not that simple, although the
+% testing macros have clear meanings:
% \begin{macrocode}
\DeclareRobustCommand*\@math@@comma[1]{% argument is certainly of category 12
\ifcsundef{\expandafter\@gobble\string #1}{% test if it is a real digit
@@ -1105,23 +1164,23 @@
% \end{macrocode}
% The service macros |\ifcsundef|, |\ifnumless|, and |\ifnumgreater| are
% provided by the |etoolbox| package, that shall be read at most at the
-% end of the |babel| package processing; therefore we must delay the code
-% at ``end preamble'' time, since only at that time
+% end of the |babel| package processing; therefore we must delay the
+% code at ``end preamble'' time, since only at that time
% it will be known if the main language is English, or any other one.
% This is why we have to perform such a baroque definition as the
% following one:
% \begin{macrocode}
\AtEndOfPackage{\AtEndPreamble{\let\@@math@comma\@math@comma}}
% \end{macrocode}
-% This intelligent comma definition is pretty intelligent, but it requires
-% some kind of information from the context; this context does not
-% give enough bits of information to this `intelligence' in just one case:
-% when the comma plays the r\^ole of a serial separator in expressions
-% such as $i=1, 2, 3,\dots,\infty$, entered as
+% This intelligent comma definition is pretty intelligent, but it
+% requires some kind of information from the context; this context does
+% not give enough bits of information to this `intelligence' in just one
+% case: when the comma plays the r\^ole of a serial separator in
+% expressions such as $i=1, 2, 3,\dots,\infty$, entered as
% \verb*?$i=1, 2, 3,\dots,\infty$?. Only in this case the comma must
-% be followed by an explicit space; should this space
-% be absent the macro takes the following non blank token as a digit,
-% and since it actually is a digit, it would use the decimal comma, which
+% be followed by an explicit space; should this space be absent the
+% macro takes the following non blank token as a digit, and since it
+% actually is a digit, it would use the decimal comma, which
% would be wrong. The control sequences |\dots| and |\infty| are
% tested to see if they are undefined, and since they are defined and
% do not represent digits, the macro inserts a punctuation mark,
@@ -1153,7 +1212,7 @@
% package.
%
% Apparently a conflict with the active comma arises with the D column
-% defined by the |dcolomn| package. Disabling the ``Italian'' active comma
+% defined by the |dcolomn| package. Disabling the “Italian” active comma
% allows the D column operate correctly. Thanks to Giuseppe Toscano for
% telling me about this conflict.
% \end{macro}
@@ -1165,15 +1224,15 @@
% diacritical marks in a more comfortable way compared with the
% lengthy standard \TeX\ conventions. When an Italian keyboard is
% being used on a Windows based platform, it exhibits such
-% limitations that to my best knowledge no convenient shorthands have been
-% developed; the reason lies in the fact that the Italian keyboard
+% limitations that to my best knowledge no convenient shorthands have
+% been developed; the reason lies in the fact that the Italian keyboard
% lacks the grave accent (also known as ``backtick''), which is
% compulsory on all accented vowels, but, on the
% opposite, it carries the keys with all the accented \emph{lowercase}
% vowels \`a, \`e, \'e, \`i, \`o, \`u, bot no \emph{uppercase} accented
-% vowels are directly avalaible from the keyboard; the keyboard lacks also
-% the tie |~| (tilde) key, while the curly braces require pressing three
-% keys simultaneously.
+% vowels are directly avalaible from the keyboard; the keyboard lacks
+% also the tie |~| (tilde) key, while the curly braces require pressing
+% three keys simultaneously.
%
% The best solution Italians have found so far is to use a smart
% editor that accepts shorthand definitions such that, for example,
@@ -1186,8 +1245,9 @@
% file from disk to memory. Such smart editors do exist and can be
% downloaded from the \textsc{ctan} archives.
%
-% \changes{italian-1.2p}{2002/07/10}{Removed redefinition of \cs{add@acc} since its
-% functionality has been introduced into the kernel of LaTeX 2001/06/01}
+% \changes{italian-1.2p}{2002/07/10}{Removed redefinition of \cs{add@acc}
+% since its functionality has been introduced into the kernel of LaTeX
+% 2001/06/01}
%
% For what concerns the missing backtick key,
% which is used also for inputting the open quotes, it must be
@@ -1243,8 +1303,8 @@
%
% Since I designed renewed slide fonts extending those
% created by Leslie Lamport to the T1 encoding, the Text Companion
-% fonts, and the most frequent ``regular'' and AMS math fonts with the same
-% graphic style and excellent legibility (LXfonts), I thought that
+% fonts, and the most frequent ``regular'' and AMS math fonts with the
+% same graphic style and excellent legibility (LXfonts), I thought that
% this feature is not so negligible. It's true that nowadays nobody
% should use the old OT1 encoding when typesetting in any language,
% English included, because independently form the document main
@@ -1270,12 +1330,14 @@
% \begin{macro}{\it@ocap}
% \begin{macro}{\it@ccap}
% First the macro |\LtxSymvCaporali| is defined so as to assign a
-% default definition of the faked guillemets: each one of these macro sets
-% actually redefines the control sequences |\it@ocap| and |\it@ccap| that
-% are the ones effectively activated by the shorthands |"<| and |">|.
+% default definition of the faked guillemets: each one of these macro
+% sets actually redefines the control sequences |\it@ocap| and
+% |\it@ccap| that are the ones effectively activated by the shorthands
+% |"<| and |">|.
% By default the caporali glyphs are taken from T1-encoded fonts; at
% the end of the preamble some tests are performed to control if the
-% default fonts contain such glyphs, and in case a different font is chosen.
+% default fonts contain such glyphs, and in case a different font is
+% chosen.
% \begin{macrocode}
\def\LtxSymbCaporali{%
\DeclareRobustCommand*{\it@ocap}{\mbox{%
@@ -1289,8 +1351,8 @@
\DeclareRobustCommand*{\it@ccap}{\ifdim\lastskip>\z@\unskip\fi>>}}%
\T@unoCaporali
% \end{macrocode}
-% Nevertheless a macro for choosing where to get glyphs for real guillemets
-% is offered; the syntax is the following:
+% Nevertheless a macro for choosing where to get glyphs for real
+% guillemets is offered; the syntax is the following:
% \begin {flushleft}
% |\CaporaliFrom|\marg{encoding}\marg{family}\marg{open guill. slot}%
% \marg{close guill. slot}
@@ -1335,8 +1397,9 @@
% Then we set a boolean variable and test the default family;
% if such family has a name that starts with the letters ``ae''
-% then we have no built in guillemets; of course if the AE font family is chosen
-% after the \babel\ package is loaded, the test does not perform as required.
+% then we have no built in guillemets; of course if the AE font family
+% is chosen after the \babel\ package is loaded, the test does not
+% perform as required.
% \begin{macrocode}
\def\get@ae#1#2#3!{\def\bbl@ae{#1#2}}%
\def\@ifT@one@noCap{\expandafter\get@ae\f@family!%
@@ -1401,20 +1464,5 @@
%
% \Finale
%%
-%% \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
-%% Lower-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
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
%%
-\endinput
+%% \endinput
diff --git a/Master/texmf-dist/source/generic/babel-italian/italian.ins b/Master/texmf-dist/source/generic/babel-italian/italian.ins
deleted file mode 100644
index 6ae5783eb48..00000000000
--- a/Master/texmf-dist/source/generic/babel-italian/italian.ins
+++ /dev/null
@@ -1,85 +0,0 @@
-%%
-%% This file will generate fast loadable files and documentation
-%% driver files from the doc files in this package when run through
-%% LaTeX or TeX.
-%%
-%% --------------- start of docstrip commands ------------------
-%%
-\def\filedate{2013/09/27}
-\def\batchfile{italian.ins}
-\input docstrip.tex
-
-{\ifx\generate\undefined
-\Msg{**********************************************}
-\Msg{*}
-\Msg{* This installation requires docstrip}
-\Msg{* version 2.3c or later.}
-\Msg{*}
-\Msg{* An older version of docstrip has been input}
-\Msg{*}
-\Msg{**********************************************}
-\errhelp{Move or rename old docstrip.tex.}
-\errmessage{Old docstrip in input path}
-\batchmode
-\csname @@end\endcsname
-\fi}
-
-\declarepreamble\mainpreamble
-
-This is a generated file.
-
-Copyright (C) 2013 Claudio Beccari.
-
-This file is part of the babel-italian bundle release 1.3.
---------------------------------------------------
-
-It may be distributed under the terms of the LaTeX Project Public
-License, as described in lppl.txt in the base LaTeX distribution.
-Either version 1.3 or, at your option, any later version.
-\endpreamble
-
-\declarepreamble\fdpreamble
-This is a generated file.
-
-Copyright (C) Claudio Beccari.
-
-This file is part of the babel-italian bundle relea.
---------------------------------------------------
-
-It may be distributed under the terms of the LaTeX Project Public
-License, as described in lppl.txt in the base LaTeX distribution.
-Either version 1.3 or, at your option, any later version.
-
-In particular, permission is granted to customize the declarations in
-this file to serve the needs of your installation.
-
-However, NO PERMISSION is granted to distribute a modified version
-of this file under its original name.
-
-\endpreamble
-
-\keepsilent
-
-\usedir{tex/generic/babel-italian}
-
-\usepreamble\mainpreamble
-\generate{\file{italian.ldf}{\from{italian.dtx}{code}}
- }
-\usepreamble\fdpreamble
-
-\ifToplevel{
-\Msg{***********************************************************}
-\Msg{*}
-\Msg{* To finish the installation you have to move the following}
-\Msg{* files into a directory searched by TeX:}
-\Msg{*}
-\Msg{* \space\space All *.def, *.fd, *.ldf, *.sty}
-\Msg{*}
-\Msg{* To produce the documentation run the files ending with}
-\Msg{* '.dtx' and `.fdd' through LaTeX.}
-\Msg{*}
-\Msg{* Happy TeXing}
-\Msg{***********************************************************}
-}
-
-\endinput
diff --git a/Master/texmf-dist/tex/generic/babel-italian/italian.ldf b/Master/texmf-dist/tex/generic/babel-italian/italian.ldf
index ac4f5118fc6..ff61a58ecea 100644
--- a/Master/texmf-dist/tex/generic/babel-italian/italian.ldf
+++ b/Master/texmf-dist/tex/generic/babel-italian/italian.ldf
@@ -5,19 +5,14 @@
%% The original source files were:
%%
%% italian.dtx (with options: `code')
+%% ------------------------------------------
+%% The Italian support for babel: italian.ldf.
+%% Copyright (C) 1990-2019 Claudio Beccari
+%% All rights reserved
%%
-%% This is a generated file.
-%%
-%% Copyright (C) 2013 Claudio Beccari.
-%%
-%% This file is part of the babel-italian bundle release 1.3.
-%% --------------------------------------------------
-%%
-%% It may be distributed under the terms of the LaTeX Project Public
-%% License, as described in lppl.txt in the base LaTeX distribution.
-%% Either version 1.3 or, at your option, any later version.
+%% License information appended.
\ProvidesLanguage{italian}
- [2015/03/26 v1.3n Italian support from the babel system]
+ [2019/01/05 v.1.4.01 Italian support for the babel system]
%%
%% Please report errors to: claudio dot beccari at gmail dot com
%%
@@ -62,10 +57,14 @@
\addto\extrasitalian{%
\babel@savevariable\finalhyphendemerits
\finalhyphendemerits50000000}%
+
\addto\extrasitalian{%
- \lccode`'=`'}%
+\lccode\string`'=`' \unless\ifcsname pdfmatch\endcsname
+\lccode\string"2019=\string"2019\fi}
\addto\noextrasitalian{%
- \lccode`'=0}%
+\lccode\string`'=0 \unless\ifcsname pdfmatch\endcsname
+\lccode\string"2019=0\fi}
+
\newcount\it@lettering \it@lettering=\@ne
\newcommand*\XXIletters{\it@lettering=\z@}
\newcommand*\XXVIletters{\it@lettering=\@ne}
@@ -282,22 +281,31 @@
}
\ldf@finish{italian}%
%%
-%% \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
-%% Lower-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
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
%%
-\endinput
+%% \endinput
+%%
+%% Copyright (C) 1990-2019 Claudio Beccari
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% The Current Maintainer of the babel system is Javier Bezos
+%% The current maintainer of Italian language support is Claudio Beccari
+%%
+%% This work consists of this file italian.dtx and the derived
+%% file italian.ldf
+%%
+%% The list of all files belonging to the LaTeX base distribution is
+%% given in the file `manifest.bbl. See also `legal.bbl' for additional
+%% information.
+%%
+%% This file is a self unpacking one.
%%
%% End of file `italian.ldf'.