summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-09-06 23:13:16 +0000
committerKarl Berry <karl@freefriends.org>2013-09-06 23:13:16 +0000
commitd211c476a793546259e3fe8b6417f3f36d477a99 (patch)
tree3795aeb98284ea17ec7745a0c7371a414d55b9d7
parent5eb736f1ebfc243975bbd8d48c8fb8a47ba6f2df (diff)
datatool (6sep13)
git-svn-id: svn://tug.org/texlive/trunk@31588 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/bibtex/bst/datatool/databib.bst8
-rw-r--r--Master/texmf-dist/doc/latex/datatool/CHANGES13
-rw-r--r--Master/texmf-dist/doc/latex/datatool/README12
-rw-r--r--Master/texmf-dist/doc/latex/datatool/datatool-code.pdfbin893222 -> 893369 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/datatool-user.pdfbin598839 -> 600386 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/datatool-user.tex28
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-barchart.pdfbin35087 -> 35087 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-dict.pdfbin122606 -> 122606 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-gidx.pdfbin180146 -> 180324 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-glossary.pdfbin104269 -> 104460 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-index.pdfbin128798 -> 128798 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-mail-merge.pdfbin22208 -> 22164 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-piechart.pdfbin33977 -> 33977 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-student-scores.pdfbin34628 -> 34628 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-two-per-row.pdfbin31764 -> 31764 bytes
-rw-r--r--Master/texmf-dist/source/latex/datatool/datatool.dtx80
-rw-r--r--Master/texmf-dist/source/latex/datatool/datatool.ins2
-rw-r--r--Master/texmf-dist/tex/latex/datatool/datatool-base.sty2
-rw-r--r--Master/texmf-dist/tex/latex/datatool/datatool.sty34
19 files changed, 148 insertions, 31 deletions
diff --git a/Master/texmf-dist/bibtex/bst/datatool/databib.bst b/Master/texmf-dist/bibtex/bst/datatool/databib.bst
index cb63be2b675..2677c374a69 100644
--- a/Master/texmf-dist/bibtex/bst/datatool/databib.bst
+++ b/Master/texmf-dist/bibtex/bst/datatool/databib.bst
@@ -737,7 +737,13 @@ FUNCTION {article}
new.block
crossref missing$
{
- "\DTLnewbibitem {Journal}" *
+ journal missing$
+ {
+ }
+ {
+ "\DTLnewbibitem {Journal}" *
+ }
+ if$
journal group "journal" output.check
format.vol.num.pages output
format.date "year" output.check
diff --git a/Master/texmf-dist/doc/latex/datatool/CHANGES b/Master/texmf-dist/doc/latex/datatool/CHANGES
index ebf870514c8..987f07c8ce7 100644
--- a/Master/texmf-dist/doc/latex/datatool/CHANGES
+++ b/Master/texmf-dist/doc/latex/datatool/CHANGES
@@ -1,3 +1,16 @@
+v2.18:
+
+ * datatool:
+
+ - added check in \dtlsort for existence of specified keys
+
+ - reverted \DTLpar back to a robust command instead of using \let
+
+
+ * databib.bst:
+
+ Fixed error caused when article entry journal field missing
+
v2.17:
* datatool:
diff --git a/Master/texmf-dist/doc/latex/datatool/README b/Master/texmf-dist/doc/latex/datatool/README
index e13a8ecc48b..c215e9e5819 100644
--- a/Master/texmf-dist/doc/latex/datatool/README
+++ b/Master/texmf-dist/doc/latex/datatool/README
@@ -1,12 +1,12 @@
-LaTeX Bundle : datatool v2.17
+LaTeX Bundle : datatool v2.18
-Last Modified : 2013-08-29
+Last Modified : 2013-09-06
Author : Nicola Talbot
This bundle consists of the packages: datatool.sty,
datatool-base.sty, datatool-fp.sty, datatool-pgfmath.sty,
-databar.sty, databib.sty, datapie.sty dataplot.sty,
+databar.sty, databib.sty, datapie.sty dataplot.sty, datagidx.sty
person.sty.
datatool.sty:
@@ -90,6 +90,12 @@ databib.sty:
Provides commands to convert a BibTeX database into a datatool
database.
+datagidx.sty:
+
+ Provides a way of indexing or creating glossaries/lists of acronyms
+ that uses TeX to do the sorting and collating instead of using an
+ external indexing application, such as xindy or makeindex.
+
person.sty:
Provides commands to display a person's name and pronoun in an
diff --git a/Master/texmf-dist/doc/latex/datatool/datatool-code.pdf b/Master/texmf-dist/doc/latex/datatool/datatool-code.pdf
index 1994ba47f93..aadde68d664 100644
--- a/Master/texmf-dist/doc/latex/datatool/datatool-code.pdf
+++ b/Master/texmf-dist/doc/latex/datatool/datatool-code.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/datatool/datatool-user.pdf b/Master/texmf-dist/doc/latex/datatool/datatool-user.pdf
index 343f339834d..16f513d7498 100644
--- a/Master/texmf-dist/doc/latex/datatool/datatool-user.pdf
+++ b/Master/texmf-dist/doc/latex/datatool/datatool-user.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/datatool/datatool-user.tex b/Master/texmf-dist/doc/latex/datatool/datatool-user.tex
index 07da5dd87a8..d641d8a5f3a 100644
--- a/Master/texmf-dist/doc/latex/datatool/datatool-user.tex
+++ b/Master/texmf-dist/doc/latex/datatool/datatool-user.tex
@@ -91,11 +91,11 @@
\MakeShortVerb{"}
\DeleteShortVerb{\|}
- \title{User Manual for datatool bundle version~2.17}
+ \title{User Manual for datatool bundle version~2.18}
\author{Nicola L.C. Talbot\\
\url{http://www.dickimaw-books.com/}}
- \date{2013-08-29}
+ \date{2013-09-06}
\maketitle
\pagenumbering{roman}
@@ -110,7 +110,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.17}
+ read \qt{Documented Code for datatool v2.18}
\item[INSTALL] Installation instructions.
@@ -1328,6 +1328,11 @@ match.
\chapter{Fixed Point Arithmetic}
\label{sec:fp}
+\begin{important}
+The \sty{datatool} bundle doesn't support scientific
+notation.
+\end{important}
+
The \sty{datatool-base} package uses either the \sty{fp} or the \sty{pgfmath} package to perform
fixed point arithmetic, however all numbers must be converted
from the locale dependent format into the format required by the
@@ -1423,6 +1428,19 @@ back into the locale format using
Note that since these commands use \cs{DTLconverttodecimal} the
caveat above regarding expansion also applies to all the commands.
+\begin{important}
+If you don't require currency or locale conversion, you can reduce
+the package overheads by using the commands defined in the
+\sty{datatool-fp} or \sty{datatool-pgfmath} packages which provide
+interface commands to \sty{fp} or \sty{pgfmath}, respectively.
+(See sections~\ref*{sec:code:datatool-fp}
+and~\ref*{sec:code:datatool-pgfmath} of the documented code,
+\texttt{datatool-code.pdf}.)
+Alternatively, you can just use the \sty{fp} or \sty{pgfmath}
+commands explicitly. (See the \sty{fp} or \sty{pgf} manuals for
+further details.)
+\end{important}
+
\begin{definition}[\DescribeMacro{\DTLadd}]%
\cs{DTLadd}\marg{cmd}\marg{num1}\marg{num2}
@@ -8387,10 +8405,10 @@ The \sty{databar} package options are as follows:
\begin{definition}[\DescribeMacro{\DTLbarchart}]%
-\cs{DTLbarchart}\oarg{condition}\marg{db name}\marg{settings}\marg{values}
+\cs{DTLbarchart}\oarg{condition}\marg{settings}\marg{db name}\marg{values}
\end{definition}
\begin{definition}[\DescribeMacro{\DTLmultibarchart}]%
-\cs{DTLmultibarchart}\oarg{condition}\marg{db name}\marg{settings}\marg{values}
+\cs{DTLmultibarchart}\oarg{condition}\marg{settings}\marg{db name}\marg{values}
\end{definition}
These commands both create a bar chart from the information in
the database \meta{db name}, where \meta{condition} is the same
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 62314cbc6bd..dcc87e1095b 100644
--- a/Master/texmf-dist/doc/latex/datatool/samples/sample-barchart.pdf
+++ b/Master/texmf-dist/doc/latex/datatool/samples/sample-barchart.pdf
Binary files 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 2741b9732f1..d209c431431 100644
--- a/Master/texmf-dist/doc/latex/datatool/samples/sample-dict.pdf
+++ b/Master/texmf-dist/doc/latex/datatool/samples/sample-dict.pdf
Binary files 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 9899165d244..6423b8921da 100644
--- a/Master/texmf-dist/doc/latex/datatool/samples/sample-gidx.pdf
+++ b/Master/texmf-dist/doc/latex/datatool/samples/sample-gidx.pdf
Binary files 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 2672317ae55..a2ff8cfbfb9 100644
--- a/Master/texmf-dist/doc/latex/datatool/samples/sample-glossary.pdf
+++ b/Master/texmf-dist/doc/latex/datatool/samples/sample-glossary.pdf
Binary files 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 ebc16da0672..95dc10fa433 100644
--- a/Master/texmf-dist/doc/latex/datatool/samples/sample-index.pdf
+++ b/Master/texmf-dist/doc/latex/datatool/samples/sample-index.pdf
Binary files 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 43a32ddde60..f945e24d367 100644
--- a/Master/texmf-dist/doc/latex/datatool/samples/sample-mail-merge.pdf
+++ b/Master/texmf-dist/doc/latex/datatool/samples/sample-mail-merge.pdf
Binary files 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 66e135f9b5d..e0562d58ab1 100644
--- a/Master/texmf-dist/doc/latex/datatool/samples/sample-piechart.pdf
+++ b/Master/texmf-dist/doc/latex/datatool/samples/sample-piechart.pdf
Binary files 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 e9691d084a4..d3c91d76512 100644
--- a/Master/texmf-dist/doc/latex/datatool/samples/sample-student-scores.pdf
+++ b/Master/texmf-dist/doc/latex/datatool/samples/sample-student-scores.pdf
Binary files 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 c892444e75b..46d94b1b278 100644
--- 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
Binary files differ
diff --git a/Master/texmf-dist/source/latex/datatool/datatool.dtx b/Master/texmf-dist/source/latex/datatool/datatool.dtx
index 109413ab6c6..3e6c46f074e 100644
--- a/Master/texmf-dist/source/latex/datatool/datatool.dtx
+++ b/Master/texmf-dist/source/latex/datatool/datatool.dtx
@@ -19,7 +19,7 @@
% -author "Nicola Talbot"
% -codetitle ""
% datatool
-% Created on 2013/8/29 23:06
+% Created on 2013/9/6 9:51
%\fi
%\iffalse
%<*package>
@@ -66,7 +66,7 @@ datatool.dtx
\doxitem{Counter}{counter}{counters}
\doxitem{Option}{option}{package options}
-\CheckSum{22897}
+\CheckSum{22921}
\RecordChanges
\PageIndex
@@ -79,11 +79,11 @@ datatool.dtx
%\fi
%\MakeShortVerb{"}
%
-%\title{Documented Code for datatool v2.17}
+%\title{Documented Code for datatool v2.18}
%\author{Nicola L. C. Talbot\\
%\url{http://www.dickimaw-books.com/}}
%
-%\date{2013-08-29}
+%\date{2013-09-06}
%\maketitle
%
%\pagenumbering{roman}
@@ -118,7 +118,7 @@ datatool.dtx
%
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{datatool-base}[2013/08/29 v2.17 (NLCT)]
+\ProvidesPackage{datatool-base}[2013/09/06 v2.18 (NLCT)]
% \end{macrocode}
% Required packages:
% \begin{macrocode}
@@ -5709,7 +5709,7 @@ datatool.dtx
%\section{Package Declaration}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{datatool}[2013/08/29 v2.17 (NLCT)]
+\ProvidesPackage{datatool}[2013/09/06 v2.18 (NLCT)]
% \end{macrocode}
% Load required packages:
% \begin{macrocode}
@@ -5717,6 +5717,7 @@ datatool.dtx
\RequirePackage{ifthen}
\RequirePackage{xfor}
\RequirePackage{substr}
+\RequirePackage{etoolbox}
% \end{macrocode}
%\changes{2.0}{2009 February 27}{added etex as a required package}
% \begin{macrocode}
@@ -5737,7 +5738,7 @@ datatool.dtx
%\begin{definition}
%\cs{DTLsetseparator}\marg{char}
%\end{definition}
-% The sets \cs{@dtl@separator}, and constructs the relevent macros
+% The sets \cs{@dtl@separator}, and constructs the relevant macros
% that require this character to be hardcoded into their definition.
% \begin{macrocode}
\newcommand*{\DTLsetseparator}[1]{%
@@ -5923,11 +5924,14 @@ datatool.dtx
%\begin{macro}{\DTLpar}
% Many of the commands used by this package are short commands.
% This means that you can't use \cs{par}
-% in the data. To get around this, provide a synonym for \cs{@@par}
-% that can be used instead
+% in the data. This command needs to be robust so it doesn't get
+% expanded when written to a file. We also can't just use a synonym
+% for \cs{@@par} because it may be used in a context where \cs{par}
+% has a different meaning to \cs{@@par}.
%\changes{2.14}{2013-06-28}{changed to \cs{let}}
+%\changes{2.18}{2013-09-06}{changed back to a robust command}
% \begin{macrocode}
-\let\DTLpar\@@par
+\DeclareRobustCommand{\DTLpar}{\par}
% \end{macrocode}
%\end{macro}
%
@@ -11241,19 +11245,59 @@ datatool.dtx
% \begin{macrocode}
\edef\@dtl@replacementkeys{#1}%
% \end{macrocode}
-% Store sort order in \cs{@dtl@sortorder}.
+% Store sort order in \cs{@dtl@sortorder}, but check specified keys exist.
+%\changes{2.18}{2013-09-06}{added check for existence of keys listed in sort
+%criteria}
+% \begin{macrocode}
+ \def\@dtl@sortorder{}%
+ \@for\@dtl@level:=#2\do
+ {%
+% \end{macrocode}
+% Get key (stored in \cs{@dtl@key}).
+% \begin{macrocode}
+ \expandafter\@dtl@getsortdirection\@dtl@level=\relax
+% \end{macrocode}
+% Check key exists.
+% \begin{macrocode}
+ \DTLifhaskey{#3}{\@dtl@key}%
+ {%
+% \end{macrocode}
+% Key exists, so add to \cs{@dtl@sortorder}.
% \begin{macrocode}
- \edef\@dtl@sortorder{#2}%
+ \ifdefempty\@dtl@sortorder
+ {\let\@dtl@sortorder=\@dtl@level}%
+ {\eappto\@dtl@sortorder{,\@dtl@level}}%
+ }%
+ {%
+% \end{macrocode}
+% Key doesn't exist.
+% \begin{macrocode}
+ \PackageError{datatool}%
+ {%
+ Can't sort on `\@dtl@level'.
+ No such key `\@dtl@key' in database `#3'%
+ }{}%
+ }%
+ }%
+% \end{macrocode}
+% Now check if we have any keys left to sort on.
+% \begin{macrocode}
+ \ifdefempty\@dtl@sortorder
+ {%
+ \PackageWarning{datatool}{No keys provided to sort database `#3'}%
+ }%
+ {%
% \end{macrocode}
% Set \cs{@dtl@comparecs} to the required string comparison
% function. (Using case insensitive comparison macro
% \cs{dtlicompare}.)
% \begin{macrocode}
- \let\@dtl@comparecs=#4%
+ \let\@dtl@comparecs=#4%
% \end{macrocode}
% Sort the database.
% \begin{macrocode}
- \dtl@sortdata{#3}%
+ \dtl@sortdata{#3}%
+ }%
}%
{%
\PackageError{datatool}{Database `#3' doesn't exist}{}%
@@ -27141,7 +27185,13 @@ FUNCTION {article}
new.block
crossref missing$
{
- "\DTLnewbibitem {Journal}" *
+ journal missing$
+ {
+ }
+ {
+ "\DTLnewbibitem {Journal}" *
+ }
+ if$
journal group "journal" output.check
format.vol.num.pages output
format.date "year" output.check
diff --git a/Master/texmf-dist/source/latex/datatool/datatool.ins b/Master/texmf-dist/source/latex/datatool/datatool.ins
index df96e9f5aeb..78fa2dca79b 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 0.94b 2013/8/29 23:06
+% datatool.ins generated using makedtx version 0.94b 2013/9/6 9:51
\input docstrip
\preamble
diff --git a/Master/texmf-dist/tex/latex/datatool/datatool-base.sty b/Master/texmf-dist/tex/latex/datatool/datatool-base.sty
index 65be692efb1..8d7474b95ec 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}[2013/08/29 v2.17 (NLCT)]
+\ProvidesPackage{datatool-base}[2013/09/06 v2.18 (NLCT)]
\RequirePackage{etoolbox}
\RequirePackage{amsmath}
\RequirePackage{xkeyval}
diff --git a/Master/texmf-dist/tex/latex/datatool/datatool.sty b/Master/texmf-dist/tex/latex/datatool/datatool.sty
index 7b65fd06807..9281a51c9cf 100644
--- a/Master/texmf-dist/tex/latex/datatool/datatool.sty
+++ b/Master/texmf-dist/tex/latex/datatool/datatool.sty
@@ -39,11 +39,12 @@
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{datatool}[2013/08/29 v2.17 (NLCT)]
+\ProvidesPackage{datatool}[2013/09/06 v2.18 (NLCT)]
\RequirePackage{xkeyval}
\RequirePackage{ifthen}
\RequirePackage{xfor}
\RequirePackage{substr}
+\RequirePackage{etoolbox}
\RequirePackage{etex}
\newcommand*{\@dtl@separator}{,}
\newcommand*{\DTLsetseparator}[1]{%
@@ -116,7 +117,7 @@
\ProcessOptionsX
\@dtl@construct@lopoffs
\RequirePackage{datatool-base}
-\let\DTLpar\@@par
+\DeclareRobustCommand{\DTLpar}{\par}
\newcommand*{\DTLnewdb}[1]{%
\DTLifdbexists{#1}%
{%
@@ -2459,9 +2460,32 @@
\typeout{Sorting `#3' - this may take a while.}%
\fi
\edef\@dtl@replacementkeys{#1}%
- \edef\@dtl@sortorder{#2}%
- \let\@dtl@comparecs=#4%
- \dtl@sortdata{#3}%
+ \def\@dtl@sortorder{}%
+ \@for\@dtl@level:=#2\do
+ {%
+ \expandafter\@dtl@getsortdirection\@dtl@level=\relax
+ \DTLifhaskey{#3}{\@dtl@key}%
+ {%
+ \ifdefempty\@dtl@sortorder
+ {\let\@dtl@sortorder=\@dtl@level}%
+ {\eappto\@dtl@sortorder{,\@dtl@level}}%
+ }%
+ {%
+ \PackageError{datatool}%
+ {%
+ Can't sort on `\@dtl@level'.
+ No such key `\@dtl@key' in database `#3'%
+ }{}%
+ }%
+ }%
+ \ifdefempty\@dtl@sortorder
+ {%
+ \PackageWarning{datatool}{No keys provided to sort database `#3'}%
+ }%
+ {%
+ \let\@dtl@comparecs=#4%
+ \dtl@sortdata{#3}%
+ }%
}%
{%
\PackageError{datatool}{Database `#3' doesn't exist}{}%