From f8c8d56f3bc874b6b3b0c381a195755dc2db5dad Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 14 Mar 2015 23:02:02 +0000 Subject: babel-italian (14mar15) git-svn-id: svn://tug.org/texlive/trunk@36515 c570f23f-e606-0410-a88d-b1316a301751 --- .../source/generic/babel-italian/italian.dtx | 337 +++++++++++---------- 1 file changed, 185 insertions(+), 152 deletions(-) (limited to 'Master/texmf-dist/source/generic/babel-italian/italian.dtx') 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 @@ % %\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] % %% %% 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'' -- cgit v1.2.3