summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/datatool/datatool.dtx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-01-13 22:14:45 +0000
committerKarl Berry <karl@freefriends.org>2016-01-13 22:14:45 +0000
commit1916527c4310ffc4b2517c1242af4658bfa44e06 (patch)
tree4eda4590ac8977d316d05588893eceabfbbd38ed /Master/texmf-dist/source/latex/datatool/datatool.dtx
parent4cd77eec47fe7cc19e2d131ebcb23183b082c401 (diff)
datatool (13jan16)
git-svn-id: svn://tug.org/texlive/trunk@39376 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/datatool/datatool.dtx')
-rw-r--r--Master/texmf-dist/source/latex/datatool/datatool.dtx532
1 files changed, 503 insertions, 29 deletions
diff --git a/Master/texmf-dist/source/latex/datatool/datatool.dtx b/Master/texmf-dist/source/latex/datatool/datatool.dtx
index 23268df6614..34fd38d4f8a 100644
--- a/Master/texmf-dist/source/latex/datatool/datatool.dtx
+++ b/Master/texmf-dist/source/latex/datatool/datatool.dtx
@@ -2,11 +2,6 @@
% datatool.dtx generated using makedtx version 1.1 (c) Nicola Talbot
% Command line args:
% -doc "datatool-manual.tex"
-% -codetitle ""
-% -comment "databib\.bst"
-% -macrocode "databib\.bst"
-% -author "Nicola Talbot"
-% -setambles "databib\.bst=>\nopreamble\nopostamble"
% -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 +13,13 @@
% -src "dataplot.sty\Z=>dataplot.sty"
% -src "person.sty\Z=>person.sty"
% -src "databib.bst\Z=>databib.bst"
+% -author "Nicola Talbot"
+% -codetitle ""
+% -macrocode "databib\.bst"
+% -comment "databib\.bst"
+% -setambles "databib\.bst=>\nopreamble\nopostamble"
% datatool
-% Created on 2015/7/11 16:07
+% Created on 2016/1/13 11:57
%\fi
%\iffalse
%<*package>
@@ -42,7 +42,7 @@
%\fi
% \iffalse
% Doc-Source file to use with LaTeX2e
-% Copyright (C) 2015 Nicola Talbot, all rights reserved.
+% Copyright (C) 2016 Nicola Talbot, all rights reserved.
% \fi
% \iffalse
%<*driver>
@@ -66,7 +66,7 @@ datatool.dtx
\doxitem{Counter}{counter}{counters}
\doxitem{Option}{option}{package options}
-\CheckSum{23161}
+\CheckSum{23425}
\RecordChanges
\PageIndex
@@ -79,11 +79,11 @@ datatool.dtx
%\fi
%\MakeShortVerb{"}
%
-%\title{Documented Code for datatool v2.23}
+%\title{Documented Code for datatool v2.24}
%\author{Nicola L. C. Talbot\\
%\url{http://www.dickimaw-books.com/}}
%
-%\date{2015-07-11}
+%\date{2016-01-12}
%\maketitle
%
%\pagenumbering{roman}
@@ -117,7 +117,7 @@ datatool.dtx
%
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{datatool-base}[2015/07/11 v2.23 (NLCT)]
+\ProvidesPackage{datatool-base}[2016/01/12 v2.24 (NLCT)]
% \end{macrocode}
% Required packages:
% \begin{macrocode}
@@ -157,6 +157,33 @@ datatool.dtx
}
% \end{macrocode}
%\end{option}
+%
+%\begin{option}{utf8}
+%\changes{2.24}{2016-01-12}{new}
+% Enable UTF-8 support in comparison handlers. This is still a bit
+% experimental, so it needs to be explicitly switched on.
+% \begin{macrocode}
+\define@boolkey{datatool-base.sty}[@dtl@]{utf8}[true]{}
+\ifdef\UTFviii@two@octets
+{\booltrue{@dtl@utf8}}%
+{\boolfalse{@dtl@utf8}}
+% \end{macrocode}
+%\end{option}
+%
+%\begin{macro}{\dtlenableUTFviii}
+%\changes{2.24}{2016-01-12}{new}
+% \begin{macrocode}
+\newcommand*{\dtlenableUTFviii}{\booltrue{@dtl@utf8}}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\dtldisableUTFviii}
+%\changes{2.24}{2016-01-12}{new}
+% \begin{macrocode}
+\newcommand*{\dtldisableUTFviii}{\boolfalse{@dtl@utf8}}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\@dtl@mathprocessor}
% \begin{macrocode}
\providecommand*{\@dtl@mathprocessor}{fp}
@@ -239,6 +266,36 @@ datatool.dtx
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\dtl@ifsingleorUTFviii}
+%\changes{2.24}{2016-01-12}{new}
+% As above but also checks for UTF8.
+% \begin{macrocode}
+\newcommand{\dtl@ifsingleorUTFviii}[3]{%
+ \ifbool{@dtl@utf8}
+ {%
+ \def\@dtl@arg{#1}%
+ \ifdefempty{\@dtl@arg}%
+ {%
+ #3%
+ }%
+ {%
+ \expandafter\dtl@if@two@octets#1\relax\relax\dtl@end@if@two@octets
+ {%
+ \dtl@getfirst@UTFviii#1\@nil\end@dtl@getfirst@UTFviii
+ \ifdefempty\dtl@rest{#2}{#3}%
+ }%
+ {%
+ \@dtl@ifsingle#1\@nil{#2}{#3}%
+ }%
+ }%
+ }%
+ {%
+ \dtl@ifsingle{#1}{#2}{#3}%
+ }%
+}%
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\dtlifintopenbetween}
%\begin{definition}
%\cs{dtlifintopenbetween}\marg{num}\marg{min}\marg{max}\marg{true
@@ -2808,8 +2865,8 @@ datatool.dtx
\expandafter\dtl@getfirst\@dtl@argB\end@dtl@getfirst
\let\dtl@firstB=\dtl@first
\let\dtl@restB=\dtl@rest
- \expandafter\dtl@ifsingle\expandafter{\dtl@firstA}{%
- \expandafter\dtl@ifsingle\expandafter{\dtl@firstB}{%
+ \expandafter\dtl@ifsingleorUTFviii\expandafter{\dtl@firstA}{%
+ \expandafter\dtl@ifsingleorUTFviii\expandafter{\dtl@firstB}{%
\expandafter\dtl@setcharcode\expandafter{\dtl@firstA}{\dtl@codeA}%
\expandafter\dtl@setcharcode\expandafter{\dtl@firstB}{\dtl@codeB}%
\ifnum\dtl@codeA=-1\relax
@@ -2878,6 +2935,48 @@ datatool.dtx
}
% \end{macrocode}
%\end{macro}
+%
+%\begin{macro}{\dtl@if@two@octets}
+%\changes{2.24}{2016-01-12}{new}
+%Check if argument starts with \cs{UTFviii@two@octets}
+% \begin{macrocode}
+\def\dtl@if@two@octets#1#2\dtl@end@if@two@octets#3#4{%
+ \ifbool{@dtl@utf8}
+ {%
+ \ifx\UTFviii@two@octets#1\relax
+ #3%
+ \else
+ #4%
+ \fi
+ }%
+ {%
+ #4%
+ }%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\dtl@getfirst@UTFviii}
+%\changes{2.24}{2016-01-12}{new}
+% \begin{macrocode}
+\def\dtl@getfirst@UTFviii#1#2#3\end@dtl@getfirst@UTFviii{%
+ \def\dtl@first{#1#2}%
+ \ifx\@nil#3\relax
+ \def\dtl@rest{}%
+ \else
+ \expandafter\def\expandafter\dtl@rest\expandafter{\@dtl@firsttonil#3}%
+ \fi
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\@dtl@firsttonil}
+%\changes{2.24}{2016-01-12}{new}
+% \begin{macrocode}
+\def\@dtl@firsttonil#1\@nil{#1}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\dtl@getfirst}
% Gets the first object, and stores in \cs{dtl@first}. The remainder
% is stored in \cs{dtl@rest}.
@@ -2890,9 +2989,21 @@ datatool.dtx
\def\dtl@rest{#2}%
}%
{%
- \dtl@ifsingle{#1}{\def\dtl@rest{#2}}{\dtl@getfirst#1#2\end@dtl@getfirst}%
+ \ifbool{@dtl@utf8}
+ {%
+ \expandafter\dtl@if@two@octets#1#2\relax\dtl@end@if@two@octets
+ {%
+ \dtl@getfirst@UTFviii#1#2\@nil\end@dtl@getfirst@UTFviii
+ }%
+ {%
+ \dtl@ifsingle{#1}{\def\dtl@rest{#2}}{\dtl@getfirst#1#2\end@dtl@getfirst}%
+ }%
+ }%
+ {%
+ \dtl@ifsingle{#1}{\def\dtl@rest{#2}}{\dtl@getfirst#1#2\end@dtl@getfirst}%
+ }%
}%
-}
+}%
% \end{macrocode}
%\end{macro}
% Count registers to store character codes:
@@ -2918,7 +3029,7 @@ datatool.dtx
#2=-1\relax
}%
{%
- \ifx#1\@dtl@wordbreak\relax
+ \ifx\@dtl@wordbreak#1\relax
% \end{macrocode}
% Reached a word break. Set to character code of a space.
%\changes{2.13}{2013-01-15}{change from check for space and tilde to check
@@ -2932,10 +3043,19 @@ datatool.dtx
% \begin{macrocode}
#2=0\relax
\else
+ \expandafter\dtl@if@two@octets#1\relax\relax\dtl@end@if@two@octets
+ {%
+% \end{macrocode}
+% Argument is a UTF8 character.
+% \begin{macrocode}
+ \dtlsetUTFviiicharcode{#1}{#2}%
+ }%
+ {%
% \end{macrocode}
% Argument is a character, so set to the character code.
% \begin{macrocode}
- #2=`#1\relax
+ \dtlsetcharcode{#1}{#2}%
+ }%
\fi
\fi
}%
@@ -2943,6 +3063,336 @@ datatool.dtx
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\dtlsetcharcode}
+%\changes{2.24}{2016-01-12}{new}
+% Set the code for the given character. May be redefined by user
+% for non-UTF8 encodings (e.g.\ Latin-1).
+% \begin{macrocode}
+\newcommand*{\dtlsetcharcode}[2]{#2=`#1\relax}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\dtlsetlccharcode}
+%\changes{2.24}{2016-01-12}{new}
+% Set the lowercase code for the given character. May be redefined by user
+% for non-UTF8 encodings (e.g.\ Latin-1).
+% \begin{macrocode}
+\newcommand*{\dtlsetlccharcode}[2]{#2=\lccode`#1\relax}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\dtlsetUTFviiicharcode}
+% Default behaviour is to set all UTF8 characters to code 64 (before
+% A). This will need to be redefined according to the relevant alphabet.
+%\changes{2.24}{2016-01-12}{new}
+% \begin{macrocode}
+\newcommand*\dtlsetUTFviiicharcode[2]{\dtlsetdefaultUTFviiicharcode{#1}{#2}}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\dtlsetUTFviiilccharcode}
+%\changes{2.24}{2016-01-12}{new}
+% Default behaviour is to set all UTF8 characters to code 96 (before
+% a). This will need to be redefined according to the relevant alphabet.
+% \begin{macrocode}
+\newcommand*\dtlsetUTFviiilccharcode[2]{\dtlsetdefaultUTFviiilccharcode{#1}{#2}}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\dtlsetdefaultUTFviiicharcode}
+%\changes{2.24}{2016-01-12}{new}
+% Default codes for some supplemental Latin characters.
+% \begin{macrocode}
+\newcommand*\dtlsetdefaultUTFviiicharcode[2]{%
+ \ifboolexpr
+ {
+ test {\ifstrequal{#1}{À}}
+ or test {\ifstrequal{#1}{Á}}
+ or test {\ifstrequal{#1}{Á}}
+ or test {\ifstrequal{#1}{Ã}}
+ or test {\ifstrequal{#1}{Ä}}
+ }%
+ {%
+ #2=`A\relax
+ }%
+ {%
+ \ifstrequal{#1}{Ç}%
+ {%
+ #2=`C\relax
+ }%
+ {%
+ \ifboolexpr
+ {
+ test {\ifstrequal{#1}{È}}
+ or test {\ifstrequal{#1}{É}}
+ or test {\ifstrequal{#1}{Ê}}
+ or test {\ifstrequal{#1}{Ë}}
+ }%
+ {%
+ #2=`E\relax
+ }%
+ {%
+ \ifboolexpr
+ {
+ test {\ifstrequal{#1}{Ì}}
+ or test {\ifstrequal{#1}{Í}}
+ or test {\ifstrequal{#1}{Î}}
+ or test {\ifstrequal{#1}{Ï}}
+ }%
+ {%
+ #2=`I\relax
+ }%
+ {%
+ \ifstrequal{#1}{Ñ}%
+ {%
+ #2=`N\relax
+ }%
+ {%
+ \ifboolexpr
+ {
+ test {\ifstrequal{#1}{Ò}}
+ or test {\ifstrequal{#1}{Ó}}
+ or test {\ifstrequal{#1}{Ô}}
+ or test {\ifstrequal{#1}{Õ}}
+ or test {\ifstrequal{#1}{Ö}}
+ }%
+ {%
+ #2=`O\relax
+ }%
+ {%
+ \ifboolexpr
+ {
+ test {\ifstrequal{#1}{Ù}}
+ or test {\ifstrequal{#1}{Ú}}
+ or test {\ifstrequal{#1}{Û}}
+ or test {\ifstrequal{#1}{Ü}}
+ }%
+ {%
+ #2=`U\relax
+ }%
+ {%
+ \ifstrequal{#1}{Ý}%
+ {%
+ #2=`Y\relax
+ }%
+ {%
+ \ifboolexpr
+ {
+ test {\ifstrequal{#1}{à}}
+ or test {\ifstrequal{#1}{á}}
+ or test {\ifstrequal{#1}{á}}
+ or test {\ifstrequal{#1}{ã}}
+ or test {\ifstrequal{#1}{ä}}
+ }%
+ {%
+ #2=`a\relax
+ }%
+ {%
+ \ifstrequal{#1}{ç}%
+ {%
+ #2=`c\relax
+ }%
+ {%
+ \ifboolexpr
+ {
+ test {\ifstrequal{#1}{è}}
+ or test {\ifstrequal{#1}{é}}
+ or test {\ifstrequal{#1}{ê}}
+ or test {\ifstrequal{#1}{ë}}
+ }%
+ {%
+ #2=`e\relax
+ }%
+ {%
+ \ifboolexpr
+ {
+ test {\ifstrequal{#1}{ì}}
+ or test {\ifstrequal{#1}{í}}
+ or test {\ifstrequal{#1}{î}}
+ or test {\ifstrequal{#1}{ï}}
+ }%
+ {%
+ #2=`i\relax
+ }%
+ {%
+ \ifstrequal{#1}{ñ}%
+ {%
+ #2=`n\relax
+ }%
+ {%
+ \ifboolexpr
+ {
+ test {\ifstrequal{#1}{ò}}
+ or test {\ifstrequal{#1}{ó}}
+ or test {\ifstrequal{#1}{ô}}
+ or test {\ifstrequal{#1}{õ}}
+ or test {\ifstrequal{#1}{ö}}
+ }%
+ {%
+ #2=`o\relax
+ }%
+ {%
+ \ifboolexpr
+ {
+ test {\ifstrequal{#1}{ù}}
+ or test {\ifstrequal{#1}{ú}}
+ or test {\ifstrequal{#1}{û}}
+ or test {\ifstrequal{#1}{ü}}
+ }%
+ {%
+ #2=`u\relax
+ }%
+ {%
+ \ifstrequal{#1}{ý}%
+ {%
+ #2=`y\relax
+ }%
+ {%
+ #2=64\relax
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+}
+% \end{macrocode}
+%\end{macro}
+%
+%\begin{macro}{\dtlsetdefaultUTFviiilccharcode}
+%\changes{2.24}{2016-01-12}{new}
+% As above but for case-insensitive comparison.
+% \begin{macrocode}
+\newcommand*\dtlsetdefaultUTFviiilccharcode[2]{%
+ \ifboolexpr
+ {
+ test {\ifstrequal{#1}{à}}
+ or test {\ifstrequal{#1}{á}}
+ or test {\ifstrequal{#1}{á}}
+ or test {\ifstrequal{#1}{ã}}
+ or test {\ifstrequal{#1}{ä}}
+ or test {\ifstrequal{#1}{À}}
+ or test {\ifstrequal{#1}{Á}}
+ or test {\ifstrequal{#1}{Á}}
+ or test {\ifstrequal{#1}{Ã}}
+ or test {\ifstrequal{#1}{Ä}}
+ }%
+ {%
+ #2=`a\relax
+ }%
+ {%
+ \ifboolexpr
+ {
+ test {\ifstrequal{#1}{ç}}
+ or test {\ifstrequal{#1}{Ç}}
+ }
+ {%
+ #2=`c\relax
+ }%
+ {%
+ \ifboolexpr
+ {
+ test {\ifstrequal{#1}{è}}
+ or test {\ifstrequal{#1}{é}}
+ or test {\ifstrequal{#1}{ê}}
+ or test {\ifstrequal{#1}{ë}}
+ or test {\ifstrequal{#1}{È}}
+ or test {\ifstrequal{#1}{É}}
+ or test {\ifstrequal{#1}{Ê}}
+ or test {\ifstrequal{#1}{Ë}}
+ }%
+ {%
+ #2=`e\relax
+ }%
+ {%
+ \ifboolexpr
+ {
+ test {\ifstrequal{#1}{ì}}
+ or test {\ifstrequal{#1}{í}}
+ or test {\ifstrequal{#1}{î}}
+ or test {\ifstrequal{#1}{ï}}
+ or test {\ifstrequal{#1}{Ì}}
+ or test {\ifstrequal{#1}{Í}}
+ or test {\ifstrequal{#1}{Î}}
+ or test {\ifstrequal{#1}{Ï}}
+ }%
+ {%
+ #2=`i\relax
+ }%
+ {%
+ \ifboolexpr
+ {
+ test {\ifstrequal{#1}{ñ}}
+ or test {\ifstrequal{#1}{Ñ}}
+ }
+ {%
+ #2=`n\relax
+ }%
+ {%
+ \ifboolexpr
+ {
+ test {\ifstrequal{#1}{ò}}
+ or test {\ifstrequal{#1}{ó}}
+ or test {\ifstrequal{#1}{ô}}
+ or test {\ifstrequal{#1}{õ}}
+ or test {\ifstrequal{#1}{ö}}
+ or test {\ifstrequal{#1}{Ò}}
+ or test {\ifstrequal{#1}{Ó}}
+ or test {\ifstrequal{#1}{Ô}}
+ or test {\ifstrequal{#1}{Õ}}
+ or test {\ifstrequal{#1}{Ö}}
+ }%
+ {%
+ #2=`o\relax
+ }%
+ {%
+ \ifboolexpr
+ {
+ test {\ifstrequal{#1}{ù}}
+ or test {\ifstrequal{#1}{ú}}
+ or test {\ifstrequal{#1}{û}}
+ or test {\ifstrequal{#1}{ü}}
+ or test {\ifstrequal{#1}{Ù}}
+ or test {\ifstrequal{#1}{Ú}}
+ or test {\ifstrequal{#1}{Û}}
+ or test {\ifstrequal{#1}{Ü}}
+ }%
+ {%
+ #2=`u\relax
+ }%
+ {%
+ \ifboolexpr
+ {
+ test {\ifstrequal{#1}{ý}}
+ or test {\ifstrequal{#1}{Ý}}
+ }%
+ {%
+ #2=`y\relax
+ }%
+ {%
+ #2=96\relax
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\dtl@setlccharcode}
%\begin{definition}
%\cs{dtl@setlccharcode}\marg{c}\marg{count register}
@@ -2975,10 +3425,19 @@ datatool.dtx
% \begin{macrocode}
#2=0\relax
\else
+ \expandafter\dtl@if@two@octets#1\relax\relax\dtl@end@if@two@octets
+ {%
+% \end{macrocode}
+% Argument is a UTF8 character.
+% \begin{macrocode}
+ \dtlsetUTFviiilccharcode{#1}{#2}%
+ }%
+ {%
% \end{macrocode}
% Argument is a character, so set to the lower case code.
% \begin{macrocode}
- #2=\lccode`#1\relax
+ \dtlsetlccharcode{#1}{#2}%
+ }%
% \end{macrocode}
% If the result is zero, which means the character doesn't have a lower case
% equivalent. So set to the character code.
@@ -3052,13 +3511,13 @@ datatool.dtx
% \end{macrocode}
% Is the first object of \meta{string1} a single character or a group?
% \begin{macrocode}
- \expandafter\dtl@ifsingle\expandafter{\dtl@firstA}%
+ \expandafter\dtl@ifsingleorUTFviii\expandafter{\dtl@firstA}%
{%
% \end{macrocode}
% It's a single character. Is the first object of \meta{string2} a
% single character or a group?
% \begin{macrocode}
- \expandafter\dtl@ifsingle\expandafter{\dtl@firstB}%
+ \expandafter\dtl@ifsingleorUTFviii\expandafter{\dtl@firstB}%
{%
% \end{macrocode}
% Both are a single character. Get the lower case character code.
@@ -3631,6 +4090,20 @@ datatool.dtx
% Determine if first character is a letter, a digit or a symbol.
% \begin{macrocode}
\def\dtl@ifcasechargroup#1#2\dtl@end@ifcasechargroup#3#4#5{%
+% \end{macrocode}
+% Does it start with a UTF8 character?
+% \begin{macrocode}
+ \expandafter\dtl@if@two@octets#1#2\relax\relax\dtl@end@if@two@octets
+ {%
+% \end{macrocode}
+% Get the lower case character code.
+%\changes{2.24}{2016-01-12}{added check for UTF8}
+% \begin{macrocode}
+ \dtl@getfirst@UTFviii#1#2\@nil\end@dtl@getfirst@UTFviii
+ \expandafter\dtlsetUTFviiilccharcode\expandafter{\dtl@first}{\count@}%
+ \ifnum\count@<`a\relax #5\else#3\fi
+ }%
+ {%
\dtlifcasechargroup{#1}%
{#3}%
{%
@@ -3649,6 +4122,7 @@ datatool.dtx
}%
}%
{#5}%
+ }%
}
% \end{macrocode}
%\end{macro}
@@ -5232,7 +5706,7 @@ datatool.dtx
% Definitions of fixed-point commands that use the \sty{fp} package.
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{datatool-fp}[2015/07/11 v2.23 (NLCT)]
+\ProvidesPackage{datatool-fp}[2016/01/12 v2.24 (NLCT)]
% \end{macrocode}
% Required packages:
% \begin{macrocode}
@@ -5521,7 +5995,7 @@ datatool.dtx
% Definitions of fixed-point commands that use the \sty{pgfmath} package.
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{datatool-pgfmath}[2015/07/11 v2.23 (NLCT)]
+\ProvidesPackage{datatool-pgfmath}[2016/01/12 v2.24 (NLCT)]
% \end{macrocode}
% Required packages:
% \begin{macrocode}
@@ -5778,7 +6252,7 @@ datatool.dtx
%\section{Package Declaration}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{datatool}[2015/07/11 v2.23 (NLCT)]
+\ProvidesPackage{datatool}[2016/01/12 v2.24 (NLCT)]
% \end{macrocode}
% Load required packages:
% \begin{macrocode}
@@ -13371,7 +13845,7 @@ datatool.dtx
% Declare package:
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{datagidx}[2015/07/11 v2.23 (NLCT)]
+\ProvidesPackage{datagidx}[2016/01/12 v2.24 (NLCT)]
% \end{macrocode}
% Required packages:
% \begin{macrocode}
@@ -19280,7 +19754,7 @@ datatool.dtx
%\section{Package Declaration}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{databib}[2015/07/11 v2.23 (NLCT)]
+\ProvidesPackage{databib}[2016/01/12 v2.24 (NLCT)]
% \end{macrocode}
% Load required packages:
% \begin{macrocode}
@@ -22203,7 +22677,7 @@ already exists}{}}}}
% Declare package:
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{databar}[2015/07/11 v2.23 (NLCT)]
+\ProvidesPackage{databar}[2016/01/12 v2.24 (NLCT)]
% \end{macrocode}
% Require \sty{xkeyval} package
% \begin{macrocode}
@@ -23510,7 +23984,7 @@ already exists}{}}}}
% Declare package:
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{datapie}[2015/07/11 v2.23 (NLCT)]
+\ProvidesPackage{datapie}[2016/01/12 v2.24 (NLCT)]
% \end{macrocode}
% Require \sty{xkeyval} package
% \begin{macrocode}
@@ -24215,7 +24689,7 @@ Try #2-#1 instead of #1-#2}%
% Declare package:
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{dataplot}[2015/07/11 v2.23 (NLCT)]
+\ProvidesPackage{dataplot}[2016/01/12 v2.24 (NLCT)]
% \end{macrocode}
% Required packages
% \begin{macrocode}
@@ -25837,7 +26311,7 @@ east,southeast,south,southwest,west,northwest}[northeast]{%
% Package identification:
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{person}[2015/07/11 v2.23 (NLCT)]
+\ProvidesPackage{person}[2016/01/12 v2.24 (NLCT)]
% \end{macrocode}
% Requires the \sty{ifthen} package.
% \begin{macrocode}