summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/datatool/datatool-base.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/datatool/datatool-base.sty')
-rw-r--r--Master/texmf-dist/tex/latex/datatool/datatool-base.sty52
1 files changed, 39 insertions, 13 deletions
diff --git a/Master/texmf-dist/tex/latex/datatool/datatool-base.sty b/Master/texmf-dist/tex/latex/datatool/datatool-base.sty
index ce4d6d7b64f..753f02324a0 100644
--- a/Master/texmf-dist/tex/latex/datatool/datatool-base.sty
+++ b/Master/texmf-dist/tex/latex/datatool/datatool-base.sty
@@ -39,7 +39,7 @@
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{datatool-base}[2016/01/18 v2.25 (NLCT)]
+\ProvidesPackage{datatool-base}[2016/07/20 v2.26 (NLCT)]
\RequirePackage{etoolbox}
\RequirePackage{amsmath}
\RequirePackage{xkeyval}
@@ -235,19 +235,33 @@
\def\@dtl@newsortedlist{}%
\@dtl@insertdonefalse
\@for\dtl@srtelement:=#2\do{%
- \if@dtl@insertdone
+ \expandafter\DTLifSubString\expandafter{\dtl@srtelement}{,}
+ {%
\expandafter\toks@\expandafter{\dtl@srtelement}%
- \edef\@dtl@newstuff{{\the\toks@}}%
+ \edef\dtl@srtelement{{\the\toks@}}%
+ }%
+ {%
+ }
+ \if@dtl@insertdone
+ \let\@dtl@newstuff\dtl@srtelement
\else
- \expandafter#3\expandafter{\dtl@srtelement}{#1}%
- \ifnum\dtl@sortresult<0\relax
+ \expandafter#3\expandafter\dtl@sortresult\expandafter
+ {\dtl@srtelement}{#1}%
+ \ifnum\dtl@sortresult>0\relax
+ \DTLifSubString{#1}{,}%
+ {%
+ \@dtl@toks{{#1}}%
+ }%
+ {%
+ \@dtl@toks{#1}%
+ }%
\expandafter\toks@\expandafter{\dtl@srtelement}%
- \@dtl@toks{#1}%
- \edef\@dtl@newstuff{{\the\@dtl@toks},{\the\toks@}}%
+ \edef\@dtl@newstuff{\the\@dtl@toks,\the\toks@}%
\@dtl@insertdonetrue
\else
\expandafter\toks@\expandafter{\dtl@srtelement}%
\edef\@dtl@newstuff{{\the\toks@}}%
+ \let\@dtl@newstuff\dtl@srtelement
\fi
\fi
\ifdefempty{\@dtl@newsortedlist}%
@@ -264,15 +278,27 @@
}%
\ifdefempty{\@dtl@newsortedlist}%
{%
- \@dtl@toks{#1}%
- \edef\@dtl@newsortedlist{{\the\@dtl@toks}}%
+ \DTLifSubString{#1}{,}%
+ {%
+ \@dtl@toks{{#1}}%
+ }%
+ {%
+ \@dtl@toks{#1}%
+ }%
+ \edef\@dtl@newsortedlist{\the\@dtl@toks}%
}%
{%
\if@dtl@insertdone
\else
+ \DTLifSubString{#1}{,}%
+ {%
+ \@dtl@toks{{#1}}%
+ }%
+ {%
+ \@dtl@toks{#1}%
+ }%
\expandafter\toks@\expandafter{\@dtl@newsortedlist}%
- \@dtl@toks{#1}%
- \edef\@dtl@newsortedlist{\the\toks@,{\the\@dtl@toks}}%
+ \edef\@dtl@newsortedlist{\the\toks@,\the\@dtl@toks}%
\fi
}%
\global\let#2=\@dtl@newsortedlist
@@ -313,8 +339,8 @@
\noexpand\def\noexpand\@dtl@fracpart{0}%
}%
{%
- \noexpand\@dtl@getfracpart##2\noexpand\relax
- \noexpand\@dtl@choptrailingzeroes{\noexpand\@dtl@fracpart}%
+ \noexpand\@dtl@getfracpart##2\noexpand\relax
+ \noexpand\@dtl@choptrailingzeroes{\noexpand\@dtl@fracpart}%
}%
}%
\noexpand\def\noexpand\@dtl@getfracpart##1#1\noexpand\relax{%