From 1992dc297aa0c1fd0db744a805a79e763c84ccd4 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 18 Jan 2016 23:37:13 +0000 Subject: datatool (18jan16) git-svn-id: svn://tug.org/texlive/trunk@39421 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/datatool/CHANGES | 12 + Master/texmf-dist/doc/latex/datatool/README | 4 +- .../doc/latex/datatool/datatool-code.pdf | Bin 1165367 -> 1166199 bytes .../doc/latex/datatool/datatool-user.pdf | Bin 607877 -> 614504 bytes .../doc/latex/datatool/datatool-user.tex | 319 ++++++++++++++++++--- .../doc/latex/datatool/samples/sample-autokeys.pdf | Bin 24911 -> 24911 bytes .../doc/latex/datatool/samples/sample-barchart.pdf | Bin 35056 -> 35056 bytes .../latex/datatool/samples/sample-datatooltk.pdf | Bin 22848 -> 22848 bytes .../doc/latex/datatool/samples/sample-dict.pdf | Bin 122578 -> 122578 bytes .../latex/datatool/samples/sample-europecv-bib.pdf | Bin 89544 -> 89544 bytes .../doc/latex/datatool/samples/sample-gidx.pdf | Bin 180135 -> 180112 bytes .../doc/latex/datatool/samples/sample-glossary.pdf | Bin 104788 -> 104765 bytes .../doc/latex/datatool/samples/sample-index.pdf | Bin 128764 -> 128764 bytes .../latex/datatool/samples/sample-mail-merge.pdf | Bin 21890 -> 21635 bytes .../doc/latex/datatool/samples/sample-piechart.pdf | Bin 33954 -> 33954 bytes .../doc/latex/datatool/samples/sample-sort.pdf | Bin 89727 -> 89713 bytes .../datatool/samples/sample-student-scores.pdf | Bin 34602 -> 34602 bytes .../latex/datatool/samples/sample-two-per-row.pdf | Bin 31739 -> 31739 bytes .../texmf-dist/source/latex/datatool/datatool.dtx | 139 ++++++--- .../texmf-dist/source/latex/datatool/datatool.ins | 2 +- Master/texmf-dist/tex/latex/datatool/databar.sty | 2 +- Master/texmf-dist/tex/latex/datatool/databib.sty | 2 +- Master/texmf-dist/tex/latex/datatool/datagidx.sty | 2 +- Master/texmf-dist/tex/latex/datatool/datapie.sty | 2 +- Master/texmf-dist/tex/latex/datatool/dataplot.sty | 2 +- .../tex/latex/datatool/datatool-base.sty | 72 +++-- .../texmf-dist/tex/latex/datatool/datatool-fp.sty | 2 +- .../tex/latex/datatool/datatool-pgfmath.sty | 2 +- Master/texmf-dist/tex/latex/datatool/datatool.sty | 2 +- Master/texmf-dist/tex/latex/datatool/person.sty | 2 +- 30 files changed, 454 insertions(+), 112 deletions(-) (limited to 'Master') diff --git a/Master/texmf-dist/doc/latex/datatool/CHANGES b/Master/texmf-dist/doc/latex/datatool/CHANGES index e29220008d8..62d514e10de 100644 --- a/Master/texmf-dist/doc/latex/datatool/CHANGES +++ b/Master/texmf-dist/doc/latex/datatool/CHANGES @@ -1,3 +1,15 @@ +v2.25: + + * datatool-base: + + - \dtlcompare, \dtlicompare, \@dtldictcompare: + added \expandonce to definitions of \dtl@donext to + prevent unwanted expansion of non-ASCII characters. + + * datatool user guide: + + - Added section "Advanced Iteration". + v2.24: * datatool-base: diff --git a/Master/texmf-dist/doc/latex/datatool/README b/Master/texmf-dist/doc/latex/datatool/README index 38aad314e74..cf0a98f620c 100644 --- a/Master/texmf-dist/doc/latex/datatool/README +++ b/Master/texmf-dist/doc/latex/datatool/README @@ -1,6 +1,6 @@ -LaTeX Bundle : datatool v2.24 +LaTeX Bundle : datatool v2.25 -Last Modified : 2016-01-12 +Last Modified : 2016-01-18 Author : Nicola Talbot diff --git a/Master/texmf-dist/doc/latex/datatool/datatool-code.pdf b/Master/texmf-dist/doc/latex/datatool/datatool-code.pdf index e9a74d5c7a1..c963f7d3914 100644 Binary files a/Master/texmf-dist/doc/latex/datatool/datatool-code.pdf and b/Master/texmf-dist/doc/latex/datatool/datatool-code.pdf differ diff --git a/Master/texmf-dist/doc/latex/datatool/datatool-user.pdf b/Master/texmf-dist/doc/latex/datatool/datatool-user.pdf index 5360d80b0c1..0f107ea3220 100644 Binary files a/Master/texmf-dist/doc/latex/datatool/datatool-user.pdf and b/Master/texmf-dist/doc/latex/datatool/datatool-user.pdf differ diff --git a/Master/texmf-dist/doc/latex/datatool/datatool-user.tex b/Master/texmf-dist/doc/latex/datatool/datatool-user.tex index 885b832c301..a1bc741c631 100644 --- a/Master/texmf-dist/doc/latex/datatool/datatool-user.tex +++ b/Master/texmf-dist/doc/latex/datatool/datatool-user.tex @@ -99,11 +99,11 @@ \MakeShortVerb{"} \DeleteShortVerb{\|} - \title{User Manual for datatool bundle version~2.24} + \title{User Manual for datatool bundle version~2.25} \author{Nicola L.C. Talbot\\ \url{http://www.dickimaw-books.com/}} - \date{2016-01-12} + \date{2016-01-18} \maketitle \pagenumbering{roman} @@ -118,7 +118,7 @@ The \styfmt{datatool} bundle comes with the following documentation: \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.24} + read \qt{Documented Code for datatool v2.25} \item[INSTALL] Installation instructions. @@ -2859,6 +2859,15 @@ external file, as described in \autoref{sec:loaddb}, or using the commands described in \autoref{sec:newdb}, you can then iterate through each row of the database and access elements in that row. +\begin{important} +The \cs{DTLforeach} command is provided as a convenient way of +iterating through databases with the option to filter rows, +cross-reference rows or have nested loops, but for large databases it can be +\emph{extremely slow}, especially if the unstarred version is used. +If you have a large database, consider pre-processing the data using +an external script. See also \sectionref{sec:advancediter}. +\end{important} + \begin{definition}[\DescribeMacro{\DTLforeach}]% \cs{DTLforeach}\oarg{condition}\marg{db name}\marg{assign list}\marg{text} \end{definition} @@ -5224,36 +5233,6 @@ must be a command name. The type will be one of: \item\DescribeMacro{\DTLcurrencytype}\cs{DTLcurrenttype} (currency). \end{itemize} -\begin{definition}[\DescribeMacro{\dtlforeachkey}]% -\cs{dtlforeachkey}(\meta{key cs},\meta{col cs},\meta{type -cs},\meta{header cs})\cs{in}\marg{db}\cs{do}\marg{body} -\end{definition} -This iterates through all the keys in the database given by -\meta{db}. In each iteration, \meta{key cs} is set to the key, -\meta{col cs} is set to the column index, \meta{type cs} is set to -the data type (as for \cs{DTLgetdatatype}), \meta{header cs} is set -to the header for that column, and then \meta{body} is done. Note -that \meta{key cs}, \meta{col cs}, \meta{type cs} and \meta{header -cs} must all be control sequences. No check is performed to -determine if that control sequence already exists, and the control -sequences are defined globally (since it's likely that -\cs{dtlforeachkey} may be used within a \env{tabular} environment), -so you need to make sure you don't override an existing command of -the same name. - -\begin{definition}[\DescribeMacro{\dtlforcolumn}]% -\cs{dtlforcolumn}\marg{cs}\marg{db}\marg{key}\marg{body} -\end{definition} -This iterates through the column given by \meta{key} in the -database given by \meta{db} and applies \meta{body}. In each -iteration, \meta{cs} (which must be a control sequence) is set to -the current element in the column and may be used in \meta{body}. -Alternatively, if you want to identify the column by its index -rather than its key, use: -\begin{definition}[\DescribeMacro{\dtlforcolumnidx}]% -\cs{dtlforcolumnidx}\marg{cs}\marg{db}\marg{col index}\marg{body} -\end{definition} - \begin{definition}[\DescribeMacro{\DTLifdbexists}] \cs{DTLifdbexists}\marg{db name}\marg{true part}\marg{false part} \end{definition} @@ -5854,6 +5833,280 @@ The result is shown in \autoref{tab:join3}. \end{table} \end{example} +\subsection{Advanced Iteration} +\label{sec:advancediter} + +The \ics{DTLforeach} command described in \sectionref{sec:dbforeach} +has some limitations, especially when trying to iterate through +large databases. This section describes lower-level user commands +that may be used for iteration instead of \cs{DTLforeach}. + +\begin{definition}[\DescribeMacro{\dtlforeachkey}]% +\cs{dtlforeachkey}(\meta{key cs},\meta{col cs},\meta{type +cs},\meta{header cs})\cs{in}\marg{db}\cs{do}\marg{body} +\end{definition} +This iterates through all the keys in the database given by +\meta{db}. In each iteration, \meta{key cs} is set to the key, +\meta{col cs} is set to the column index, \meta{type cs} is set to +the data type (as for \cs{DTLgetdatatype}), \meta{header cs} is set +to the header for that column, and then \meta{body} is done. Note +that \meta{key cs}, \meta{col cs}, \meta{type cs} and \meta{header +cs} must all be control sequences. No check is performed to +determine if that control sequence already exists, and the control +sequences are defined globally (since it's likely that +\cs{dtlforeachkey} may be used within a \env{tabular} environment), +so you need to make sure you don't override an existing command of +the same name. + +\begin{definition}[\DescribeMacro{\dtlforcolumn}]% +\cs{dtlforcolumn}\marg{cs}\marg{db}\marg{key}\marg{body} +\end{definition} +This iterates through the column given by \meta{key} in the +database given by \meta{db} and applies \meta{body}. In each +iteration, \meta{cs} (which must be a control sequence) is set to +the current element in the column and may be used in \meta{body}. +Alternatively, if you want to identify the column by its index +rather than its key, use: +\begin{definition}[\DescribeMacro{\dtlforcolumnidx}]% +\cs{dtlforcolumnidx}\marg{cs}\marg{db}\marg{col index}\marg{body} +\end{definition} +Both \cs{dtlforcolumn} and \cs{dtlforcolumnidx} have a starred +version that doesn't check for the existence of the given database. +You may use \ics{dtlbreak} within \meta{body} to break out of the loop +at the end of the current iteration. + +An alternative to \cs{DTLforeach} is to use \TeX's primitive +\ics{loop} with \ics{DTLgetvalue}, but this may not be faster. +For example, suppose I have a CSV +file with a single column (labelled \qt{Word}) with 1000 rows of +data (where the CSV file is called \texttt{test-data-1000.csv}). +First, let's use the unstarred version of \cs{DTLforeach}: +\begin{verbatim} +\batchmode +\documentclass{article} +\usepackage{datatool} + +\DTLloaddb{data}{test-data-1000.csv} + +\begin{document} +\DTLforeach{data}{\Word=Word}{\Word.\par} +\end{document} +\end{verbatim} +On my 64bit Linux computer, this document took 4.942s to compile. +Result from \texttt{time pdflatex test}: +\begin{verbatim} +real 0m4.942s +user 0m4.934s +sys 0m0.015s +\end{verbatim} +Now using the starred version of \cs{DTLforeach}: +\begin{verbatim} +\batchmode +\documentclass{article} +\usepackage{datatool} + +\DTLloaddb{data}{test-data-1000.csv} + +\begin{document} +\DTLforeach*{data}{\Word=Word}{\Word.\par} +\end{document} +\end{verbatim} +This took 2.138s to compile: +\begin{verbatim} +real 0m2.138s +user 0m2.122s +sys 0m0.020s +\end{verbatim} +Now using \TeX's \cs{loop}: +\begin{verbatim} +\batchmode +\documentclass{article} +\usepackage{datatool} + +\DTLloaddb{data}{test-data-1000.csv} + +\begin{document} + +\newcount\rowctr +\loop + \advance\rowctr by 1\relax + \DTLgetvalue{\Word}{data}{\rowctr}{1}% + \Word.\par +\ifnum\rowctr<\DTLrowcount{data} +\repeat + +\end{document} +\end{verbatim} +(This takes advantage of the fact that I know I only have one column +of data, so I only need to reference column~1 in \cs{DTLgetvalue}.) +This takes 2.638s to compile: +\begin{verbatim} +real 0m2.638s +user 0m2.622s +sys 0m0.020s +\end{verbatim} +which is slightly longer than using \cs{DTLforeach*} (but not nearly +as long as using the unstarred version). Another possible method is +to use \cs{dtlgetrow} and \cs{dtlgetentryfromcurrentrow}: +\begin{verbatim} +\batchmode +\documentclass{article} +\usepackage{datatool} + +\DTLloaddb{data}{test-data-1000.csv} + +\begin{document} + +\newcount\rowctr +\loop + \advance\rowctr by 1\relax + \dtlgetrow{data}{\rowctr}% + \dtlgetentryfromcurrentrow{\Word}{1}% + \Word.\par +\ifnum\rowctr<\DTLrowcount{data} +\repeat + +\end{document} +\end{verbatim} +This took 3.596s to compile: +\begin{verbatim} +real 0m3.596s +user 0m3.582s +sys 0m0.019s +\end{verbatim} +Another possibility is to use \cs{dtlforcolumnidx}, described above: +\begin{verbatim} +\batchmode +\documentclass{article} +\usepackage{datatool} + +\DTLloaddb{data}{test-data-1000.csv} + +\begin{document} + +\dtlforcolumnidx{\Word}{data}{1}{\Word.\par} + +\end{document} +\end{verbatim} +This took 2.093s to compile: +\begin{verbatim} +real 0m2.093s +user 0m2.083s +sys 0m0.013s +\end{verbatim} +So if you only want to iterate through one column, this is the +fastest method, but it's still more efficient to pre-process the +data using an external script that creates a \texttt{.tex} file that +can be \cs{input} into the document. + +Note that the build time increases with extra columns, \emph{even if +they're not required in the document}. For example, I created a new +CSV file called \texttt{test-data-1000-5.csv} that had four extra +columns (which were actually duplicates of the first column with +different headers, for simplicity). Just iterating through the first +column to obtain the same PDF as previously significantly increases +the time taken. The only modification to the above examples was an +edit to the \cs{DTLloaddb} line: +\begin{verbatim} +\DTLloaddb{data}{test-data-1000-5.csv} +\end{verbatim} +The fastest method using \cs{dtlforcolumnidx} took 25.688s: +\begin{verbatim} +real 0m25.688s +user 0m25.712s +sys 0m0.013s +\end{verbatim} +Using \cs{DTLforeach*} took 25.725s: +\begin{verbatim} +real 0m25.725s +user 0m25.744s +sys 0m0.018s +\end{verbatim} +The unstarred version took 35.665s: +\begin{verbatim} +real 0m35.665s +user 0m35.692s +sys 0m0.022s +\end{verbatim} +Using \cs{loop} and \cs{DTLgetvalue} took 27.844s: +\begin{verbatim} +real 0m27.844s +user 0m27.866s +sys 0m0.019s +\end{verbatim} +Using \cs{loop} and \cs{dtlgetrow} took 31.770s: +\begin{verbatim} +real 0m31.770s +user 0m31.785s +sys 0m0.028s +\end{verbatim} + +On the other hand, if I want to only iterate through, say, the last +100 rows of the data, it's simpler to use \cs{loop}. For example: +\begin{verbatim} +\batchmode +\documentclass{article} + +\usepackage{datatool} + +\DTLloaddb{data}{test-data-1000-5.csv} + +\begin{document} +\newcount\rowctr +\rowctr=\numexpr\DTLrowcount{data}-100\relax +\loop + \advance\rowctr by 1\relax + \DTLgetvalue{\Word}{data}{\rowctr}{1}% + \Word.\par +\ifnum\rowctr<\DTLrowcount{data} +\repeat +\end{document} +\end{verbatim} +This took 25.124s: +\begin{verbatim} +real 0m25.124s +user 0m25.138s +sys 0m0.023s +\end{verbatim} +The equivalent using \cs{DTLforeach} is: +\begin{verbatim} +\batchmode +\documentclass{article} + +\usepackage{datatool} + +\DTLloaddb{data}{test-data-1000-5.csv} + +\begin{document} +\newcount\firstidx +\firstidx=\numexpr\DTLrowcount{data}-100\relax +\DTLforeach*{data}{\Word=Word}% + {\ifnum\DTLcurrentindex>\firstidx\relax\Word.\par\fi} +\end{document} +\end{verbatim} +(Remember that the row count can't be used in the optional argument +of \cs{DTLforeach} as it's only incremented when the condition is +true.) This took 26.375s: +\begin{verbatim} +real 0m26.375s +user 0m26.381s +sys 0m0.029s +\end{verbatim} +This takes longer because it's still iterating over every row of the +database and is applying the condition to each row. + +\minisec{Summary} +\begin{itemize} +\item If possible, use an external script to pre-process the data so +that you can simply \cs{input} valid \LaTeX\ code into the document. +\item If you only want to iterate through one column of the data, +use \cs{dtlforcolumnidx}. +\item Remove\footnote{Naturally, make a copy of the original data, if +necessary.}\ unwanted columns and\slash or rows from the CSV file (and sort, if +necessary) using the spreadsheet application (or whatever) that was +used to generate the original CSV file. +\end{itemize} + \chapter{Creating an index, glossary or list of acronyms (\texorpdfstring{\sty{datagidx}}{datagidx} package)} \label{sec:datagidx} diff --git a/Master/texmf-dist/doc/latex/datatool/samples/sample-autokeys.pdf b/Master/texmf-dist/doc/latex/datatool/samples/sample-autokeys.pdf index dfba3d43cc7..c70a2191333 100644 Binary files a/Master/texmf-dist/doc/latex/datatool/samples/sample-autokeys.pdf and b/Master/texmf-dist/doc/latex/datatool/samples/sample-autokeys.pdf differ diff --git a/Master/texmf-dist/doc/latex/datatool/samples/sample-barchart.pdf b/Master/texmf-dist/doc/latex/datatool/samples/sample-barchart.pdf index c6aadfaa097..6f63f265704 100644 Binary files a/Master/texmf-dist/doc/latex/datatool/samples/sample-barchart.pdf and b/Master/texmf-dist/doc/latex/datatool/samples/sample-barchart.pdf differ diff --git a/Master/texmf-dist/doc/latex/datatool/samples/sample-datatooltk.pdf b/Master/texmf-dist/doc/latex/datatool/samples/sample-datatooltk.pdf index efc79437a63..8136c89a988 100644 Binary files a/Master/texmf-dist/doc/latex/datatool/samples/sample-datatooltk.pdf and b/Master/texmf-dist/doc/latex/datatool/samples/sample-datatooltk.pdf differ diff --git a/Master/texmf-dist/doc/latex/datatool/samples/sample-dict.pdf b/Master/texmf-dist/doc/latex/datatool/samples/sample-dict.pdf index 5339715bd16..4733aadcc99 100644 Binary files a/Master/texmf-dist/doc/latex/datatool/samples/sample-dict.pdf and b/Master/texmf-dist/doc/latex/datatool/samples/sample-dict.pdf differ diff --git a/Master/texmf-dist/doc/latex/datatool/samples/sample-europecv-bib.pdf b/Master/texmf-dist/doc/latex/datatool/samples/sample-europecv-bib.pdf index 25761b21490..d9dcf7af68d 100644 Binary files a/Master/texmf-dist/doc/latex/datatool/samples/sample-europecv-bib.pdf and b/Master/texmf-dist/doc/latex/datatool/samples/sample-europecv-bib.pdf differ diff --git a/Master/texmf-dist/doc/latex/datatool/samples/sample-gidx.pdf b/Master/texmf-dist/doc/latex/datatool/samples/sample-gidx.pdf index 32fb87b3ab5..41ced44b248 100644 Binary files a/Master/texmf-dist/doc/latex/datatool/samples/sample-gidx.pdf and b/Master/texmf-dist/doc/latex/datatool/samples/sample-gidx.pdf differ diff --git a/Master/texmf-dist/doc/latex/datatool/samples/sample-glossary.pdf b/Master/texmf-dist/doc/latex/datatool/samples/sample-glossary.pdf index 7b88dbfa57a..1363763115f 100644 Binary files a/Master/texmf-dist/doc/latex/datatool/samples/sample-glossary.pdf and b/Master/texmf-dist/doc/latex/datatool/samples/sample-glossary.pdf differ diff --git a/Master/texmf-dist/doc/latex/datatool/samples/sample-index.pdf b/Master/texmf-dist/doc/latex/datatool/samples/sample-index.pdf index aaed390088c..e6904d7064c 100644 Binary files a/Master/texmf-dist/doc/latex/datatool/samples/sample-index.pdf and b/Master/texmf-dist/doc/latex/datatool/samples/sample-index.pdf differ diff --git a/Master/texmf-dist/doc/latex/datatool/samples/sample-mail-merge.pdf b/Master/texmf-dist/doc/latex/datatool/samples/sample-mail-merge.pdf index b007bf31bbc..6a62cb9d4e1 100644 Binary files a/Master/texmf-dist/doc/latex/datatool/samples/sample-mail-merge.pdf and b/Master/texmf-dist/doc/latex/datatool/samples/sample-mail-merge.pdf differ diff --git a/Master/texmf-dist/doc/latex/datatool/samples/sample-piechart.pdf b/Master/texmf-dist/doc/latex/datatool/samples/sample-piechart.pdf index 6ea6b930502..c7745fbda38 100644 Binary files a/Master/texmf-dist/doc/latex/datatool/samples/sample-piechart.pdf and b/Master/texmf-dist/doc/latex/datatool/samples/sample-piechart.pdf differ diff --git a/Master/texmf-dist/doc/latex/datatool/samples/sample-sort.pdf b/Master/texmf-dist/doc/latex/datatool/samples/sample-sort.pdf index 9737968d009..f3ddb731633 100644 Binary files a/Master/texmf-dist/doc/latex/datatool/samples/sample-sort.pdf and b/Master/texmf-dist/doc/latex/datatool/samples/sample-sort.pdf differ diff --git a/Master/texmf-dist/doc/latex/datatool/samples/sample-student-scores.pdf b/Master/texmf-dist/doc/latex/datatool/samples/sample-student-scores.pdf index ccff004636c..9388c14b910 100644 Binary files a/Master/texmf-dist/doc/latex/datatool/samples/sample-student-scores.pdf and b/Master/texmf-dist/doc/latex/datatool/samples/sample-student-scores.pdf differ diff --git a/Master/texmf-dist/doc/latex/datatool/samples/sample-two-per-row.pdf b/Master/texmf-dist/doc/latex/datatool/samples/sample-two-per-row.pdf index 7e6e918a0cb..5a88b830118 100644 Binary files a/Master/texmf-dist/doc/latex/datatool/samples/sample-two-per-row.pdf and b/Master/texmf-dist/doc/latex/datatool/samples/sample-two-per-row.pdf differ diff --git a/Master/texmf-dist/source/latex/datatool/datatool.dtx b/Master/texmf-dist/source/latex/datatool/datatool.dtx index 34fd38d4f8a..9998682babb 100644 --- a/Master/texmf-dist/source/latex/datatool/datatool.dtx +++ b/Master/texmf-dist/source/latex/datatool/datatool.dtx @@ -1,7 +1,9 @@ %\iffalse % datatool.dtx generated using makedtx version 1.1 (c) Nicola Talbot % Command line args: -% -doc "datatool-manual.tex" +% -macrocode "databib\.bst" +% -codetitle "" +% -author "Nicola Talbot" % -src "datatool-base.sty\Z=>datatool-base.sty" % -src "datatool-fp.sty\Z=>datatool-fp.sty" % -src "datatool-pgfmath.sty\Z=>datatool-pgfmath.sty" @@ -13,13 +15,11 @@ % -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" +% -doc "datatool-manual.tex" % datatool -% Created on 2016/1/13 11:57 +% Created on 2016/1/18 9:48 %\fi %\iffalse %<*package> @@ -66,7 +66,7 @@ datatool.dtx \doxitem{Counter}{counter}{counters} \doxitem{Option}{option}{package options} -\CheckSum{23425} +\CheckSum{23461} \RecordChanges \PageIndex @@ -79,11 +79,11 @@ datatool.dtx %\fi %\MakeShortVerb{"} % -%\title{Documented Code for datatool v2.24} +%\title{Documented Code for datatool v2.25} %\author{Nicola L. C. Talbot\\ %\url{http://www.dickimaw-books.com/}} % -%\date{2016-01-12} +%\date{2016-01-18} %\maketitle % %\pagenumbering{roman} @@ -117,7 +117,7 @@ datatool.dtx % % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{datatool-base}[2016/01/12 v2.24 (NLCT)] +\ProvidesPackage{datatool-base}[2016/01/18 v2.25 (NLCT)] % \end{macrocode} % Required packages: % \begin{macrocode} @@ -2871,20 +2871,34 @@ datatool.dtx \expandafter\dtl@setcharcode\expandafter{\dtl@firstB}{\dtl@codeB}% \ifnum\dtl@codeA=-1\relax \ifnum\dtl@codeB=-1\relax - \protected@edef\dtl@donext{% - \noexpand\dtlcompare{\noexpand#1}{\dtl@restA}{\dtl@restB}}% +% \end{macrocode} +%v2.25: added \cs{expandonce} to prevent non-ASCII characters from being +%expanded. +%\changes{2.25}{2016-01-18}{added \cs{expandonce}} +% \begin{macrocode} + \edef\dtl@donext{% + \noexpand\dtlcompare + {\noexpand#1}{\expandonce\dtl@restA}{\expandonce\dtl@restB}}% \dtl@donext \else - \protected@edef\dtl@donext{% + \edef\dtl@donext{% \noexpand\dtlcompare - {\noexpand#1}{\dtl@restA}{\dtl@firstB\dtl@restB}}% + {\noexpand#1}% + {\expandonce\dtl@restA}% + {\expandonce\dtl@firstB\expandonce\dtl@restB}}% \dtl@donext \fi \else \ifnum\dtl@codeB=-1\relax - \protected@edef\dtl@donext{% +% \end{macrocode} +%v2.25: added \cs{expandonce} to prevent non-ASCII characters from being +%expanded. +% \begin{macrocode} + \edef\dtl@donext{% \noexpand\dtlcompare - {\noexpand#1}{\dtl@firstA\dtl@restA}{\dtl@restB}}% + {\noexpand#1}% + {\expandonce\dtl@firstA\expandonce\dtl@restA}% + {\expandonce\dtl@restB}}% \dtl@donext \else \ifnum\dtl@codeA<\dtl@codeB @@ -2920,14 +2934,22 @@ datatool.dtx \fi \fi }{% - \protected@edef\dtl@donext{% +% \end{macrocode} +%v2.25: added \cs{expandonce} to prevent non-ASCII characters from being +%expanded. +% \begin{macrocode} + \edef\dtl@donext{% \noexpand\dtlcompare - {\noexpand#1}{\dtl@firstA\dtl@restA}{\dtl@firstB\dtl@restB}}% + {\noexpand#1}% + {\expandonce\dtl@firstA\expandonce\dtl@restA}% + {\expandonce\dtl@firstB\expandonce\dtl@restB}}% \dtl@donext }}{% - \protected@edef\dtl@donext{% + \edef\dtl@donext{% \noexpand\dtlcompare - {\noexpand#1}{\dtl@firstA\dtl@restA}{\dtl@firstB\dtl@restB}}% + {\noexpand#1}% + {\expandonce\dtl@firstA\expandonce\dtl@restA}% + {\expandonce\dtl@firstB\expandonce\dtl@restB}}% \dtl@donext }% }% @@ -3526,20 +3548,34 @@ datatool.dtx \expandafter\dtl@setlccharcode\expandafter{\dtl@firstB}{\dtl@codeB}% \ifnum\dtl@codeA=-1\relax \ifnum\dtl@codeB=-1\relax - \protected@edef\dtl@donext{% - \noexpand\dtlicompare{\noexpand#1}{\dtl@restA}{\dtl@restB}}% +% \end{macrocode} +%v2.25: added \cs{expandonce} to prevent non-ASCII characters from being +%expanded. +%\changes{2.25}{2016-01-18}{added \cs{expandonce}} +% \begin{macrocode} + \edef\dtl@donext{% + \noexpand\dtlicompare{\noexpand#1}% + {\expandonce\dtl@restA}{\expandonce\dtl@restB}}% \dtl@donext \else - \protected@edef\dtl@donext{% + \edef\dtl@donext{% \noexpand\dtlicompare - {\noexpand#1}{\dtl@restA}{\dtl@firstB\dtl@restB}}% + {\noexpand#1}% + {\expandonce\dtl@restA}% + {\expandonce\dtl@firstB\expandonce\dtl@restB}}% \dtl@donext \fi \else \ifnum\dtl@codeB=-1\relax - \protected@edef\dtl@donext{% +% \end{macrocode} +%v2.25: added \cs{expandonce} to prevent non-ASCII characters from being +%expanded. +% \begin{macrocode} + \edef\dtl@donext{% \noexpand\dtlicompare - {\noexpand#1}{\dtl@firstA\dtl@restA}{\dtl@restB}}% + {\noexpand#1}% + {\expandonce\dtl@firstA\expandonce\dtl@restA}% + {\expandonce\dtl@restB}}% \dtl@donext \else \ifnum\dtl@codeA<\dtl@codeB @@ -3564,9 +3600,15 @@ datatool.dtx #1=1\relax }% {% - \protected@edef\dtl@donext{% +% \end{macrocode} +%v2.25: added \cs{expandonce} to prevent non-ASCII characters from being +%expanded. +% \begin{macrocode} + \edef\dtl@donext{% \noexpand\dtlicompare - {\noexpand#1}{\dtl@restA}{\dtl@restB}}% + {\noexpand#1}% + {\expandonce\dtl@restA}% + {\expandonce\dtl@restB}}% \dtl@donext }% }% @@ -3579,20 +3621,28 @@ datatool.dtx % \end{macrocode} % The first object in \meta{string1} is a single character, but the % first object in \meta{string2} isn't a single character. +%v2.25: added \cs{expandonce} to prevent non-ASCII characters from being +%expanded. % \begin{macrocode} - \protected@edef\dtl@donext{% + \edef\dtl@donext{% \noexpand\dtlicompare - {\noexpand#1}{\dtl@firstA\dtl@restA}{\dtl@firstB\dtl@restB}}% + {\noexpand#1}% + {\expandonce\dtl@firstA\expandonce\dtl@restA}% + {\expandonce\dtl@firstB\expandonce\dtl@restB}}% \dtl@donext }% }% {% % \end{macrocode} % Neither object is a single character. +%v2.25: added \cs{expandonce} to prevent non-ASCII characters from being +%expanded. % \begin{macrocode} - \protected@edef\dtl@donext{% + \edef\dtl@donext{% \noexpand\dtlicompare - {\noexpand#1}{\dtl@firstA\dtl@restA}{\dtl@firstB\dtl@restB}}% + {\noexpand#1}% + {\expandonce\dtl@firstA\expandonce\dtl@restA}% + {\expandonce\dtl@firstB\expandonce\dtl@restB}}% \dtl@donext }% }% @@ -3768,10 +3818,15 @@ datatool.dtx \ifcase\@dtl@A@chargroup % \end{macrocode} % Symbol group +%v2.25: added \cs{expandonce} to prevent non-ASCII characters from being +%expanded. +%\changes{2.25}{2016-01-18}{added \cs{expandonce}} % \begin{macrocode} - \protected@edef\dtl@donext{% + \edef\dtl@donext{% \noexpand\dtlcompare - {\noexpand#1}{\@dtl@A@before}{\@dtl@B@before}}% + {\noexpand#1}% + {\expandonce\@dtl@A@before}% + {\expandonce\@dtl@B@before}}% \dtl@donext % \end{macrocode} % Number. @@ -5706,7 +5761,7 @@ datatool.dtx % Definitions of fixed-point commands that use the \sty{fp} package. % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{datatool-fp}[2016/01/12 v2.24 (NLCT)] +\ProvidesPackage{datatool-fp}[2016/01/18 v2.25 (NLCT)] % \end{macrocode} % Required packages: % \begin{macrocode} @@ -5995,7 +6050,7 @@ datatool.dtx % Definitions of fixed-point commands that use the \sty{pgfmath} package. % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{datatool-pgfmath}[2016/01/12 v2.24 (NLCT)] +\ProvidesPackage{datatool-pgfmath}[2016/01/18 v2.25 (NLCT)] % \end{macrocode} % Required packages: % \begin{macrocode} @@ -6252,7 +6307,7 @@ datatool.dtx %\section{Package Declaration} % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{datatool}[2016/01/12 v2.24 (NLCT)] +\ProvidesPackage{datatool}[2016/01/18 v2.25 (NLCT)] % \end{macrocode} % Load required packages: % \begin{macrocode} @@ -13845,7 +13900,7 @@ datatool.dtx % Declare package: % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{datagidx}[2016/01/12 v2.24 (NLCT)] +\ProvidesPackage{datagidx}[2016/01/18 v2.25 (NLCT)] % \end{macrocode} % Required packages: % \begin{macrocode} @@ -19754,7 +19809,7 @@ datatool.dtx %\section{Package Declaration} % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{databib}[2016/01/12 v2.24 (NLCT)] +\ProvidesPackage{databib}[2016/01/18 v2.25 (NLCT)] % \end{macrocode} % Load required packages: % \begin{macrocode} @@ -22677,7 +22732,7 @@ already exists}{}}}} % Declare package: % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{databar}[2016/01/12 v2.24 (NLCT)] +\ProvidesPackage{databar}[2016/01/18 v2.25 (NLCT)] % \end{macrocode} % Require \sty{xkeyval} package % \begin{macrocode} @@ -23984,7 +24039,7 @@ already exists}{}}}} % Declare package: % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{datapie}[2016/01/12 v2.24 (NLCT)] +\ProvidesPackage{datapie}[2016/01/18 v2.25 (NLCT)] % \end{macrocode} % Require \sty{xkeyval} package % \begin{macrocode} @@ -24689,7 +24744,7 @@ Try #2-#1 instead of #1-#2}% % Declare package: % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{dataplot}[2016/01/12 v2.24 (NLCT)] +\ProvidesPackage{dataplot}[2016/01/18 v2.25 (NLCT)] % \end{macrocode} % Required packages % \begin{macrocode} @@ -26311,7 +26366,7 @@ east,southeast,south,southwest,west,northwest}[northeast]{% % Package identification: % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{person}[2016/01/12 v2.24 (NLCT)] +\ProvidesPackage{person}[2016/01/18 v2.25 (NLCT)] % \end{macrocode} % Requires the \sty{ifthen} package. % \begin{macrocode} diff --git a/Master/texmf-dist/source/latex/datatool/datatool.ins b/Master/texmf-dist/source/latex/datatool/datatool.ins index 653f1e5da7f..08b21f870ab 100644 --- a/Master/texmf-dist/source/latex/datatool/datatool.ins +++ b/Master/texmf-dist/source/latex/datatool/datatool.ins @@ -1,4 +1,4 @@ -% datatool.ins generated using makedtx version 1.1 2016/1/13 11:57 +% datatool.ins generated using makedtx version 1.1 2016/1/18 9:48 \input docstrip \preamble diff --git a/Master/texmf-dist/tex/latex/datatool/databar.sty b/Master/texmf-dist/tex/latex/datatool/databar.sty index c2be6c46081..47e049691e3 100644 --- a/Master/texmf-dist/tex/latex/datatool/databar.sty +++ b/Master/texmf-dist/tex/latex/datatool/databar.sty @@ -39,7 +39,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{databar}[2016/01/12 v2.24 (NLCT)] +\ProvidesPackage{databar}[2016/01/18 v2.25 (NLCT)] \RequirePackage{xkeyval} \RequirePackage{dataplot} \newif\ifDTLcolorbarchart diff --git a/Master/texmf-dist/tex/latex/datatool/databib.sty b/Master/texmf-dist/tex/latex/datatool/databib.sty index fa88e581ed4..a26e6e422af 100644 --- a/Master/texmf-dist/tex/latex/datatool/databib.sty +++ b/Master/texmf-dist/tex/latex/datatool/databib.sty @@ -39,7 +39,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{databib}[2016/01/12 v2.24 (NLCT)] +\ProvidesPackage{databib}[2016/01/18 v2.25 (NLCT)] \RequirePackage{datatool} \newcommand*{\dtlbib@style}{plain} \define@choicekey{databib.sty}{style}{plain,abbrv,alpha}{% diff --git a/Master/texmf-dist/tex/latex/datatool/datagidx.sty b/Master/texmf-dist/tex/latex/datatool/datagidx.sty index f954dfd77ed..0d06f3a966e 100644 --- a/Master/texmf-dist/tex/latex/datatool/datagidx.sty +++ b/Master/texmf-dist/tex/latex/datatool/datagidx.sty @@ -39,7 +39,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{datagidx}[2016/01/12 v2.24 (NLCT)] +\ProvidesPackage{datagidx}[2016/01/18 v2.25 (NLCT)] \RequirePackage{datatool} \RequirePackage{etoolbox} \RequirePackage{xkeyval} diff --git a/Master/texmf-dist/tex/latex/datatool/datapie.sty b/Master/texmf-dist/tex/latex/datatool/datapie.sty index 60d8841780f..7b139a17504 100644 --- a/Master/texmf-dist/tex/latex/datatool/datapie.sty +++ b/Master/texmf-dist/tex/latex/datatool/datapie.sty @@ -39,7 +39,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{datapie}[2016/01/12 v2.24 (NLCT)] +\ProvidesPackage{datapie}[2016/01/18 v2.25 (NLCT)] \RequirePackage{xkeyval} \newif\ifDTLcolorpiechart \DTLcolorpiecharttrue diff --git a/Master/texmf-dist/tex/latex/datatool/dataplot.sty b/Master/texmf-dist/tex/latex/datatool/dataplot.sty index bce7f288af8..c330c241de1 100644 --- a/Master/texmf-dist/tex/latex/datatool/dataplot.sty +++ b/Master/texmf-dist/tex/latex/datatool/dataplot.sty @@ -39,7 +39,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{dataplot}[2016/01/12 v2.24 (NLCT)] +\ProvidesPackage{dataplot}[2016/01/18 v2.25 (NLCT)] \RequirePackage{xkeyval} \RequirePackage{tikz} \RequirePackage{datatool} diff --git a/Master/texmf-dist/tex/latex/datatool/datatool-base.sty b/Master/texmf-dist/tex/latex/datatool/datatool-base.sty index bff81cc7e7e..ce4d6d7b64f 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/12 v2.24 (NLCT)] +\ProvidesPackage{datatool-base}[2016/01/18 v2.25 (NLCT)] \RequirePackage{etoolbox} \RequirePackage{amsmath} \RequirePackage{xkeyval} @@ -1544,20 +1544,25 @@ \expandafter\dtl@setcharcode\expandafter{\dtl@firstB}{\dtl@codeB}% \ifnum\dtl@codeA=-1\relax \ifnum\dtl@codeB=-1\relax - \protected@edef\dtl@donext{% - \noexpand\dtlcompare{\noexpand#1}{\dtl@restA}{\dtl@restB}}% + \edef\dtl@donext{% + \noexpand\dtlcompare + {\noexpand#1}{\expandonce\dtl@restA}{\expandonce\dtl@restB}}% \dtl@donext \else - \protected@edef\dtl@donext{% + \edef\dtl@donext{% \noexpand\dtlcompare - {\noexpand#1}{\dtl@restA}{\dtl@firstB\dtl@restB}}% + {\noexpand#1}% + {\expandonce\dtl@restA}% + {\expandonce\dtl@firstB\expandonce\dtl@restB}}% \dtl@donext \fi \else \ifnum\dtl@codeB=-1\relax - \protected@edef\dtl@donext{% + \edef\dtl@donext{% \noexpand\dtlcompare - {\noexpand#1}{\dtl@firstA\dtl@restA}{\dtl@restB}}% + {\noexpand#1}% + {\expandonce\dtl@firstA\expandonce\dtl@restA}% + {\expandonce\dtl@restB}}% \dtl@donext \else \ifnum\dtl@codeA<\dtl@codeB @@ -1593,14 +1598,18 @@ \fi \fi }{% - \protected@edef\dtl@donext{% + \edef\dtl@donext{% \noexpand\dtlcompare - {\noexpand#1}{\dtl@firstA\dtl@restA}{\dtl@firstB\dtl@restB}}% + {\noexpand#1}% + {\expandonce\dtl@firstA\expandonce\dtl@restA}% + {\expandonce\dtl@firstB\expandonce\dtl@restB}}% \dtl@donext }}{% - \protected@edef\dtl@donext{% + \edef\dtl@donext{% \noexpand\dtlcompare - {\noexpand#1}{\dtl@firstA\dtl@restA}{\dtl@firstB\dtl@restB}}% + {\noexpand#1}% + {\expandonce\dtl@firstA\expandonce\dtl@restA}% + {\expandonce\dtl@firstB\expandonce\dtl@restB}}% \dtl@donext }% }% @@ -2022,20 +2031,25 @@ \expandafter\dtl@setlccharcode\expandafter{\dtl@firstB}{\dtl@codeB}% \ifnum\dtl@codeA=-1\relax \ifnum\dtl@codeB=-1\relax - \protected@edef\dtl@donext{% - \noexpand\dtlicompare{\noexpand#1}{\dtl@restA}{\dtl@restB}}% + \edef\dtl@donext{% + \noexpand\dtlicompare{\noexpand#1}% + {\expandonce\dtl@restA}{\expandonce\dtl@restB}}% \dtl@donext \else - \protected@edef\dtl@donext{% + \edef\dtl@donext{% \noexpand\dtlicompare - {\noexpand#1}{\dtl@restA}{\dtl@firstB\dtl@restB}}% + {\noexpand#1}% + {\expandonce\dtl@restA}% + {\expandonce\dtl@firstB\expandonce\dtl@restB}}% \dtl@donext \fi \else \ifnum\dtl@codeB=-1\relax - \protected@edef\dtl@donext{% + \edef\dtl@donext{% \noexpand\dtlicompare - {\noexpand#1}{\dtl@firstA\dtl@restA}{\dtl@restB}}% + {\noexpand#1}% + {\expandonce\dtl@firstA\expandonce\dtl@restA}% + {\expandonce\dtl@restB}}% \dtl@donext \else \ifnum\dtl@codeA<\dtl@codeB @@ -2060,9 +2074,11 @@ #1=1\relax }% {% - \protected@edef\dtl@donext{% + \edef\dtl@donext{% \noexpand\dtlicompare - {\noexpand#1}{\dtl@restA}{\dtl@restB}}% + {\noexpand#1}% + {\expandonce\dtl@restA}% + {\expandonce\dtl@restB}}% \dtl@donext }% }% @@ -2072,16 +2088,20 @@ \fi }% {% - \protected@edef\dtl@donext{% + \edef\dtl@donext{% \noexpand\dtlicompare - {\noexpand#1}{\dtl@firstA\dtl@restA}{\dtl@firstB\dtl@restB}}% + {\noexpand#1}% + {\expandonce\dtl@firstA\expandonce\dtl@restA}% + {\expandonce\dtl@firstB\expandonce\dtl@restB}}% \dtl@donext }% }% {% - \protected@edef\dtl@donext{% + \edef\dtl@donext{% \noexpand\dtlicompare - {\noexpand#1}{\dtl@firstA\dtl@restA}{\dtl@firstB\dtl@restB}}% + {\noexpand#1}% + {\expandonce\dtl@firstA\expandonce\dtl@restA}% + {\expandonce\dtl@firstB\expandonce\dtl@restB}}% \dtl@donext }% }% @@ -2213,9 +2233,11 @@ #1=1\relax \else \ifcase\@dtl@A@chargroup - \protected@edef\dtl@donext{% + \edef\dtl@donext{% \noexpand\dtlcompare - {\noexpand#1}{\@dtl@A@before}{\@dtl@B@before}}% + {\noexpand#1}% + {\expandonce\@dtl@A@before}% + {\expandonce\@dtl@B@before}}% \dtl@donext \or \ifnum\@dtl@A@before<\@dtl@B@before\relax diff --git a/Master/texmf-dist/tex/latex/datatool/datatool-fp.sty b/Master/texmf-dist/tex/latex/datatool/datatool-fp.sty index b1b27fabe8d..0e1bf825957 100644 --- a/Master/texmf-dist/tex/latex/datatool/datatool-fp.sty +++ b/Master/texmf-dist/tex/latex/datatool/datatool-fp.sty @@ -39,7 +39,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{datatool-fp}[2016/01/12 v2.24 (NLCT)] +\ProvidesPackage{datatool-fp}[2016/01/18 v2.25 (NLCT)] \RequirePackage{xkeyval} \RequirePackage{fp} \RequirePackage{datatool-base} diff --git a/Master/texmf-dist/tex/latex/datatool/datatool-pgfmath.sty b/Master/texmf-dist/tex/latex/datatool/datatool-pgfmath.sty index ac7e48ec5a3..7d7608f9995 100644 --- a/Master/texmf-dist/tex/latex/datatool/datatool-pgfmath.sty +++ b/Master/texmf-dist/tex/latex/datatool/datatool-pgfmath.sty @@ -39,7 +39,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{datatool-pgfmath}[2016/01/12 v2.24 (NLCT)] +\ProvidesPackage{datatool-pgfmath}[2016/01/18 v2.25 (NLCT)] \RequirePackage{xkeyval} \RequirePackage{pgfrcs,pgfkeys,pgfmath} \ProcessOptionsX diff --git a/Master/texmf-dist/tex/latex/datatool/datatool.sty b/Master/texmf-dist/tex/latex/datatool/datatool.sty index 4d27d477dad..cd0535b89c2 100644 --- a/Master/texmf-dist/tex/latex/datatool/datatool.sty +++ b/Master/texmf-dist/tex/latex/datatool/datatool.sty @@ -39,7 +39,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{datatool}[2016/01/12 v2.24 (NLCT)] +\ProvidesPackage{datatool}[2016/01/18 v2.25 (NLCT)] \RequirePackage{xkeyval} \RequirePackage{ifthen} \RequirePackage{xfor} diff --git a/Master/texmf-dist/tex/latex/datatool/person.sty b/Master/texmf-dist/tex/latex/datatool/person.sty index 7a2d31ada7e..8159762b6c3 100644 --- a/Master/texmf-dist/tex/latex/datatool/person.sty +++ b/Master/texmf-dist/tex/latex/datatool/person.sty @@ -39,7 +39,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{person}[2016/01/12 v2.24 (NLCT)] +\ProvidesPackage{person}[2016/01/18 v2.25 (NLCT)] \RequirePackage{ifthen} \RequirePackage{datatool} \newcounter{people} -- cgit v1.2.3