summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/datatool
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-12-07 22:50:44 +0000
committerKarl Berry <karl@freefriends.org>2018-12-07 22:50:44 +0000
commit8ea05b291a97fc98c330f2c40922932a0c460398 (patch)
tree9be62aed6a7172fe0f52fac4297b19b5e95dfdc3 /Master/texmf-dist/doc/latex/datatool
parent5d57c7c06864a08c811765622587b93af1d8cd23 (diff)
datatool (7dec18)
git-svn-id: svn://tug.org/texlive/trunk@49344 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/datatool')
-rw-r--r--Master/texmf-dist/doc/latex/datatool/CHANGES56
-rw-r--r--Master/texmf-dist/doc/latex/datatool/README4
-rw-r--r--Master/texmf-dist/doc/latex/datatool/datatool-code.pdfbin1184311 -> 1188072 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/datatool-user.pdfbin639231 -> 641116 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/datatool-user.tex87
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-autokeys.pdfbin24923 -> 24911 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-barchart.pdfbin35066 -> 35054 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-datatooltk.pdfbin22860 -> 22848 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-dict.pdfbin122428 -> 122418 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-europecv-bib.pdfbin89557 -> 89544 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-gidx.pdfbin179796 -> 179887 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-glossary.pdfbin104427 -> 104516 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-index.pdfbin128788 -> 128777 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-mail-merge.pdfbin21869 -> 21655 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-piechart.pdfbin33957 -> 33945 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-sort.pdfbin89724 -> 89703 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-student-scores.pdfbin34614 -> 34602 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-two-per-row.pdfbin31751 -> 31739 bytes
18 files changed, 116 insertions, 31 deletions
diff --git a/Master/texmf-dist/doc/latex/datatool/CHANGES b/Master/texmf-dist/doc/latex/datatool/CHANGES
index 17613fc75c0..219c569cb24 100644
--- a/Master/texmf-dist/doc/latex/datatool/CHANGES
+++ b/Master/texmf-dist/doc/latex/datatool/CHANGES
@@ -1,17 +1,33 @@
-v2.30
+v2.31 (2018-12-07):
+
+ * datatool-base.sty:
+
+ - added conditional \ifDTLlistskipempty
+
+ - new commands \DTLlistelement and \DTLfetchlistelement
+
+ - made \DTLnumitemsinlist robust and now checks
+ \ifDTLlistskipempty
+
+ - \DTLformatlist now checks \ifDTLlistskipempty
+
+ - bug fix: \$ entry without value triggers
+ extra \else in \@dtl@checknumericalstart
+
+v2.30 (2018-04-16):
* datatool.sty
- bug fix: spurious spaces in \@dtl@lopoff
(used by \DTLloaddb and DTLloadrawdb)
-v2.29
+v2.29 (2017-11-12):
* datatool.sty:
- bug fix https://tex.stackexchange.com/questions/400921
-v2.28:
+v2.28 (2017-11-10):
* datatool.sty:
@@ -38,7 +54,7 @@ v2.28:
- \printterms uses \twocolumn if balance=false and columns=2
-v2.27:
+v2.27 (2016-07-28):
* datatool-base:
@@ -55,7 +71,7 @@ v2.27:
- new command \edtlinsertinto
-v2.26:
+v2.26 (2016-07-20):
* datatool-base:
@@ -71,7 +87,7 @@ v2.26:
- \FP... code replaced by \dtl... code
-v2.25:
+v2.25 (2016-01-18):
* datatool-base:
@@ -83,7 +99,7 @@ v2.25:
- Added section "Advanced Iteration".
-v2.24:
+v2.24 (2016-01-12):
* datatool-base:
@@ -96,7 +112,7 @@ v2.24:
\dtlsetdefaultUTFviiilccharcode for use with the comparison
handlers.
-v2.23:
+v2.23 (2015-07-11):
* datatool:
@@ -120,7 +136,7 @@ v2.23:
- Bug fix: replaced \@thisperson with #1 in \ifmale and
\iffemale
-v2.22:
+v2.22 (2014-06-10):
* datatool-base:
@@ -138,7 +154,7 @@ v2.22:
-v2.21:
+v2.21 (2014-03-08):
* datatool:
@@ -160,7 +176,7 @@ v2.21:
- Fixed bug in \datagidx@parse@location
-v2.20:
+v2.20 (2014-02-03):
* datatool:
@@ -172,7 +188,7 @@ v2.20:
- Fixed bug in \DTLforeach* (\@dtl@dbname undefined)
-v2.19:
+v2.19 (2014-01-17):
* datatool:
@@ -187,7 +203,7 @@ v2.19:
- defines \@idxitem if not already defined
-v2.18:
+v2.18 (2013-09-06):
* datatool:
@@ -200,7 +216,7 @@ v2.18:
Fixed error caused when article entry journal field missing
-v2.17:
+v2.17 (2013-08-29):
* datatool:
@@ -212,7 +228,7 @@ v2.17:
- fixed packaging of databib.bst
-v2.16:
+v2.16 (2013-08-16):
* datatool:
@@ -225,7 +241,7 @@ v2.16:
argument is a command that expands to empty.
-v2.15:
+v2.15 (2013-07-10):
* datagidx:
@@ -254,7 +270,7 @@ v2.15:
- fixed scoping issue with \DTLaddtoplotlegend
-v2.14:
+v2.14 (2013-06-28):
* datatool:
@@ -284,7 +300,7 @@ v2.14:
* Fixed minor typos in user manual
-v2.13:
+v2.13 (2013-01-15):
* Added new package `datagidx'
@@ -337,7 +353,7 @@ v2.13:
- added \dtlwordindexcompare
-v2.12:
+v2.12 (2012-11-30):
* datatool.sty:
@@ -350,7 +366,7 @@ v2.12:
- fixed bug in conditionals.
-v2.11:
+v2.11 (2012-09-25):
* datatool.sty:
diff --git a/Master/texmf-dist/doc/latex/datatool/README b/Master/texmf-dist/doc/latex/datatool/README
index 6ab220d637c..7e784650d6c 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.30
+LaTeX Bundle : datatool v2.31
-Last Modified : 2018-04-16
+Last Modified : 2018-12-07
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 b983b74ef2b..08f7743eb0a 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 c0c2615b5f2..8001340d5e9 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 aeefbfea21a..08f01e258ff 100644
--- a/Master/texmf-dist/doc/latex/datatool/datatool-user.tex
+++ b/Master/texmf-dist/doc/latex/datatool/datatool-user.tex
@@ -103,11 +103,11 @@
\MakeShortVerb{"}
- \title{User Manual for datatool bundle version~2.30}
+ \title{User Manual for datatool bundle version~2.31}
\author{Nicola L.C. Talbot\\
\url{http://www.dickimaw-books.com/}}
- \date{2018-04-16}
+ \date{2018-12-07}
\maketitle
\pagenumbering{roman}
@@ -122,7 +122,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.30}
+ read \qt{Documented Code for datatool v2.31}
\item[INSTALL] Installation instructions.
@@ -148,7 +148,7 @@ your calculations or data manipulation and save the results in a
file that can be input into your document.} For large amounts of
data that need to be sorted or filtered or joined, consider storing your data
in an~SQL database and use
-\app{datatooltk}\footnote{\url{http://www.dickimaw-books.com/apps/datatooltk/}} to import the data,
+\app{datatooltk}\footnote{\url{http://www.dickimaw-books.com/software/datatooltk/}} to import the data,
using SQL syntax to filter, sort and otherwise
manipulate the values.
\end{important}
@@ -2069,7 +2069,7 @@ 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:
+a list of elements separated by commas, for example:
\begin{verbatim}
\newcommand{\mylist}{elephant,ant,zebra,duck}
\end{verbatim}
@@ -2083,16 +2083,40 @@ Formats the comma-separated list. The unstarred version scopes
the internal operation. The starred form doesn't.
The \meta{list} may either be an explicit comma-separated list or
a control sequence whose replacement
-text is a comma-separated list. For example:
+text is a comma-separated list. If the list contains empty
+elements then \cs{DTLformatlist} will either include or
+skip the empty element according to the conditional:
+\begin{definition}[\DescribeMacro{\ifDTLlistskipempty}]
+\cs{ifDTLlistskipempty}
+\end{definition}
+For example:
\begin{verbatim}
-\newcommand{\mylist}{elephant,ant,zebra,duck}%
+\newcommand{\mylist}{elephant,,ant,zebra,duck}%
+\DTLlistskipemptytrue
+\DTLformatlist{\mylist}\par
+\DTLlistskipemptyfalse
\DTLformatlist{\mylist}
\end{verbatim}
which produces:
\begin{display}
-\newcommand{\mylist}{elephant,ant,zebra,duck}%
+\newcommand{\mylist}{elephant,,ant,zebra,duck}%
+\DTLlistskipemptytrue
+\DTLformatlist{\mylist}\par
+\DTLlistskipemptyfalse
\DTLformatlist{\mylist}
\end{display}
+The default setting is
+\begin{verbatim}
+\DTLlistskipemptytrue
+\end{verbatim}
+Note that this may cause a difference when upgrading to v2.31
+as in previous versions \cs{DTLformatlist} didn't skip empty
+elements. To restore the original behaviour use:
+\begin{verbatim}
+\DTLlistskipemptyfalse
+\end{verbatim}
+before \cs{DTLformatlist}.
+
The list formatting command inserts
\begin{definition}[\DescribeMacro\DTLlistformatsep]
\cs{DTLlistformatsep}
@@ -2166,8 +2190,53 @@ expansion on \meta{element}.)
\begin{definition}[\DescribeMacro{\DTLnumitemsinlist}]
\cs{DTLnumitemsinlist}\marg{list}\marg{cmd}
\end{definition}
-Counts the number of non-empty elements in \meta{list} and stores
+Counts the number of elements in \meta{list} and stores the
result in \meta{cmd}, which must be a control sequence.
+As from v2.31, this obeys the conditional \cs{ifDTLlistskipempty}
+to determine if empty elements should be skipped. For example:
+\begin{verbatim}
+\newcommand{\mylist}{foo,,bar,baz,wibble}
+Number of non-empty elements:
+\DTLnumitemsinlist{\mylist}{\listnum}\listnum.\par
+\DTLlistskipemptyfalse
+Number of elements (including empty):
+\DTLnumitemsinlist{\mylist}{\listnum}\listnum.
+\end{verbatim}
+This produces:
+\begin{display}
+\newcommand{\mylist}{foo,,bar,baz,wibble}
+Number of non-empty elements: \DTLnumitemsinlist{\mylist}{\listnum}\listnum.\par
+\DTLlistskipemptyfalse
+Number of elements (including empty): \DTLnumitemsinlist{\mylist}{\listnum}\listnum.
+\end{display}
+
+\begin{definition}[\DescribeMacro{\DTLlistelement}]
+\cs{DTLlistelement}\marg{list}\marg{index}
+\end{definition}
+Does the \meta{index}th element of the list (starting at 1 for
+the first element) or generates a warning if the index is out
+of range. This obeys the conditional \cs{ifDTLlistskipempty}
+to determine if empty elements should be skipped.
+For example:
+\begin{verbatim}
+\newcommand{\mylist}{foo,,bar,baz,wibble}
+3rd item in list (skip empty): \DTLlistelement{\mylist}{3}.\par
+\ifDTLlistskipempty
+3rd item in list (include empty): \DTLlistelement{\mylist}{3}.
+\end{verbatim}
+This produces:
+\begin{display}
+\newcommand{\mylist}{foo,,bar,baz,wibble}
+3rd item in list (skip empty): \DTLlistelement{\mylist}{3}.\par
+\ifDTLlistskipempty
+3rd item in list (include empty): \DTLlistelement{\mylist}{3}.
+\end{display}
+
+\begin{definition}[\DescribeMacro{\DTLfetchlistelement}]
+\cs{DTLfetchlistelement}\marg{list}\marg{index}\marg{cs}
+\end{definition}
+Like \cs{DTLlistelement} but it stores the \meta{index}th
+element in the command given by \meta{cs}.
\begin{definition}[\DescribeMacro\dtlsortlist]
\cs{dtlsortlist}\marg{list cs}\marg{criteria cs}
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 669196e6ad4..5bde2cc5eb3 100644
--- a/Master/texmf-dist/doc/latex/datatool/samples/sample-autokeys.pdf
+++ b/Master/texmf-dist/doc/latex/datatool/samples/sample-autokeys.pdf
Binary files 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 9ddc840d062..9cdf92def92 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-datatooltk.pdf b/Master/texmf-dist/doc/latex/datatool/samples/sample-datatooltk.pdf
index f8bd379e3d1..9c63274acfd 100644
--- a/Master/texmf-dist/doc/latex/datatool/samples/sample-datatooltk.pdf
+++ b/Master/texmf-dist/doc/latex/datatool/samples/sample-datatooltk.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 4fc9f9a5443..cd16bc3eac1 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-europecv-bib.pdf b/Master/texmf-dist/doc/latex/datatool/samples/sample-europecv-bib.pdf
index 6030f223fad..38abdb70441 100644
--- a/Master/texmf-dist/doc/latex/datatool/samples/sample-europecv-bib.pdf
+++ b/Master/texmf-dist/doc/latex/datatool/samples/sample-europecv-bib.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 858eaf34a46..66217482114 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 44be4994a97..59129431dd0 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 f6e1660ee35..16a363c58ba 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 40bc857d604..3e9fa499211 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 ae31c92eb77..0bce7fb05c1 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-sort.pdf b/Master/texmf-dist/doc/latex/datatool/samples/sample-sort.pdf
index e3e31bb5152..18eb0c79b4d 100644
--- a/Master/texmf-dist/doc/latex/datatool/samples/sample-sort.pdf
+++ b/Master/texmf-dist/doc/latex/datatool/samples/sample-sort.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 a5b45bb8c29..9b85095fb12 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 4a7cce8b685..f22fea8cc6c 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