diff options
author | Karl Berry <karl@freefriends.org> | 2022-02-02 21:40:02 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2022-02-02 21:40:02 +0000 |
commit | 318667b26e87038b4b703e3594bb740c2249d745 (patch) | |
tree | b014d77edc165777307793063521f61063b46cd8 /Master/texmf-dist/tex | |
parent | e408dd8e486d9b4cf87601ee9674534a8e796475 (diff) |
fcolumn (2feb22)
git-svn-id: svn://tug.org/texlive/trunk@61855 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/fcolumn/fcolumn.sty | 227 |
1 files changed, 89 insertions, 138 deletions
diff --git a/Master/texmf-dist/tex/latex/fcolumn/fcolumn.sty b/Master/texmf-dist/tex/latex/fcolumn/fcolumn.sty index eb314709b09..a8b15f1bca9 100644 --- a/Master/texmf-dist/tex/latex/fcolumn/fcolumn.sty +++ b/Master/texmf-dist/tex/latex/fcolumn/fcolumn.sty @@ -8,7 +8,7 @@ %% %% This is a generated file. %% -%% Copyright (C) 2015--2021 by Edgar Olthof +%% Copyright (C) 2015--2022 by Edgar Olthof %% %% This file may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -20,10 +20,9 @@ %% and version 1.3 or later is part of all distributions of %% LaTeX version 1999/12/01 or later. \ProvidesPackage{fcolumn} - [2021/11/22 v1.4 Automatic Currency Package (EHTO)] + [2022/02/01 v1.4.1 Automatic Currency Package (EHTO)] \NeedsTeXFormat{LaTeX2e} \RequirePackage{array}[v2.4k] - \newif\ifstrict@ccounting \strict@ccountingfalse \DeclareOption{strict}{\strict@ccountingtrue} \ProcessOptions @@ -33,9 +32,8 @@ \newif\ifwiths@p \def\geldm@cro#1#2{\withs@pfalse \afterassignment\g@ldm@cro\count@#1\relax{#2}} -\def\g@ldm@cro#1\relax#2{\FCform@t{\ifnum#2<0 \ifstrict@ccounting (\else - -\fi \count2=-#2 \else\count2=#2 -\fi +\def\g@ldm@cro#1\relax#2{\FCform@t{\ifnum#2<0 \ifstrict@ccounting + (\else -\fi \count2=-#2 \else\count2=#2 \fi \count4=\ifx\relax#1\relax 2 \else \@gobble#1\relax\fi \count3=0 \loop\ifnum\count3<\count4 @@ -100,13 +98,14 @@ \ifx\FCs@gn\m@ne \ifnum\count0>0 \let\FCs@gn\@ne \fi \count0=\csname FCtot@\romannumeral\FCsc@l\endcsname - \multiply\count0 by \FCs@gn + \ifnum\FCs@gn<0 \count0=-\count0 \fi \ifnum\count0<0 \let\FCs@gn=\m@ne \PackageError{fcolumn}{Register overflow}{Overflow occurred - in fcolumn \number\FCsc@l. You can press <enter> now and I'll - proceed,\MessageBreak but check your table. The offending entry is - indicated with an exclamation\MessageBreak mark in the output.}% + in fcolumn \number\FCsc@l.\MessageBreak You can press <enter> + now and I'll proceed, but check\MessageBreak your table. The + offending entry is indicated with an\MessageBreak exclamation + mark in the output.}% \else\let\FCs@gn=\@ne \fi \fi @@ -118,107 +117,75 @@ \def\setucc@de#1#2\relax{\uccode`\~=`#1 } \def\assignform@t#1,#2,#3\assignform@t{\def\FCform@t{#1}% \def\FCform@tt{#2}\ifx\FCform@tt\@empty \def\FCform@tt{#1}\fi} +\def\m@thcodeswitch#1{\count0=10 \loop\ifnum\count0>0 +\advance\count0 by \m@ne\mathcode\expandafter`\the\count0= +\ifnum#1=0 0 \else "8000 \fi\repeat} \def\b@fi#1#2#3#4{% -\def\sep@xt##1##2\end{\def\sep@rator{{##1}}}% -\sep@xt#1\end\def\decim@lmark{{#2}}% -\def\sp@l{#3}\assignform@t#4,,\assignform@t\global\advance\FCsc@l by - \@ne \global\FC@l=0 \global\FC@r=1 -\let\FCs@gn=\@ne\relax \setbox0\hbox\bgroup$% -\uccode`\~=`0\relax \uppercase{\def~}{\restorem@thcodes \global\FC@l=0} -\uccode`\~=`1\relax \uppercase{\def~}{\restorem@thcodes \global\FC@l=1} -\uccode`\~=`2\relax \uppercase{\def~}{\restorem@thcodes \global\FC@l=2} -\uccode`\~=`3\relax \uppercase{\def~}{\restorem@thcodes \global\FC@l=3} -\uccode`\~=`4\relax \uppercase{\def~}{\restorem@thcodes \global\FC@l=4} -\uccode`\~=`5\relax \uppercase{\def~}{\restorem@thcodes \global\FC@l=5} -\uccode`\~=`6\relax \uppercase{\def~}{\restorem@thcodes \global\FC@l=6} -\uccode`\~=`7\relax \uppercase{\def~}{\restorem@thcodes \global\FC@l=7} -\uccode`\~=`8\relax \uppercase{\def~}{\restorem@thcodes \global\FC@l=8} -\uccode`\~=`9\relax \uppercase{\def~}{\restorem@thcodes \global\FC@l=9} +\def\sep@xt##1##2\end{\def\sep@rator{{##1}}}\sep@xt#1\end +\def\decim@lmark{{#2}}\def\sp@l{#3}\assignform@t#4,,\assignform@t +\global\advance\FCsc@l by \@ne\global\FC@l=0 \global\FC@r=1 +\let\FCs@gn=\@ne\relax \setbox0\hbox\bgroup$ +\count@=10 \loop\ifnum\count@>0 \advance\count@ by \m@ne + \uccode`\~=\expandafter`\the\count@ \uppercase{\edef~}{\noexpand + \m@thcodeswitch0 \global\FC@l=\the\count@}\repeat \def\deactdecm@rk##1##2\relax{\mathcode`##1=0 }% \afterassignment\setucc@de\count@#3\relax -\uppercase{\def~}{\ifnum\mathcode`\0=\mathcode`- \restorem@thcodes\fi +\uppercase{\def~}{\ifnum\mathcode`\0="8000 \m@thcodeswitch0 \fi \afterassignment\deactdecm@rk\count@#3\relax \global\FC@r=1}% \def\d@cm##1##2{\count@=\mathcode`##1 } \ifnum\uccode`\~=`. \uccode`\~=`,\relax\else \uccode`\~=`.\relax\fi -\uppercase{\def~}{\ifnum\mathcode`\0=\mathcode`- \restorem@thcodes\fi +\uppercase{\def~}{\ifnum\mathcode`\0="8000 \m@thcodeswitch0 \fi \afterassignment\d@cm\count@#3\relax \ifnum\count@=\mathcode`- \expandafter\global\FC@l=\the\FC@l \else \expandafter\global\FC@r=\the\FC@r\fi}% -\uccode`\~=`+\relax -\uppercase{\def~}{\ifnum\mathcode`\0=\mathcode`- -\restorem@thcodes\fi\global\FC@l=0}% -\uccode`\~=`-\relax -\uppercase{\def~}{\ifnum\mathcode`\0=\mathcode`- -\restorem@thcodes\fi\global\let\FCs@gn\m@ne \global\FC@l=0}% -\mathcode`-="8000 \mathcode`+=\mathcode`- \mathcode`.=\mathcode`- -\def\actdecm@rk##1##2\relax{\ifx##1.\relax \mathcode`,=\mathcode`- -\else \mathcode`##1=\mathcode`- \fi}% -\afterassignment\actdecm@rk\count@#3\relax -\mathcode`\0=\mathcode`- \mathcode`\1=\mathcode`- -\mathcode`\2=\mathcode`- \mathcode`\3=\mathcode`- -\mathcode`\4=\mathcode`- \mathcode`\5=\mathcode`- -\mathcode`\6=\mathcode`- \mathcode`\7=\mathcode`- -\mathcode`\8=\mathcode`- \mathcode`\9=\mathcode`- } -\def\e@fi{\ifnum\mathcode`\0=\mathcode`- \global\FC@r=\m@ne\fi$\egroup +\uccode`\~=`+\relax \uppercase{\def~}{\ifnum\mathcode`\0="8000 +\m@thcodeswitch0 \fi\global\FC@l=0} +\uccode`\~=`-\relax \uppercase{\def~}{\ifnum\mathcode`\0="8000 +\m@thcodeswitch0 \fi\global\let\FCs@gn\m@ne \global\FC@l=0}% +\mathcode`-="8000 \mathcode`+="8000 \mathcode`.="8000 +\m@thcodeswitch1 \def\actdecm@rk##1##2\relax{% +\ifx##1.\relax \mathcode`,="8000 \else \mathcode`##1="8000 \fi}% +\afterassignment\actdecm@rk\count@#3\relax} +\def\e@fi{\ifnum\mathcode`\0="8000 \global\FC@r=\m@ne\fi$\egroup \ifnum\FC@r>0 \ifnum\FC@r=1 \FC@r=10 \fi \def\i@ts##1##2{\count0=##2} \afterassignment\i@ts\count@\sp@l \loop\ifnum\count0>0 \multiply\FC@l by 10 - \expandafter\secd@xt\number\FC@r\end \advance\count0 by \m@ne + \expandafter\secd@xt\number\FC@r\secd@xt \advance\count0 by \m@ne \repeat - \ifnum\FC@r>10 + \ifnum\expandafter\@gobble\number\FC@r>0 \def\tw@l##1##2\relax{##2} - \PackageWarning{fcolumn}{Excess digit\ifnum\FC@r>100 s\fi\space + \PackageWarning{fcolumn}{Excess digit\ifnum\FC@r>19 s\fi\space ``\expandafter\tw@l\number\FC@r\relax'' in decimal part \MessageBreak ignored near or} \fi \ifx\FCs@gn\m@ne\relax \FC@l=-\FC@l \fi \zetg@ld{\sp@l}{\FC@l}% \fi} -\def\secd@xt#1#2#3\end{\advance\FC@l by #2 +\def\secd@xt#1#2#3\secd@xt{\advance\FC@l by #2 \FC@r=#1#3 \ifnum\FC@r=1 \FC@r=10 \fi} -\def\restorem@thcodes{\mathcode`\0=0 \mathcode`\1=0 -\mathcode`\2=0 \mathcode`\3=0 \mathcode`\4=0 \mathcode`\5=0 -\mathcode`\6=0 \mathcode`\7=0 \mathcode`\8=0 \mathcode`\9=0 } -\def\@array[#1]#2{% -\@tempdima \ht \strutbox -\advance \@tempdima by\extrarowheight -\setbox \@arstrutbox \hbox{\vrule - \@height \arraystretch \@tempdima - \@depth \arraystretch \dp \strutbox - \@width \z@}% -\def\ialign{\everycr{\noalign{\global\FCsc@l=0 }}% - \tabskip\z@skip\halign} -\begingroup -\@mkpream{#2}% -\xdef\@preamble{\noexpand \ialign \@halignto +\def\@array[#1]#2{\@tempdima\ht\strutbox\advance\@tempdima by + \extrarowheight\setbox\@arstrutbox\hbox{\vrule\@height\arraystretch + \@tempdima\@depth\arraystretch\dp\strutbox\@width\z@}% +\def\ialign{\everycr{\noalign{\global\FCsc@l=0 }}\tabskip\z@skip\halign} +\begingroup\@mkpream{#2}\xdef\@preamble{\noexpand\ialign\@halignto \bgroup\@arstrut\@preamble\tabskip\z@\cr}% \endgroup -\begingroup -\@mksumline{#2}% -\endgroup +\begingroup\@mksumline{#2}\endgroup \res@tsumline -\@arrayleft -\if #1t\vtop \else \if#1b\vbox \else \vcenter \fi \fi -\bgroup -\let \@sharp ##\let \protect \relax -\lineskip \z@ -\baselineskip \z@ -\m@th -\let\\\@arraycr \let\tabularnewline\\\let\par\@empty \@preamble} +\@arrayleft\if #1t\vtop\else\if#1b\vbox\else\vcenter\fi\fi\bgroup +\let\@sharp ##\let\protect\relax\lineskip\z@\baselineskip\z@ +\m@th \let\\\@arraycr \let\tabularnewline\\\let\par\@empty \@preamble} \let\@@array=\@array \def\@mksumline#1{\gdef\s@ml@ne{}\@lastchclass 4 \@firstamptrue \global\FCsc@l=0 \let\prr@sult=\relax -\@temptokena{#1}\@tempswatrue -\@whilesw\if@tempswa\fi{\@tempswafalse\the\NC@list}% -\count0\m@ne\let\the@toks\relax\prepnext@tok -\expandafter \@tfor \expandafter \@nextchar - \expandafter :\expandafter =\the\@temptokena \do - {\@testpach - \ifcase \@chclass \@classfz \or \or \@classfii \or \or \or \or \or - \or \or \or \@classfx \fi\@lastchclass\@chclass}% +\@temptokena{#1}\@tempswatrue\@whilesw\if@tempswa\fi{\@tempswafalse +\the\NC@list}\count0\m@ne\let\the@toks\relax\prepnext@tok +\expandafter\@tfor\expandafter\@nextchar\expandafter:\expandafter=\the +\@temptokena\do{\@testpach\ifcase\@chclass\@classfz\or\or\@classfii\or +\or\or\or\or\or\or\or\@classfx\fi\@lastchclass\@chclass}% \xdef\s@ml@ne{\s@ml@ne\noexpand\aut@check\noexpand\\}} \def\@addtosumline#1{\xdef\s@ml@ne{\s@ml@ne #1}} \def\@classfx{\if@firstamp \@firstampfalse \else \@addtosumline &\fi} @@ -245,7 +212,7 @@ \else \PackageError{fcolumn}{Name clash for <dimen>}{\expandafter\csname FCwd@\romannumeral\FCsc@l\endcsname is already defined and it may - not even be a <dimen>. If you're\MessageBreak sure it is a <dimen>, + not even be a <dimen>. If you're\MessageBreak sure it is a <dimen>, you can press <enter> now and I'll proceed, but things\MessageBreak will get overwritten.}% \fi @@ -276,70 +243,54 @@ FCtot@\romannumeral\FCsc@l\endcsname}$}% \count0=\@ne \count1=\FCsc@l \divide\count1 by \tw@ \loop\ifnum\count1<\FCsc@l - \advance\count1 by \@ne - \xdef\FC@chklist{\FC@chklist\number\count0,\number\count1;}% - \advance\count0 by\@ne + \advance\count1 by \@ne + \xdef\FC@chklist{\FC@chklist\number\count0,\number\count1;}% + \advance\count0 by\@ne \repeat - \fi + \fi \fi \loop - \ifx\FC@chklist\@empty\let\FCs@gn=\@ne\else\let\FCs@gn=\m@ne\fi - \ifx\FCs@gn\m@ne - \expandafter\fre@t\FC@chklist\end - \ifnum\csname FCtot@\romannumeral\count0\endcsname= - \csname FCtot@\romannumeral\count1\endcsname\else - \PackageWarning{fcolumn}{F-columns \number\count0 \space - and \number\count1 \space do not balance near or}% - \fi +\ifx\FC@chklist\@empty\let\FCs@gn=\@ne\else\let\FCs@gn=\m@ne\fi +\ifx\FCs@gn\m@ne + \expandafter\fre@t\FC@chklist\end + \ifnum\csname FCtot@\romannumeral\count0\endcsname= + \csname FCtot@\romannumeral\count1\endcsname\else + \PackageWarning{fcolumn}{F-columns \number\count0 \space and + \number\count1 \space do not balance due to \string\sumline + \MessageBreak near or}% + \fi \repeat} \def\fre@t#1,#2;#3\end{\count0=#1 \count1=#2 \xdef\FC@chklist{#3}} \def\checkfcolumns#1#2{\noalign{\xdef\FC@chklist{\FC@chklist #1,#2;}}} \ifx\longtable\@undefined - \PackageWarningNoLine{fcolumn}{fcolumn is loaded without longtable. That's - OK, but\MessageBreak if you want to load longtable as well, make sure - \MessageBreak it is done before loading fcolumn} -\fi -\def\LT@array[#1]#2{% - \refstepcounter{table}\stepcounter{LT@tables}% - \if l#1 \LTleft\z@\LTright\fill - \else\if r#1 \LTleft\fill\LTright\z@ - \else\if c#1 \LTleft\fill\LTright\fill - \fi\fi\fi - \let\LT@mcol\multicolumn\let\LT@@tabarray\@tabarray\let\LT@@hl\hline - \def\@tabarray{\let\hline\LT@@hl \LT@@tabarray}% - \let\\\LT@tabularcr\let\tabularnewline\\% - \def\newpage{\noalign{\break}}% - \def\pagebreak{\noalign{\ifnum`}=0\fi\@testopt{\LT@no@pgbk-}4}% - \def\nopagebreak{\noalign{\ifnum`}=0\fi\@testopt\LT@no@pgbk4}% - \let\hline\LT@hline\let\kill\LT@kill\let\caption\LT@caption - \@tempdima\ht\strutbox\let\@endpbox\LT@endpbox - \ifx\extrarowheight\@undefined - \let\@acol\@tabacol\let\@classz\@tabclassz\let\@classiv\@tabclassiv - \def\@startpbox{\vtop\LT@startpbox}\let\@@startpbox - \@startpbox\let\@@endpbox\@endpbox\let\LT@LL@FM@cr\@tabularcr - \else - \advance\@tempdima\extrarowheight \col@sep\tabcolsep - \let\@startpbox\LT@startpbox\let\LT@LL@FM@cr\@arraycr - \fi - \setbox\@arstrutbox\hbox{\vrule\@height\arraystretch\@tempdima - \@depth\arraystretch\dp\strutbox\@width\z@}% - \let\@sharp##\let\protect\relax - \begingroup - \@mkpream{#2}% - \xdef\LT@bchunk{% - \global\advance\c@LT@chunks\@ne\global\LT@rows\z@ - \setbox\z@\vbox\bgroup\LT@setprevdepth\tabskip\LTleft - \noexpand\halign to\hsize\bgroup\tabskip\z@\@arstrut - \@preamble\tabskip\LTright\cr}% - \endgroup - \begingroup - \@mksumline{#2}% - \endgroup - \res@tsumline + \PackageWarningNoLine{fcolumn}{fcolumn is loaded without longtable. + That's OK, but\MessageBreak if you want to load longtable as well, + make sure \MessageBreak it is done before loading fcolumn}\else + \def\LT@array[#1]#2{\refstepcounter{table}\stepcounter{LT@tables}\if + l#1 \LTleft\z@\LTright\fill\else\if r#1 \LTleft\fill\LTright\z@\else + \if c#1 \LTleft\fill\LTright\fill\fi\fi\fi\let\LT@mcol\multicolumn + \let\LT@@tabarray\@tabarray\let\LT@@hl\hline\def\@tabarray{\let + \hline\LT@@hl\LT@@tabarray}\let\\\LT@tabularcr\let\tabularnewline\\ + \def\newpage{\noalign{\break}}\def\pagebreak{\noalign{\ifnum`}=0\fi + \@testopt{\LT@no@pgbk-}4}\def\nopagebreak{\noalign{\ifnum`}=0\fi + \@testopt\LT@no@pgbk4}\let\hline\LT@hline\let\kill\LT@kill\let\caption + \LT@caption\@tempdima\ht\strutbox\let\@endpbox\LT@endpbox\ifx + \extrarowheight\@undefined\let\@acol\@tabacol\let\@classz\@tabclassz + \let\@classiv\@tabclassiv\def\@startpbox{\vtop\LT@startpbox}\let + \@@startpbox\@startpbox\let\@@endpbox\@endpbox\let\LT@LL@FM@cr + \@tabularcr\else\advance\@tempdima\extrarowheight\col@sep\tabcolsep + \let\@startpbox\LT@startpbox\let\LT@LL@FM@cr\@arraycr\fi\setbox + \@arstrutbox\hbox{\vrule\@height\arraystretch\@tempdima\@depth + \arraystretch\dp\strutbox\@width\z@}\let\@sharp##\let\protect\relax + \begingroup\@mkpream{#2}\xdef\LT@bchunk{\global\advance\c@LT@chunks + \@ne\global\LT@rows\z@\setbox\z@\vbox\bgroup\LT@setprevdepth\tabskip + \LTleft\noexpand\halign to\hsize\bgroup\tabskip\z@\@arstrut\@preamble + \tabskip\LTright\cr}\endgroup + \begingroup\@mksumline{#2}\endgroup\res@tsumline \everycr{\noalign{\global\FCsc@l=0 }}% - \expandafter\LT@nofcols\LT@bchunk&\LT@nofcols - \LT@make@row\m@th\let\par\@empty - \lineskip\z@\baselineskip\z@\LT@bchunk} + \expandafter\LT@nofcols\LT@bchunk&\LT@nofcols\LT@make@row\m@th\let + \par\@empty\lineskip\z@\baselineskip\z@\LT@bchunk} +\fi \endinput %% %% End of file `fcolumn.sty'. |