summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/generic/babel-italian/italian.dtx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-03-14 23:02:02 +0000
committerKarl Berry <karl@freefriends.org>2015-03-14 23:02:02 +0000
commitf8c8d56f3bc874b6b3b0c381a195755dc2db5dad (patch)
treedfd5cb5337d2a30cb5509112183aa07db5d119cc /Master/texmf-dist/source/generic/babel-italian/italian.dtx
parentec5ed9b11d87f5e1fddc4b58b6f4d53fec2bd39c (diff)
babel-italian (14mar15)
git-svn-id: svn://tug.org/texlive/trunk@36515 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/generic/babel-italian/italian.dtx')
-rw-r--r--Master/texmf-dist/source/generic/babel-italian/italian.dtx337
1 files changed, 185 insertions, 152 deletions
diff --git a/Master/texmf-dist/source/generic/babel-italian/italian.dtx b/Master/texmf-dist/source/generic/babel-italian/italian.dtx
index ee47f46096c..ba6ca8ea308 100644
--- a/Master/texmf-dist/source/generic/babel-italian/italian.dtx
+++ b/Master/texmf-dist/source/generic/babel-italian/italian.dtx
@@ -22,7 +22,7 @@
% and covered by LPPL is defined by the unpacking scripts (with
% extension .ins) which are part of the distribution.
% \fi
-% \CheckSum{731}
+% \CheckSum{740}
% \iffalse
% Tell the \LaTeX\ system who we are and write an entry on the
% transcript.
@@ -33,7 +33,7 @@
%</filedriver>
%<code>\ProvidesLanguage{italian}
%<*code>
- [2014/03/29 v1.3k Italian support from the babel system]
+ [2015/03/12 v1.3m Italian support from the babel system]
%</code>
%%
%% Please report errors to: claudio dot beccari at gmail dot com
@@ -49,6 +49,7 @@
\documentclass{ltxdoc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
+\usepackage{booktabs}
\newcommand*\TeXhax{\TeX hax}
\newcommand*\babel{\textsf{babel}}
\newcommand*\langvar{$\langle \it lang \rangle$}
@@ -114,13 +115,18 @@
% 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}{Corretta discrepanza fra
-% \cs{SetISOcompliance} (errato nella documentazione) e \cs{setISOcompliance}
-% (giusto nel codice)}
+% \changes{italian-1.3k}{2014/03/29}{Corrected discrepancy between
+% \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.}
%
% \section{The Italian language}
-%
-% \textbf{Important notice:} This language description file relies on
+% \textbf{Important notice}: This language description file relies on
% functionalities provided by a modern TeX system distribution with
% pdfLaTeX working in extended mode (eTeX commands available); it
% should perform correctly also with XeLaTeX and LuaLaTeX; tests have
@@ -134,11 +140,12 @@
% \filedate. The original author is Maurizio Codogno.
% It was initially revised
% by Johannes Braams and then completely rewritten by Claudio Beccari}
-% defines all the required and some optional language-specific
+% defines all the required and some optional language-specific
% macros for the Italian language.
%
% \begin{table}[htb]\centering
% \begin{tabular}{cp{90mm}}
+% \toprule
% |"| & inserts a compound word mark where hyphenation is legal;
% it allows etymological hyphenation which is recommended
% for technical terms, chemical names and the like; it
@@ -153,9 +160,10 @@
% |">| & inserts closed guillemets without leading space.\\
% |"/| & allows hyphenation of both words connected with slash.\\
% |"-| & allows hyphenation of both words connected with a short dash
-% (\emph{trattino copulativo}, in Italian)
+% (\emph{trattino copulativo}, in Italian)\\
+% \bottomrule
% \end{tabular}
-% \caption{shorthands for the Italian language. These shorthand are
+% \caption{shorthands for the Italian language. These shorthands are
% available only if command \texttt{\string\setactivedoublequote} is given
% after loading \babel\ and before \texttt{\string\begin\{document\}}.}
% \label{t:itshrtct}
@@ -191,7 +199,7 @@
% that include foreign roots), and \verb="|= when the desired break
% point falls before an accented letter. As you can read in
% table~\ref{t:itshrtct}, these shorthands are available only if
-% they get activated with command |\setactivedoublequote| after
+% they get activated with |\setactivedoublequote| after
% loading \babel\ but before the |\begin{docuemnt}| statement. This
% is done in order to preserve the user from package conflicts:
% if s/he wants to use these facilities s/he must remember that
@@ -201,8 +209,8 @@
% so; conflicts have been reported with package \file{xypic} and
% with \texttt{TikZ}, but the latter has its own library to
% deactivate all active characters, not just the double quotes,
-% the only Italian language possibly active character.
-% \item some Italian compound words have a connecting short dash (a
+% the only Italian language possibly activated character.
+% \item Some Italian compound words have a connecting short dash (a
% hyphen sign) between them without any space between the component
% words and the short dash; in this situation standard \LaTeX\ allows
% a line break only just after the short dash; this may lead to
@@ -211,7 +219,7 @@
% may use a |"| sign just after the short dash; but if a line break
% is required in the first word, them the |"-| shorthand comes in handy;
% pay attention though, that if you use an en-dash or an em-dash (both
-% should not be used in Italian as compound words connectors, but\...)
+% should not be used in Italian as compound words connectors, but\dots)
% then the |"-| shorthand might impeach the |--| or |---| ligatures, thus
% producing an unacceptable appearance.
% \item The shorthand |""| introduces the raised (English) opening
@@ -223,22 +231,14 @@
% \item The shorthands |"<| and |">| insert the guillemets sometimes
% used also in Italian typography; with the T1 font encoding
% the ligatures |<<| and |>>| should insert such signs directly,
-% but not all the virtual fonts that claim to follow the T1 font
+% but not all the virtual fonts that claim to follow the T1 font
% encoding actually contain the guillemets; with the OT1 encoding
% the guillemets are not available and must be faked in some
% way. By using the |"<| and |">| shorthands (even with the T1
% encoding) the necessary tests are performed and in case the
% guillemets are faked by means of the special LaTeX math symbols.
% At the same time if OpenType fonts are being used with XeLaTeX
-% or LuaLaTeX, there are no problems with guillemets.\footnote{At
-% the date of writing actually there are some problems with LuaLaTeX,
-% in the sense that the real guillemets << and >> work as they
-% should, while the \texttt{<{}<} and \texttt{>{}>} ligatures don't;
-% the bug is due to the lack of some lines in the features description
-% file of OpenType fonts for LuaLaTeX; the bug has already been
-% submitted to the LuaTeX Team; is is very likely that when you use
-% this Italian language description file, the bug has already been
-% corrected.}
+% or LuaLaTeX, there are no problems with guillemets.
% \item Three new specific commands |\unit|, |\ped|, and |\ap| are
% introduced so as to enable the correct composition of technical
% mathematics according to the ISO~31/XI recommendations.
@@ -253,24 +253,30 @@
% with the above named packages. The |\ap| and |\ped| commands remain
% available because up to now no specific conflicts have been reported.
% \item Since in all languages different from English the decimal separator
-% according to the ISO regulations \emph{must} be a comma actually
-% the Bureau International des Pois et Mésures allows also the point
+% according to the ISO regulations \emph{must} be a comma\footnote{Actually
+% the Bureau International des Pois et M\'esures allows also the point
% as a decimal separator without mentioning any language, but recommends
-% to follow th national typographical traditions; since
+% to follow the national typographical traditions}; since
% no language description file nor the \babel\ package itself provides
% for this functionality, a not so simple intelligent comma definition is
% provided such that at least in mathematics it behaves correctly.
% There are other packages that provide a similar functionality, for
-% example |icomma| and |ncccomma|; I believe that my solution is better
-% than that provided by both those packages; but, since this
-% functionality may be turned on or off at the user will, those
-% packages may still be used. By default this functionality is turned
-% \emph{off}, therefore the user should turn it on by means of the
-% |\IntelligentComma| command; it can turn it off by means of
-% |\NoIntelligentComma|. Please, read subsection~\ref{ssec:comma}
-% to see the various situations where a mathematical comma may be
-% used and how to overcome the few cases when the macros of this file
-% don't behave as expected.
+% example |icomma| and |ncccomma|; |icomma|, apparently is not in conflict
+% with |dcolomn|, but requires a space after the comma all the times it
+% plays the r\^ole of a punctuation mark; |nccomma|, checks if the next
+% token is a digit, but it repeated ten tests every time it meets a comma,
+% irrespective from what it is followed by. I believe that my solution
+% is better than that provided by both those packages; but I assume that
+% if the user loads on of those packages, it prefers to use that
+% functionality; In case one of those pachages is loaded, this module
+% excludes its intelligent comma functionality.
+% By default this functionality is turned \emph{off}, therefore the user
+% should turn it on by means of the |\IntelligentComma| command; it can
+% turn it off by means of |\NoIntelligentComma|. Please, read
+% subsection~\ref{ssec:comma} to see the various situations where a
+% mathematical comma may be used and how to overcome the few cases when
+% the macros of this file don't behave as expected. The section describes
+% also some limitations when some cong=flicting packages are being loaded.
% \item In Italian legal documents it is common to tag list-items
% with the old fashioned 21-letter Italian alphabet, that differs from
% the Latin one by the omission of the letters `j', `k', `w',`x', and
@@ -305,7 +311,7 @@
% vol.~18, n.~1, pp.~39-48 (1997).
% \end{thebibliography}}
%
-%\subsection*{The commented code}
+%\subsection{The commented code}
% The macro |\LdfInit| takes care of preventing that this file is
% loaded more than once, checking the category code of the
% \texttt{@} sign, etc.
@@ -353,8 +359,7 @@
% and \cs{prefacename}}
% \changes{italian-1.1}{1993/07/15}{\cs{headpagename} should be
% \cs{pagename}}
-% \changes{italian-1.2b}{1994/05/19}{Changed some of the words
-% following suggestions from Claudio Beccari}
+% \changes{italian-1.2b}{1994/05/19}{Changed some of the infix words}
% \changes{italian-1.2g}{1995/07/04}{Added \cs{proofname} for
% AMS-\LaTeX}
% \changes{italian-1.2h}{1995/07/27}{Added translation of `Proof'}
@@ -400,7 +405,7 @@
%
% \begin{macro}{\italianhyphenmins}
% \changes{italian-1.2b}{1994/05/19}{Added setting of left and
-% righthyphenmin according to Claudio Beccari's suggestion}
+% righthyphenmin}
%
% The italian hyphenation patterns can be used with both
% |\lefthyphenmin| and |\righthyphenmin| set to~2.
@@ -414,7 +419,7 @@
% \begin{macro}{\extrasitalian}
% \begin{macro}{\noextrasitalian}
%
-% \changes{italian-1.2b}{1994/05/19}{Added setting of club- and
+% \changes{italian-1.2b}{1994/05/19}{Added settings of club- and
% widowpenalty}
% Lower the chance that clubs or widows occur.
% \begin{macrocode}
@@ -429,7 +434,7 @@
% finalhyphendemerits}
%
% Never ever break a word between the last two lines of a paragraph
-% in italian texts.
+% in Italian texts.
% \begin{macrocode}
\addto\extrasitalian{%
\babel@savevariable\finalhyphendemerits
@@ -454,7 +459,7 @@
% \end{macro}
% \end{macro}
%
-% \subsection*{Traditionally labelled enumerate environment}
+% \subsection{Traditionally labelled enumerate environment}
% \changes{italian-1.2v}{2010/01/02}{Support for traditional Italian}
% In some traditional texts, especially of legal nature, enumerations labelled
% with lower or upper case letters use the reduced Latin alphabet that omits
@@ -467,7 +472,7 @@
% 26-letter alphabet are retained}
% \begin{macro}{\XXIletters}
% \begin{macro}{\XXVIletters}
-% At the same time it is considered useful to have the posssibility of
+% At the same time it is considered useful to have the possibility of
% switching back and forth from the 21-letter tagging and the 26-letter one.
% This requires a counter that keeps the switching status (0 for 21 letters
% and 1 for 26 letters) and commands |\XXIletters| and |\XXVIletters|
@@ -508,20 +513,20 @@
\fi}%
% \end{macrocode}
%
-% In order to have a complete description, the situation is this:
+% In order to have a complete description, the situation is as such:
% \begin{enumerate}
% \item If you want to always use the 21-letter item tagging, simply
% use the |\XXIletters| declaration just after |\begin{document}|
% and this setting remains global (provided, of course, that the
-% declaration is defined, therefore that the Italian language is the
+% declaration is defined, i.e. that the Italian language is the
% default one); in this way the setting is global while you use
% the Italian language.
-% \item The |XXLIletter| command, issued outside any environment sets
+% \item The |XXVIletter| command, issued outside any environment sets
% the 26-letter item tagging in a global way; this setting is the default one.
% \item If you specify |\XXIletters| just before entering an
% environment that uses alphabetic tagging, this environment will
% be tagged with the 21-letter alphabet, but this is a local setting,
-% because the letter taggingg takes place only from the second level
+% because the letter tagging takes place only from the second level
% of enumeration.
% \item The declarations |\XXIletters| and |\XXVIletters| let you
% switch back and forth between the two kinds of tagging, But this
@@ -533,9 +538,9 @@
% \changes{italian-1.2m}{2000/01/05}{Support for etymological
% hyphenation}
%
-% \subsection*{Support for etymological hyphenation}
+% \subsection{Support for etymological hyphenation}
-% In Italian such etymological hyphenation is desirable with
+% In Italian etymological hyphenation is desirable with
% technical terms, chemical names, and the like.
% \subsubsection{Some history}
@@ -755,19 +760,20 @@
% language. In this case the special shorthand \verb!"|! may be
% used that performs exactly as |"| normally does, except that the
% \verb!|! sign is removed from the token input list:
-% \verb!kilo"|{\"o}rsted! gets hyphenated as
+% \verb!kilo"|\"orsted! gets hyphenated as
% \texttt{ki-lo-\"or-sted}; but also
% \texttt{kilo\string"\string|\"orsted} gets hyphenated correctly
% 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 intermediate passages that have to be done
+% 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}
%
-% \subsection*{Facilities required by the ISO 31/XI regulations}
+% \subsection{Facilities required by the ISO 31/XI regulations}
% The ISO 31/XI regulations require that units of measure are
% typeset in upright font in both math and text, and
% that in text mode they are separated from the numerical
@@ -793,7 +799,7 @@
% 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 or a root
+% $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
@@ -806,7 +812,7 @@
% in old fashioned abbreviations in text mode; for example the
% feminine ordinal $1^{\mathrm{a}}$ or the old fashioned obsolete
% abbreviation F$^{\mathrm{lli}}$ for \mbox{Fratelli} in company
-% names (compare with ``Bros.'' for \underline{bro}ther\underline{s}
+% names (compare with ``Bros.'' for \underline{Bro}ther\underline{s}
% in American English); text subscripts are mostly used in logos.
%
% \begin{macro}{\unit}
@@ -820,9 +826,9 @@
% \changes{italian-1.3g}{2014/01/22}{Besides controlling conflicts with
% units, siunitx, this facility is deactivated by default, and activated
% only if the user wants to}
-% This facility is deactivate by default according to the contents of
+% This facility is deactivated by default according to the contents of
% an internal counter and the setting of the activation command by the
-% user; commands for apices and pedixes remain available in any case.
+% user; commands for apices and pedices remain available in any case.
% \begin{macrocode}
\newcount\it@ISOcompliance \it@ISOcompliance=\z@
\def\setISOcompliance{\it@ISOcompliance=\@ne}
@@ -843,7 +849,7 @@
% \end{macrocode}
% Then we can use |\let| to define the user level commands, but in
% case the macros already have a different meaning before entering
-% in Italian mode typesetting, we first memorize their meaning so
+% in Italian mode typesetting, we first save their meaning so
% as to restore them on exit.
% \begin{macrocode}
\addto\extrasitalian{%
@@ -856,32 +862,9 @@
% \end{macro}
% \end{macro}
%
-% \subsection*{Intelligent comma}\label{ssec:comma}
-%
-% \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 it sets a switch and according
-% to this switch the functionality is activated or dismissed.
-% \begin{macrocode}
-\newcount\Virgola
-\Virgola=\z@
-\newcommand*\IntelligentComma{\Virgola=\@ne}
-\newcommand*\NoIntelligentComma{\Virgola=\z@}
-\addto\extrasitalian{\babel@savevariable\Virgola}
-% \end{macrocode}
-% 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
-% being used: |babel| or |polyglossia|? Let us remember that testing
-% the actual engine, as it would be possible with package |iftex|,
-% does not tell the whole truth, because in the case of LuaLaTeX, that
-% is similar to XeLaTeX for what concerns handling of OpenType fonts,
-% but it uses the same engine as pdfLaTeX and can use either |babel| or
-% |polyglossia|, so this is the real discriminant factor, not the
-% typesetting engine.
+% \subsection{Intelligent comma}\label{ssec:comma}
%
-% At the same time we need to perform some tests that require some
+% We need to perform some tests that require some
% smart control-sequence handling; therefore we call the |etoolbox|
% package that allows us more testing functionality. There are no problems
% with this package that can be invoked also by other ones before or
@@ -895,9 +878,69 @@
\AtEndOfPackage{\RequirePackage{etoolbox}}
% \end{macrocode}
%
+% \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 |nccomma| 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
+\newcommand*\NoIntelligentComma{\mathcode`\,=\string"613B}% Punctuation comma
+\@ifpackageloaded{icomma}{\let\IntelligentComma\relax
+ \let\NoIntelligentComma\relax}{%
+ \@ifpackageloaded{nccomma}{\let\IntelligentComma\relax
+ \let\NoIntelligentComma\relax}{%
+ \@ifpackageloaded{dcolumn}{\let\IntelligentComma\relax
+ \let\NoIntelligentComma\relax}{%
+ \@ifpackageloaded{polyglossia}{%
+ \ifcsstring{xpg@main@language}{english}{\relax}{%
+ \mathcode`\,=\string"613B}
+ }{%
+ \ifcsstring{languagename}{english}{\relax}{%
+ \mathcode`\,=\string"613B}
+ }%
+ }}}%
+}}
+% \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.
+% 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
+% being used: |babel| or |polyglossia|? Let us remember that testing
+% the actual engine, as it would be possible with package |iftex|,
+% 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.
+%
% \begin{macro}{\virgola}
% \begin{macro}{\virgoladecimale}
-% We need two kind of commas, one that is a decimal separator, and
+% We need two kinds of comma, one that is a decimal separator, and
% a second one that is a punctuation mark.
% \begin{macrocode}
\DeclareMathSymbol{\virgola}{\mathpunct}{letters}{"3B}
@@ -906,35 +949,13 @@
% \end{macro}
% \end{macro}
%
-% Then 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 exadecimal value |"8000|. But we have
-% to set this value only when the current language is not English
-% or one of its varieties. We avoid to do anything if at the end of
-% the preamble is is found that the |icomma| package has been loaded.
-% There is a conflict; so we assume that if the user wants to use the
-% |icomma| package, he wants to do it, and does not want to make use
-% of the functionality of this language description file.
-% \begin{macrocode}
-\AtEndOfPackage{%
-\AtEndPreamble{\@ifpackageloaded{icomma}{\relax}{%
- \@ifpackageloaded{polyglossia}{%
- \ifcsstring{xpg@main@language}{english}{\relax}{%
- \mathcode`\,=\string"8000}
- }{%
- \ifcsstring{languagename}{english}{\relax}{%
- \mathcode`\,=\string"8000}
- }%
- }%
-}}
-% \end{macrocode}
% \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 in intermediate robust
+% 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}%
@@ -951,7 +972,7 @@
% 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
% by other characters that may play special r\^oles within the arguments
-% of other macros or environments. Matter of fact the first version 1.3
+% of other macros or environments. Matter of fact the first version
% of this file in version 1.3 did accept an argument; and the result was
% that the active comma would ``eat up'' the |&| in vertical math
% alignments and very nasty errors took place, especially within the
@@ -966,28 +987,35 @@
% 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
+% 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
+% \item
+% the |\let@token| is tested against an asterisk to see it it is of
% category 12; this is true if the token is a real digit, or an implicit
% digit, or an analphabetic character;
% \begin{itemize}
-% \item an implicit digit is represented by a control sequence; so we
+% \item
+% an implicit digit is represented by a control sequence; so we
% first check this feature;
-% \item if it is a control sequence, we have to test its nature of a
+% \item
+% if it is a control sequence, we have to test its nature of a
% digit by testing if it represented one of the ten digits;
% \item otherwise it is an analphabetic character.
% \end{itemize}
-% \item otherwise the |\let@token| is a special character or a
+% \item
+% otherwise the |\let@token| is a special character or a
% macro/command;
-% \item a test is made to see if it is a macro; in this case we check
+% \item
+% a test is made to see if it is a macro; in this case we check
% if has been defined to be a digit,
-% \item it is not a macro, it must be some other kind of token for
+% \item
+% it is not a macro, it must be some other kind of token for
% example a space or another special character.
% \end{itemize}
+%
% Notice that if the token is a macro, we do not test if it is defined
% to be a single digit or a string made up of more digits and/or other
% charters. If the macro represents one digit the test is correct,
@@ -998,12 +1026,12 @@
% 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 grout |{,}| in the input file
+% 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{,}\c$| will be correctly typeset
-% as 2,89; the input \verb*!$2, \c$! will be typeset as 2,\,89 (with
-% an unbreakable thin space after the comma) while |$2,\c$| will be
+% 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
@@ -1018,25 +1046,23 @@
% trace behind.
% \begin{macrocode}
\DeclareRobustCommand*\@math@comma{%
- \ifnumequal{\Virgola}{\z@}{\virgola}{%
- \ifcat\noexpand\let@token*%
- \expandafter\@firstoftwo
- \else
- \expandafter\@secondoftwo
- \fi{% \let@token is of category 12
- \@math@@comma
- }{% test if \let@token is a macro
- \ifcat\noexpand\let@token\noexpand\relax
- \expandafter\@firstoftwo
- \else
- \expandafter\@secondoftwo
- \fi{% it is a macro
- \@@math@@comma
- }{% it is something else.
- \virgola
- }
- }
- }
+ \ifcat\noexpand\let@token*%
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi{% \let@token is of category 12
+ \@math@@comma
+ }{% test if \let@token is a macro
+ \ifcat\noexpand\let@token\noexpand\relax
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi{% it is a macro
+ \@@math@@comma
+ }{% it is something else.
+ \virgola
+ }
+ }
}
% \end{macrocode}
%
@@ -1045,9 +1071,9 @@
% special signs, as |&| for example. In case the category code is
% not 12, the comma must act as a punctuation mark; but if it is,
% it might be a digit, or another character, an asterisk, for example;
-% so we have to test its digit nature; the simplest that was found
+% so we have to test its digit nature; the simplest that was found
% to test if a token is a digit, is to test its ASCII code against
-% the ASCII codes of `0' (zero) and 9.
+% the ASCII codes of `0' (zero) and `9'.
% The typesetting engines give the backtick, |`|, the property that
% when a number is required, it yields the ASCII code if the following
% token in an explicit character or a macro argument; this is why we
@@ -1125,6 +1151,11 @@
% functionality defined in this language description file and the
% user can do what he desires with the many functionalities of that
% package.
+%
+% Apparently a conflict with the active comma arises with the D column
+% 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}
% \end{macro}
%
@@ -1134,13 +1165,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 up to now no convenient shorthands have been
+% 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 lowercase
-% vowels; the keyboard lacks also the tie |~| (tilde) key, while
-% the curly braces require pressing three keys simultaneously.
+% 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.
%
% The best solution Italians have found so far is to use a smart
% editor that accepts shorthand definitions such that, for example,
@@ -1184,7 +1217,7 @@
% type~1 PostScript version of the |CM| fonts do exist, therefore
% one believes to be able of using them with pdfLaTeX; but since
% the |CM| fonts do not contain the guillemets, neither the |AM|
-% ones do.
+% ones do.
% Since guillemets (in Italian \emph{caporali}) do not exist in
% any OT1 encoded \texttt{cm} Latin font, their glyphs must be
% substituted with something else that fakes them.
@@ -1193,20 +1226,20 @@
% so as to avoid incompatibilities with the slides class, as there
% are no Cyrillic slides fonts as there are for Latin script}
% \changes{italian-1.3}{2013/09/30}{The slide font fix up is not any
-% more necessary with the new caporal handling method.}
+% more necessary with the new caporali handling method.}
%
% In the previous versions of this language description file the
% absent guillemets were faked with other fonts, by taking example
% from the solution the French had found for their language
% description file; they would get suitable guillemets from the
-% cyrillic fonts; This solution was good in most cases, except when
+% cyrillic fonts; this solution was good in most cases, except when
% the ``slides fonts'' were used, because there is no Cyryllic slide
% font around.
%
% This might seem a negligible ``feature'' because the modern classes
% or extension modules to produce slides mostly avoid the ``old'' fonts
-% for slides created by Leslie Lamport when he made available to the
-% TeX community the macro package LaTeX.
+% for slides created by Leslie Lamport when he made available the macro
+% package LaTeX to the TeX community.
%
% Since I designed renewed slide fonts extending those
% created by Leslie Lamport to the T1 encoding, the Text Companion
@@ -1298,7 +1331,7 @@
% are obtained by using the Latin Modern ones, that are not virtual
% fonts and contain the whole T1 font scheme. Nevertheless the faked
% glyphs are not so bad, so the solution I restored from old versions
-% of they language description file i acceptable}.
+% of the language description file is acceptable}.
% Then we set a boolean variable and test the default family;
% if such family has a name that starts with the letters ``ae''