texlive[41772] Master/texmf-dist: datatool (28jul16)

commits+karl at tug.org commits+karl at tug.org
Sun Jul 31 01:10:06 CEST 2016


Revision: 41772
          http://tug.org/svn/texlive?view=revision&revision=41772
Author:   karl
Date:     2016-07-31 01:10:06 +0200 (Sun, 31 Jul 2016)
Log Message:
-----------
datatool (28jul16)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/datatool/CHANGES
    trunk/Master/texmf-dist/doc/latex/datatool/README
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-code.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user.tex
    trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-autokeys.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-barchart.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-datatooltk.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-dict.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-europecv-bib.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-gidx.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-glossary.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-index.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-mail-merge.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-piechart.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-sort.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-student-scores.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-two-per-row.pdf
    trunk/Master/texmf-dist/source/latex/datatool/datatool.dtx
    trunk/Master/texmf-dist/source/latex/datatool/datatool.ins
    trunk/Master/texmf-dist/tex/latex/datatool/databar.sty
    trunk/Master/texmf-dist/tex/latex/datatool/databib.sty
    trunk/Master/texmf-dist/tex/latex/datatool/datagidx.sty
    trunk/Master/texmf-dist/tex/latex/datatool/datapie.sty
    trunk/Master/texmf-dist/tex/latex/datatool/dataplot.sty
    trunk/Master/texmf-dist/tex/latex/datatool/datatool-base.sty
    trunk/Master/texmf-dist/tex/latex/datatool/datatool-fp.sty
    trunk/Master/texmf-dist/tex/latex/datatool/datatool-pgfmath.sty
    trunk/Master/texmf-dist/tex/latex/datatool/datatool.sty
    trunk/Master/texmf-dist/tex/latex/datatool/person.sty

Modified: trunk/Master/texmf-dist/doc/latex/datatool/CHANGES
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/CHANGES	2016-07-30 23:09:45 UTC (rev 41771)
+++ trunk/Master/texmf-dist/doc/latex/datatool/CHANGES	2016-07-30 23:10:06 UTC (rev 41772)
@@ -1,3 +1,20 @@
+v2.27:
+
+  * datatool-base:
+
+   - reverted \dtl at insertinto to pre v2.26. (The bug fixes
+     in v2.26 caused backward-compatibility issues, which 
+     break glossaries.sty's "noidx" code.)
+
+   - new commands \dtlsortlist and \dtlinsertinto (which
+     are how \dtl at sortlist and \dtl at insertinto ought to
+     behave but don't). The internal commands are left for
+     backward compatibility. The user commands should be
+     used for the correct function. (Added new section in
+     the user manual documenting these new commands.)
+
+   - new command \edtlinsertinto
+
 v2.26:
 
   * datatool-base:

Modified: trunk/Master/texmf-dist/doc/latex/datatool/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/README	2016-07-30 23:09:45 UTC (rev 41771)
+++ trunk/Master/texmf-dist/doc/latex/datatool/README	2016-07-30 23:10:06 UTC (rev 41772)
@@ -1,6 +1,6 @@
-LaTeX Bundle : datatool v2.26 
+LaTeX Bundle : datatool v2.27 
 
-Last Modified : 2016-07-20
+Last Modified : 2016-07-28
 
 Author        : Nicola Talbot
 

Modified: trunk/Master/texmf-dist/doc/latex/datatool/datatool-code.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user.tex	2016-07-30 23:09:45 UTC (rev 41771)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user.tex	2016-07-30 23:10:06 UTC (rev 41772)
@@ -102,11 +102,11 @@
 
 \MakeShortVerb{"}
 
- \title{User Manual for datatool bundle version~2.26}
+ \title{User Manual for datatool bundle version~2.27}
  \author{Nicola L.C. Talbot\\
 \url{http://www.dickimaw-books.com/}}
 
- \date{2016-07-20}
+ \date{2016-07-28}
  \maketitle
 
 \pagenumbering{roman}
@@ -121,7 +121,7 @@
   \item[\url{datatool-code.pdf}]
   Advanced users wishing to know more about the inner workings of
   all the packages provided in the \styfmt{datatool} bundle should
-  read \qt{Documented Code for datatool v2.26}
+  read \qt{Documented Code for datatool v2.27}
 
   \item[INSTALL] Installation instructions.
 
@@ -2043,6 +2043,122 @@
 \renewcommand*{\DTLinitialhyphen}{}\relax
 \DTLinitials{Marie-{\'E}lise del~Rosario}}
 
+\chapter{Comma-Separated Lists}
+\label{sec:csvlists}
+
+The \styfmt{datatool-base} package automatically loads the
+\sty{etoolbox} package, so you can use any of the list
+commands provided by that package, or you can use
+the internal command \cs{@for} provided by the \LaTeX\ kernel
+(and modified by the \sty{xfor} package, which is also loaded
+by \styfmt{datatool-base}).
+
+In addition to those commands, \styfmt{datatool-base}
+provides some commands that deal with comma-separated lists.
+Note that this just refers to a control sequence that stores
+a list of elements separated by commands, for example:
+\begin{verbatim}
+\newcommand{\mylist}{elephant,ant,zebra,duck}
+\end{verbatim}
+This isn't the same as comma-separated files, which is dealt
+with in \sectionref{sec:databases}.
+
+\begin{definition}[\DescribeMacro\dtlsortlist]
+\cs{dtlsortlist}\marg{list cs}\marg{criteria cs}
+\end{definition}
+This sorts the comma-separated list stored in the command
+\meta{list cs} according to the criteria command
+\meta{criteria cs}. The criteria command must take three arguments:
+a count register in which to store the result, element \meta{A} and
+element \meta{B}. If \meta{A} is considered less that \meta{B}, the
+count register should be set to $-1$, if \meta{A} and \meta{B} are
+considered the same then the count register should be set to 0,
+and if \meta{A} is considered greater than \meta{B}, then the count
+register should be set to 1.
+
+The \styfmt{datatool-base} package provides some predefined
+criteria commands:
+\begin{definition}[\DescribeMacro\dtlcompare]
+\cs{dtlcompare}\marg{register}\marg{A}\marg{B}
+\end{definition}
+A case-sensitive comparison.
+\begin{definition}[\DescribeMacro\dtlicompare]
+\cs{dtlicompare}\marg{register}\marg{A}\marg{B}
+\end{definition}
+A case-insensitive comparison.
+\begin{definition}[\DescribeMacro\dtlwordindexcompare]
+\cs{dtlwordindexcompare}\marg{register}\marg{A}\marg{B}
+\end{definition}
+English word-ordering comparison for indexes, as described by 
+the Oxford Style Manual.
+\begin{definition}[\DescribeMacro\dtlletterindexcompare]
+\cs{dtlletterindexcompare}\marg{register}\marg{A}\marg{B}
+\end{definition}
+English letter-ordering comparison for indexes.
+Those last two commands are described in more detail in
+\sectionref{sec:sort}.
+
+For example:
+\begin{verbatim}
+\newcommand{\mylist}{elephant,ant,zebra,duck}
+\dtlsortlist{\mylist}{\dtlcompare}
+
+\mylist.
+\end{verbatim}
+produces:
+\begin{display}
+\newcommand{\mylist}{elephant,ant,zebra,duck}
+\dtlsortlist{\mylist}{\dtlcompare}
+
+\mylist.
+\end{display}
+
+If you are building up a list, you may prefer to use:
+\begin{definition}[\DescribeMacro\dtlinsertinto]
+\cs{dtlinsertinto}\marg{element}\marg{list cs}\marg{criteria cs}
+\end{definition}
+which inserts \meta{element} into the list stored in the
+command \meta{list cs} according to the criteria command
+\meta{criteria cs}. This is more efficient than first building the
+list and then sorting it.
+
+For example:
+\begin{verbatim}
+\newcommand{\mylist}{}
+\dtlinsertinto{elephant}{\mylist}{\dtlcompare}
+\dtlinsertinto{ant}{\mylist}{\dtlcompare}
+\dtlinsertinto{zebra}{\mylist}{\dtlcompare}
+\dtlinsertinto{duck}{\mylist}{\dtlcompare}
+
+\mylist.
+\end{verbatim}
+produces:
+\begin{display}
+\newcommand{\mylist}{}
+\dtlinsertinto{elephant}{\mylist}{\dtlcompare}
+\dtlinsertinto{ant}{\mylist}{\dtlcompare}
+\dtlinsertinto{zebra}{\mylist}{\dtlcompare}
+\dtlinsertinto{duck}{\mylist}{\dtlcompare}
+
+\mylist.
+\end{display}
+
+Note that \cs{dtlinsertinto} doesn't expand \meta{element}.
+If the element is stored in a command, you need to
+expand it first. For example:
+\begin{verbatim}
+\newcommand*{\element}{ant}
+\expandafter\dtlinsertinto\expandafter{\element}{\mylist}{\dtlcompare}
+\end{verbatim}
+
+To ensure that the element is first fully expanded, you can
+use:
+\begin{definition}[\DescribeMacro\edtlinsertinto]
+\cs{edtlinsertinto}\marg{element}\marg{list cs}\marg{criteria cs}
+\end{definition}
+This will fully expand \meta{element} using \cs{protected at edef}
+and then use \cs{dtlinsertinto}.
+
 \chapter{Databases}
 \label{sec:databases}
 
@@ -4522,9 +4638,9 @@
 an alphabetical or numerical sort is required.
 
 The final argument \meta{handler} is the command used for the
-comparisons. These handlers are described in more detail on
-page~\pageref*{src:dtlcompare} of the documented code (datatool-code.pdf). The following 
-handlers are provided:
+comparisons and is the same as the \meta{criteria cs} command
+used by \cs{dtlsortlist} and \cs{dtlinsertinto}, described
+in \sectionref{sec:csvlists}. The predefined handlers are:
 \begin{description}
 \item[\ics{dtlcompare}] A case-sensitive comparison.
 \item[\ics{dtlicompare}] A case-insensitive comparison.

Modified: trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-autokeys.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-barchart.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-datatooltk.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-dict.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-europecv-bib.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-gidx.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-glossary.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-index.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-mail-merge.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-piechart.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-sort.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-student-scores.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-two-per-row.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/datatool/datatool.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/datatool/datatool.dtx	2016-07-30 23:09:45 UTC (rev 41771)
+++ trunk/Master/texmf-dist/source/latex/datatool/datatool.dtx	2016-07-30 23:10:06 UTC (rev 41772)
@@ -2,11 +2,8 @@
 % datatool.dtx generated using makedtx version 1.1 (c) Nicola Talbot
 % Command line args:
 %   -macrocode "databib\.bst"
-%   -codetitle ""
 %   -comment "databib\.bst"
-%   -author "Nicola Talbot"
 %   -setambles "databib\.bst=>\nopreamble\nopostamble"
-%   -doc "datatool-manual.tex"
 %   -src "datatool-base.sty\Z=>datatool-base.sty"
 %   -src "datatool-fp.sty\Z=>datatool-fp.sty"
 %   -src "datatool-pgfmath.sty\Z=>datatool-pgfmath.sty"
@@ -18,8 +15,11 @@
 %   -src "dataplot.sty\Z=>dataplot.sty"
 %   -src "person.sty\Z=>person.sty"
 %   -src "databib.bst\Z=>databib.bst"
+%   -doc "datatool-manual.tex"
+%   -author "Nicola Talbot"
+%   -codetitle ""
 %   datatool
-% Created on 2016/7/20 19:31
+% Created on 2016/7/28 15:09
 %\fi
 %\iffalse
 %<*package>
@@ -53,6 +53,8 @@
 datatool.dtx
 \fi
 
+\DeleteShortVerb{|}
+
 \usepackage{datatool}
 \usepackage[utf8]{inputenc}
 \usepackage[T1]{fontenc}
@@ -66,7 +68,7 @@
 \doxitem{Counter}{counter}{counters}
 \doxitem{Option}{option}{package options}
 
-\CheckSum{23620}
+\CheckSum{23739}
 
 \RecordChanges
 \PageIndex
@@ -79,11 +81,11 @@
 %\fi
 %\MakeShortVerb{"}
 %
-%\title{Documented Code for datatool v2.26}
+%\title{Documented Code for datatool v2.27}
 %\author{Nicola L. C. Talbot\\
 %\url{http://www.dickimaw-books.com/}}
 %
-%\date{2016-07-20}
+%\date{2016-07-28}
 %\maketitle
 %
 %\pagenumbering{roman}
@@ -119,7 +121,7 @@
 %
 %    \begin{macrocode}
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{datatool-base}[2016/07/20 v2.26 (NLCT)]
+\ProvidesPackage{datatool-base}[2016/07/28 v2.27 (NLCT)]
 %    \end{macrocode}
 % Required packages:
 %    \begin{macrocode}
@@ -533,6 +535,19 @@
 %    \end{macrocode}
 %\end{macro}
 %
+%I made a bit of a blunder here. \cs{dtl at sortlist} was supposed to
+%work with commands like \cs{dtlcompare}, but those commands require
+%three arguments, the first being the register in which to store the
+%result. This contradicts the requirements of \cs{dtl at sortlist}. The
+%\qt{bug fix} in v2.26 fixed it to work with commands like
+%\cs{dtlcompare}, but that broke the documented design (which breaks
+%the \sty{glossaries} package). The other problem is that
+%\cs{dtl at insertinto} actually sorts in the reverse order.
+%So v2.27 undoes the change from v2.26 to ensure backward
+%compatibility and provides an alternative user-level command
+%\cs{dltsortlist}, that's designed to work with the three-argument
+%handler commands like \cs{dtlcompare}.
+%
 %\begin{macro}{\dtl at sortlist}
 %\begin{definition}
 % \cs{dtl at sortlist}\marg{list}\marg{criteria cmd}
@@ -540,8 +555,8 @@
 % Performs an insertion sort on \meta{list}, where \meta{criteria cmd}
 % is a macro which takes two arguments \meta{a} and \meta{b}.
 % \meta{criteria cmd} must set the count register \cs{dtl at sortresult}
-% to either $-1$ (\meta{a} less than \meta{b}), 0 (\meta{a} is
-% equal to \meta{b}) or 1 (\meta{a} is greater than \meta{b}.)
+% to either $-1$ (\meta{b} less than \meta{a}), 0 (\meta{a} is
+% equal to \meta{b}) or 1 (\meta{b} is greater than \meta{a}.)
 %    \begin{macrocode}
 \newcommand{\dtl at sortlist}[2]{%
 \def\@dtl at sortedlist{}%
@@ -565,6 +580,94 @@
   \def\@dtl at newsortedlist{}%
   \@dtl at insertdonefalse
   \@for\dtl at srtelement:=#2\do{%
+    \if at dtl@insertdone
+      \expandafter\toks@\expandafter{\dtl at srtelement}%
+      \edef\@dtl at newstuff{{\the\toks@}}%
+    \else
+%    \end{macrocode}
+%\changes{2.26}{2016-07-20}{fixed bug (missing \cs{dtl at sortresult})}
+%\changes{2.27}{2016-07-28}{undone the incorrect change in v2.26}
+%    \begin{macrocode}
+      \expandafter#3\expandafter{\dtl at srtelement}{#1}%
+%    \end{macrocode}
+%\changes{2.26}{2016-07-20}{fixed bug (incorrect inequality sign)}
+%\changes{2.27}{2016-07-28}{undone the incorrect change in v2.26}
+%    \begin{macrocode}
+      \ifnum\dtl at sortresult<0\relax
+        \expandafter\toks@\expandafter{\dtl at srtelement}%
+        \@dtl at toks{#1}%
+        \edef\@dtl at newstuff{{\the\@dtl at toks},{\the\toks@}}%
+        \@dtl at insertdonetrue
+      \else
+        \expandafter\toks@\expandafter{\dtl at srtelement}%
+        \edef\@dtl at newstuff{{\the\toks@}}%
+      \fi
+    \fi
+    \ifdefempty{\@dtl at newsortedlist}%
+    {%
+      \expandafter\toks@\expandafter{\@dtl at newstuff}%
+      \edef\@dtl at newsortedlist{\the\toks@}%
+    }%
+    {%
+      \expandafter\toks@\expandafter{\@dtl at newsortedlist}%
+      \expandafter\@dtl at toks\expandafter{\@dtl at newstuff}%
+      \edef\@dtl at newsortedlist{\the\toks@,\the\@dtl at toks}%
+    }%
+    \@endforfalse
+  }%
+  \ifdefempty{\@dtl at newsortedlist}%
+  {%
+    \@dtl at toks{#1}%
+    \edef\@dtl at newsortedlist{{\the\@dtl at toks}}%
+  }%
+  {%
+    \if at dtl@insertdone
+    \else
+      \expandafter\toks@\expandafter{\@dtl at newsortedlist}%
+      \@dtl at toks{#1}%
+      \edef\@dtl at newsortedlist{\the\toks@,{\the\@dtl at toks}}%
+    \fi
+  }%
+  \global\let#2=\@dtl at newsortedlist
+}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\dtlsortlist}
+%\changes{2.27}{2016/07/28}{new}
+%\begin{definition}
+% \cs{dtlsortlist}\marg{list}\marg{criteria cmd}
+%\end{definition}
+% As \cs{dtl at sortlist} but the \meta{criteria} command must take
+% three arguments.
+%    \begin{macrocode}
+\newcommand{\dtlsortlist}[2]{%
+\def\@dtl at sortedlist{}%
+\@for\@dtl at currentrow:=#1\do{%
+\expandafter\dtlinsertinto\expandafter
+  {\@dtl at currentrow}{\@dtl at sortedlist}{#2}%
+\@endforfalse}%
+\let#1=\@dtl at sortedlist
+}
+%    \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\dtlinsertinto}
+%\changes{2.27}{2016/07/28}{new}
+%\begin{definition}
+% \cs{dtlinsertinto}\marg{element}\marg{sorted-list}\marg{criteria cmd}
+%\end{definition}
+% Inserts \meta{element} into the sorted list \meta{sorted-list}
+% according to the criteria given by \meta{criteria cmd}, which
+% should be a command that takes three arguments
+% \marg{reg}\marg{A}\marg{B}, where \meta{reg} is a count register
+% in which to store the result, \meta{A} is the first element and
+% \meta{B} is the second element to compare.
+%    \begin{macrocode}
+\newcommand{\dtlinsertinto}[3]{%
+  \def\@dtl at newsortedlist{}%
+  \@dtl at insertdonefalse
+  \@for\dtl at srtelement:=#2\do{%
     \expandafter\DTLifSubString\expandafter{\dtl at srtelement}{,}
     {%
       \expandafter\toks@\expandafter{\dtl at srtelement}%
@@ -575,14 +678,8 @@
     \if at dtl@insertdone
       \let\@dtl at newstuff\dtl at srtelement
     \else
-%    \end{macrocode}
-%\changes{2.26}{2016-07-20}{fixed bug (missing \cs{dtl at sortresult})}
-%    \begin{macrocode}
-      \expandafter#3\expandafter\dtl at sortresult\expandafter
-        {\dtl at srtelement}{#1}%
-%    \end{macrocode}
-%\changes{2.26}{2016-07-20}{fixed bug (incorrect inequality sign)}
-%    \begin{macrocode}
+      \expandafter#3\expandafter\dtl at sortresult
+        \expandafter{\dtl at srtelement}{#1}%
       \ifnum\dtl at sortresult>0\relax
         \DTLifSubString{#1}{,}%
         {%
@@ -641,6 +738,21 @@
 }
 %    \end{macrocode}
 %\end{macro}
+%
+%\begin{macro}{\edtlinsertinto}
+%\changes{2.27}{2016/07/28}{new}
+%\begin{definition}
+% \cs{edtlinsertinto}\marg{element}\marg{sorted-list}\marg{criteria cmd}
+%\end{definition}
+%First expands \meta{element} before inserting into the list.
+%    \begin{macrocode}
+\newcommand*{\edtlinsertinto}[3]{%
+  \protected at edef\dtl at srtelement{#1}%
+  \expandafter\dtlinsertinto\expandafter{\dtl at srtelement}{#2}{#3}%
+}
+%    \end{macrocode}
+%\end{macro}
+%
 %\begin{macro}{\if at dtl@insertdone}
 % Define conditional to indicate whether the new entry has
 % been inserted into the sorted list.
@@ -5795,7 +5907,7 @@
 % Definitions of fixed-point commands that use the \sty{fp} package.
 %    \begin{macrocode}
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{datatool-fp}[2016/07/20 v2.26 (NLCT)]
+\ProvidesPackage{datatool-fp}[2016/07/28 v2.27 (NLCT)]
 %    \end{macrocode}
 % Required packages:
 %    \begin{macrocode}
@@ -6084,7 +6196,7 @@
 % Definitions of fixed-point commands that use the \sty{pgfmath} package.
 %    \begin{macrocode}
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{datatool-pgfmath}[2016/07/20 v2.26 (NLCT)]
+\ProvidesPackage{datatool-pgfmath}[2016/07/28 v2.27 (NLCT)]
 %    \end{macrocode}
 % Required packages:
 %    \begin{macrocode}
@@ -6425,7 +6537,7 @@
 %\section{Package Declaration}
 %    \begin{macrocode}
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{datatool}[2016/07/20 v2.26 (NLCT)]
+\ProvidesPackage{datatool}[2016/07/28 v2.27 (NLCT)]
 %    \end{macrocode}
 % Load required packages:
 %    \begin{macrocode}
@@ -14018,7 +14130,7 @@
 % Declare package:
 %    \begin{macrocode}
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{datagidx}[2016/07/20 v2.26 (NLCT)]
+\ProvidesPackage{datagidx}[2016/07/28 v2.27 (NLCT)]
 %    \end{macrocode}
 % Required packages:
 %    \begin{macrocode}
@@ -19927,7 +20039,7 @@
 %\section{Package Declaration}
 %    \begin{macrocode}
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{databib}[2016/07/20 v2.26 (NLCT)]
+\ProvidesPackage{databib}[2016/07/28 v2.27 (NLCT)]
 %    \end{macrocode}
 % Load required packages:
 %    \begin{macrocode}
@@ -22850,7 +22962,7 @@
 % Declare package:
 %    \begin{macrocode}
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{databar}[2016/07/20 v2.26 (NLCT)]
+\ProvidesPackage{databar}[2016/07/28 v2.27 (NLCT)]
 %    \end{macrocode}
 % Require \sty{xkeyval} package
 %    \begin{macrocode}
@@ -24157,7 +24269,7 @@
 % Declare package:
 %    \begin{macrocode}
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{datapie}[2016/07/20 v2.26 (NLCT)]
+\ProvidesPackage{datapie}[2016/07/28 v2.27 (NLCT)]
 %    \end{macrocode}
 % Require \sty{xkeyval} package
 %    \begin{macrocode}
@@ -24959,7 +25071,7 @@
 % Declare package:
 %    \begin{macrocode}
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{dataplot}[2016/07/20 v2.26 (NLCT)]
+\ProvidesPackage{dataplot}[2016/07/28 v2.27 (NLCT)]
 %    \end{macrocode}
 % Required packages
 %    \begin{macrocode}
@@ -26581,7 +26693,7 @@
 % Package identification:
 %    \begin{macrocode}
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{person}[2016/07/20 v2.26 (NLCT)]
+\ProvidesPackage{person}[2016/07/28 v2.27 (NLCT)]
 %    \end{macrocode}
 % Requires the \sty{ifthen} package.
 %    \begin{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/datatool/datatool.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/datatool/datatool.ins	2016-07-30 23:09:45 UTC (rev 41771)
+++ trunk/Master/texmf-dist/source/latex/datatool/datatool.ins	2016-07-30 23:10:06 UTC (rev 41772)
@@ -1,4 +1,4 @@
-% datatool.ins generated using makedtx version 1.1 2016/7/20 19:31
+% datatool.ins generated using makedtx version 1.1 2016/7/28 15:09
 \input docstrip
 
 \preamble

Modified: trunk/Master/texmf-dist/tex/latex/datatool/databar.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/datatool/databar.sty	2016-07-30 23:09:45 UTC (rev 41771)
+++ trunk/Master/texmf-dist/tex/latex/datatool/databar.sty	2016-07-30 23:10:06 UTC (rev 41772)
@@ -39,7 +39,7 @@
 %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
 %%   Right brace   \}     Tilde         \~}
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{databar}[2016/07/20 v2.26 (NLCT)]
+\ProvidesPackage{databar}[2016/07/28 v2.27 (NLCT)]
 \RequirePackage{xkeyval}
 \RequirePackage{dataplot}
 \newif\ifDTLcolorbarchart

Modified: trunk/Master/texmf-dist/tex/latex/datatool/databib.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/datatool/databib.sty	2016-07-30 23:09:45 UTC (rev 41771)
+++ trunk/Master/texmf-dist/tex/latex/datatool/databib.sty	2016-07-30 23:10:06 UTC (rev 41772)
@@ -39,7 +39,7 @@
 %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
 %%   Right brace   \}     Tilde         \~}
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{databib}[2016/07/20 v2.26 (NLCT)]
+\ProvidesPackage{databib}[2016/07/28 v2.27 (NLCT)]
 \RequirePackage{datatool}
 \newcommand*{\dtlbib at style}{plain}
 \define at choicekey{databib.sty}{style}{plain,abbrv,alpha}{%

Modified: trunk/Master/texmf-dist/tex/latex/datatool/datagidx.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/datatool/datagidx.sty	2016-07-30 23:09:45 UTC (rev 41771)
+++ trunk/Master/texmf-dist/tex/latex/datatool/datagidx.sty	2016-07-30 23:10:06 UTC (rev 41772)
@@ -39,7 +39,7 @@
 %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
 %%   Right brace   \}     Tilde         \~}
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{datagidx}[2016/07/20 v2.26 (NLCT)]
+\ProvidesPackage{datagidx}[2016/07/28 v2.27 (NLCT)]
 \RequirePackage{datatool}
 \RequirePackage{etoolbox}
 \RequirePackage{xkeyval}

Modified: trunk/Master/texmf-dist/tex/latex/datatool/datapie.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/datatool/datapie.sty	2016-07-30 23:09:45 UTC (rev 41771)
+++ trunk/Master/texmf-dist/tex/latex/datatool/datapie.sty	2016-07-30 23:10:06 UTC (rev 41772)
@@ -39,7 +39,7 @@
 %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
 %%   Right brace   \}     Tilde         \~}
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{datapie}[2016/07/20 v2.26 (NLCT)]
+\ProvidesPackage{datapie}[2016/07/28 v2.27 (NLCT)]
 \RequirePackage{xkeyval}
 \newif\ifDTLcolorpiechart
 \DTLcolorpiecharttrue

Modified: trunk/Master/texmf-dist/tex/latex/datatool/dataplot.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/datatool/dataplot.sty	2016-07-30 23:09:45 UTC (rev 41771)
+++ trunk/Master/texmf-dist/tex/latex/datatool/dataplot.sty	2016-07-30 23:10:06 UTC (rev 41772)
@@ -39,7 +39,7 @@
 %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
 %%   Right brace   \}     Tilde         \~}
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{dataplot}[2016/07/20 v2.26 (NLCT)]
+\ProvidesPackage{dataplot}[2016/07/28 v2.27 (NLCT)]
 \RequirePackage{xkeyval}
 \RequirePackage{tikz}
 \RequirePackage{datatool}

Modified: trunk/Master/texmf-dist/tex/latex/datatool/datatool-base.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/datatool/datatool-base.sty	2016-07-30 23:09:45 UTC (rev 41771)
+++ trunk/Master/texmf-dist/tex/latex/datatool/datatool-base.sty	2016-07-30 23:10:06 UTC (rev 41772)
@@ -39,7 +39,7 @@
 %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
 %%   Right brace   \}     Tilde         \~}
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{datatool-base}[2016/07/20 v2.26 (NLCT)]
+\ProvidesPackage{datatool-base}[2016/07/28 v2.27 (NLCT)]
 \RequirePackage{etoolbox}
 \RequirePackage{amsmath}
 \RequirePackage{xkeyval}
@@ -235,6 +235,60 @@
   \def\@dtl at newsortedlist{}%
   \@dtl at insertdonefalse
   \@for\dtl at srtelement:=#2\do{%
+    \if at dtl@insertdone
+      \expandafter\toks@\expandafter{\dtl at srtelement}%
+      \edef\@dtl at newstuff{{\the\toks@}}%
+    \else
+      \expandafter#3\expandafter{\dtl at srtelement}{#1}%
+      \ifnum\dtl at sortresult<0\relax
+        \expandafter\toks@\expandafter{\dtl at srtelement}%
+        \@dtl at toks{#1}%
+        \edef\@dtl at newstuff{{\the\@dtl at toks},{\the\toks@}}%
+        \@dtl at insertdonetrue
+      \else
+        \expandafter\toks@\expandafter{\dtl at srtelement}%
+        \edef\@dtl at newstuff{{\the\toks@}}%
+      \fi
+    \fi
+    \ifdefempty{\@dtl at newsortedlist}%
+    {%
+      \expandafter\toks@\expandafter{\@dtl at newstuff}%
+      \edef\@dtl at newsortedlist{\the\toks@}%
+    }%
+    {%
+      \expandafter\toks@\expandafter{\@dtl at newsortedlist}%
+      \expandafter\@dtl at toks\expandafter{\@dtl at newstuff}%
+      \edef\@dtl at newsortedlist{\the\toks@,\the\@dtl at toks}%
+    }%
+    \@endforfalse
+  }%
+  \ifdefempty{\@dtl at newsortedlist}%
+  {%
+    \@dtl at toks{#1}%
+    \edef\@dtl at newsortedlist{{\the\@dtl at toks}}%
+  }%
+  {%
+    \if at dtl@insertdone
+    \else
+      \expandafter\toks@\expandafter{\@dtl at newsortedlist}%
+      \@dtl at toks{#1}%
+      \edef\@dtl at newsortedlist{\the\toks@,{\the\@dtl at toks}}%
+    \fi
+  }%
+  \global\let#2=\@dtl at newsortedlist
+}
+\newcommand{\dtlsortlist}[2]{%
+\def\@dtl at sortedlist{}%
+\@for\@dtl at currentrow:=#1\do{%
+\expandafter\dtlinsertinto\expandafter
+  {\@dtl at currentrow}{\@dtl at sortedlist}{#2}%
+\@endforfalse}%
+\let#1=\@dtl at sortedlist
+}
+\newcommand{\dtlinsertinto}[3]{%
+  \def\@dtl at newsortedlist{}%
+  \@dtl at insertdonefalse
+  \@for\dtl at srtelement:=#2\do{%
     \expandafter\DTLifSubString\expandafter{\dtl at srtelement}{,}
     {%
       \expandafter\toks@\expandafter{\dtl at srtelement}%
@@ -245,8 +299,8 @@
     \if at dtl@insertdone
       \let\@dtl at newstuff\dtl at srtelement
     \else
-      \expandafter#3\expandafter\dtl at sortresult\expandafter
-        {\dtl at srtelement}{#1}%
+      \expandafter#3\expandafter\dtl at sortresult
+        \expandafter{\dtl at srtelement}{#1}%
       \ifnum\dtl at sortresult>0\relax
         \DTLifSubString{#1}{,}%
         {%
@@ -303,6 +357,10 @@
   }%
   \global\let#2=\@dtl at newsortedlist
 }
+\newcommand*{\edtlinsertinto}[3]{%
+  \protected at edef\dtl at srtelement{#1}%
+  \expandafter\dtlinsertinto\expandafter{\dtl at srtelement}{#2}{#3}%
+}
 \newif\if at dtl@insertdone
 \newcount\dtl at sortresult
 \newcommand{\toks at gput@right at cx}[2]{%

Modified: trunk/Master/texmf-dist/tex/latex/datatool/datatool-fp.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/datatool/datatool-fp.sty	2016-07-30 23:09:45 UTC (rev 41771)
+++ trunk/Master/texmf-dist/tex/latex/datatool/datatool-fp.sty	2016-07-30 23:10:06 UTC (rev 41772)
@@ -39,7 +39,7 @@
 %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
 %%   Right brace   \}     Tilde         \~}
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{datatool-fp}[2016/07/20 v2.26 (NLCT)]
+\ProvidesPackage{datatool-fp}[2016/07/28 v2.27 (NLCT)]
 \RequirePackage{xkeyval}
 \RequirePackage{fp}
 \RequirePackage{datatool-base}

Modified: trunk/Master/texmf-dist/tex/latex/datatool/datatool-pgfmath.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/datatool/datatool-pgfmath.sty	2016-07-30 23:09:45 UTC (rev 41771)
+++ trunk/Master/texmf-dist/tex/latex/datatool/datatool-pgfmath.sty	2016-07-30 23:10:06 UTC (rev 41772)
@@ -39,7 +39,7 @@
 %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
 %%   Right brace   \}     Tilde         \~}
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{datatool-pgfmath}[2016/07/20 v2.26 (NLCT)]
+\ProvidesPackage{datatool-pgfmath}[2016/07/28 v2.27 (NLCT)]
 \RequirePackage{xkeyval}
 \RequirePackage{pgfrcs,pgfkeys,pgfmath}
 \ProcessOptionsX

Modified: trunk/Master/texmf-dist/tex/latex/datatool/datatool.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/datatool/datatool.sty	2016-07-30 23:09:45 UTC (rev 41771)
+++ trunk/Master/texmf-dist/tex/latex/datatool/datatool.sty	2016-07-30 23:10:06 UTC (rev 41772)
@@ -39,7 +39,7 @@
 %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
 %%   Right brace   \}     Tilde         \~}
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{datatool}[2016/07/20 v2.26 (NLCT)]
+\ProvidesPackage{datatool}[2016/07/28 v2.27 (NLCT)]
 \RequirePackage{xkeyval}
 \RequirePackage{ifthen}
 \RequirePackage{xfor}

Modified: trunk/Master/texmf-dist/tex/latex/datatool/person.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/datatool/person.sty	2016-07-30 23:09:45 UTC (rev 41771)
+++ trunk/Master/texmf-dist/tex/latex/datatool/person.sty	2016-07-30 23:10:06 UTC (rev 41772)
@@ -39,7 +39,7 @@
 %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
 %%   Right brace   \}     Tilde         \~}
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{person}[2016/07/20 v2.26 (NLCT)]
+\ProvidesPackage{person}[2016/07/28 v2.27 (NLCT)]
 \RequirePackage{ifthen}
 \RequirePackage{datatool}
 \newcounter{people}



More information about the tex-live-commits mailing list