summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/latex/datatool/CHANGES22
-rw-r--r--Master/texmf-dist/doc/latex/datatool/README4
-rw-r--r--Master/texmf-dist/doc/latex/datatool/datatool-code.pdfbin913625 -> 918044 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/datatool-user.pdfbin601441 -> 603313 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/datatool-user.tex47
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-barchart.pdfbin35074 -> 35074 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-datatooltk.pdfbin22860 -> 22860 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-dict.pdfbin122594 -> 122594 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-europecv-bib.pdfbin0 -> 89562 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-europecv-bib.tex19
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-gidx.pdfbin180122 -> 179875 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-glossary.pdfbin104729 -> 104484 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-index.pdfbin128783 -> 128783 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-mail-merge.pdfbin21885 -> 21619 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-piechart.pdfbin33964 -> 33964 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-sort.pdfbin61053 -> 61053 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-student-scores.pdfbin34615 -> 34615 bytes
-rw-r--r--Master/texmf-dist/doc/latex/datatool/samples/sample-two-per-row.pdfbin31752 -> 31752 bytes
-rw-r--r--Master/texmf-dist/source/latex/datatool/datatool.dtx204
-rw-r--r--Master/texmf-dist/source/latex/datatool/datatool.ins2
-rw-r--r--Master/texmf-dist/tex/latex/datatool/databib.sty54
-rw-r--r--Master/texmf-dist/tex/latex/datatool/datagidx.sty2
-rw-r--r--Master/texmf-dist/tex/latex/datatool/datatool.sty27
23 files changed, 328 insertions, 53 deletions
diff --git a/Master/texmf-dist/doc/latex/datatool/CHANGES b/Master/texmf-dist/doc/latex/datatool/CHANGES
index ef25ed86ad0..ff065adeb16 100644
--- a/Master/texmf-dist/doc/latex/datatool/CHANGES
+++ b/Master/texmf-dist/doc/latex/datatool/CHANGES
@@ -1,3 +1,25 @@
+v2.21:
+
+ * datatool:
+
+ - Fixed misplaced locations of \dtldisplaystarttab and
+ \dtldisplayafterhead within \DTLdisplaylongdb
+
+ - Fixed bug in \dtl@gathervalues that ignored #3
+
+ * databib:
+
+ - Added \gDTLforeachbibentry
+
+ - Fixed bug in \DTLforeachbibentry*
+
+ - fixed typo in documentation
+ \DTLforeachbib -> \DTLforeachbibentry
+
+ * datagidx:
+
+ - Fixed bug in \datagidx@parse@location
+
v2.20:
* datatool:
diff --git a/Master/texmf-dist/doc/latex/datatool/README b/Master/texmf-dist/doc/latex/datatool/README
index 283cdcb7a0f..df1c3a5b00b 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.20
+LaTeX Bundle : datatool v2.21
-Last Modified : 2014-02-03
+Last Modified : 2014-03-08
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 9d28367745b..7c25b37d2b8 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 9833f3266f6..65f3f640479 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 db2f306c297..25ab4e4d173 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.20}
+ \title{User Manual for datatool bundle version~2.21}
\author{Nicola L.C. Talbot\\
\url{http://www.dickimaw-books.com/}}
- \date{2014-02-03}
+ \date{2014-03-08}
\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.20}
+ read \qt{Documented Code for datatool v2.21}
\item[INSTALL] Installation instructions.
@@ -2723,18 +2723,25 @@ Specifies how to separate rows. Defaults to just
\end{definition}
This is a hook to add something at the beginning of the
\env{tabular} environment. This defaults to nothing.
+In the case of \cs{DTLdisplaylongdb}, this hook is done before the
+header row on each page of the \env{longtable}.
\begin{definition}[\DescribeMacro{\dtldisplayendtab}]%
\cs{dtldisplayendtab}
\end{definition}
This is a hook to add something at the end of the
\env{tabular} environment. This defaults to nothing.
+In the case of \cs{DTLdisplaylongdb}, this hook is only done on the
+\emph{last} page of the \env{longtable}. You have to use the
+\texttt{foot} option to specify some code to do at the end of each page.
\begin{definition}[\DescribeMacro{\dtldisplayafterhead}]%
\cs{dtldisplayafterhead}
\end{definition}
This is a hook to add something after the header row, before
the first row of data. This defaults to nothing.
+In the case of \cs{DTLdisplaylongdb}, this hook is done after the
+header row on each page of the \env{longtable}.
\begin{definition}[\DescribeMacro{\dtldisplaystartrow}]%
\cs{dtldisplaystartrow}
@@ -5596,7 +5603,9 @@ The \sty{datagidx} package is provided as an alternative to the
indexing application, such as \app{xindy} or
\app{makeindex}, it uses the database mechanism of the
\sty{datatool} package. \emph{\sty{datagidx} and \sty{glossaries}
-are not compatible.}
+are not compatible.} (Note: \sty{glossaries} version 4.04 now has an
+option that uses \TeX\ to sort the glossaries instead of using
+\app{makeindex} or \app{xindy}.)
First a repeat of the caveat at the start of this manual:
\begin{important}
@@ -9019,7 +9028,7 @@ For example, you may want to sort the bibliography in
reverse chronological order. Once you have sorted the bibliography,
you can display it using \cs{DTLbibliography}, described in
\autoref{sec:thebib}, or you can iterate through the database
-using \cs{DTLforeachbib}, described in \autoref{sec:foreachbib}.
+using \cs{DTLforeachbibentry}, described in \autoref{sec:foreachbib}.
Note that the \sty{databib}
package is not automatically loaded by \sty{datatool}, so if
@@ -9759,16 +9768,28 @@ not meet your needs. For example, you may be required
to list journal papers and conference proceedings in separate
sections. In which case, you may find it easier to iterate through
the bibliography using:
-\begin{definition}[\DescribeMacro{\DTLforeachbib}]%
-\cs{DTLforeachbib}\oarg{condition}\marg{db name}\marg{text}
+\begin{definition}[\DescribeMacro{\DTLforeachbibentry}]%
+\cs{DTLforeachbibentry}\oarg{condition}\marg{db name}\marg{text}
\end{definition}
-\begin{definition}[\DescribeMacro{\DTLforeachbib*}]%
-\cs{DTLforeachbib*}\oarg{condition}\marg{db name}\marg{text}
+\begin{definition}[\DescribeMacro{\DTLforeachbibentry*}]%
+\cs{DTLforeachbibentry*}\oarg{condition}\marg{db name}\marg{text}
\end{definition}
This iterates through the \sty{databib} database called
\meta{db name} and does \meta{text} if \meta{condition} is met.
As with \cs{DTLforeach}, the starred version is read-only.
+\cs{DTLforeachbibentry} only makes local assignments, which means that it's unsuitable to display the references
+in a~\env{tabular}-like environment (for example, the
+\env{europecv} environment provided by the \cls{europecv} class). It's also a~short command, so
+\meta{text} can't contain any paragraph breaks. Instead you can use
+the analogous commands:
+\begin{definition}[\DescribeMacro{\gDTLforeachbibentry}]%
+\cs{gDTLforeachbibentry}\oarg{condition}\marg{db name}\marg{text}
+\end{definition}
+\begin{definition}[\DescribeMacro{\gDTLforeachbibentry*}]%
+\cs{gDTLforeachbibentry*}\oarg{condition}\marg{db name}\marg{text}
+\end{definition}
+
For each row of the database, the following commands are set:
\begin{itemize}
\item \cs{DBIBcitekey} \DescribeMacro{\DBIBcitekey}This is the
@@ -9821,7 +9842,11 @@ This formats the bibliography entry for the current row. It
checks for the existence of the command
\cs{DTLformat}\meta{entry type}, where \meta{entry type}
is given by \cs{DBIBentrytype}. These commands are defined
-by the bibliography style.
+by the bibliography style. There is also a~version for use with
+\cs{gDTLforeachbibentry}:
+\begin{definition}[\DescribeMacro{\gDTLformatbibentry}]%
+\cs{gDTLformatbibentry}
+\end{definition}
\begin{definition}[\DescribeMacro{\DTLcomputewidestbibentry}]%
\cs{DTLcomputewidestbibentry}\marg{conditions}\marg{db
@@ -9835,7 +9860,7 @@ argument of the \env{thebibliography} environment.
The counter \desctr{DTLbibrow} keeps track of the current
bibliography entry. This is reset at the start of each
-\cs{DTLforeachbib} and is incremented if \meta{conditions}
+\cs{DTLforeachbibentry} and is incremented if \meta{conditions}
is met.
Within the optional argument \meta{condition}, you may use any of the
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 b150c9f9fef..32105fbb3df 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 0758d182ba8..4a1f512a56b 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 160f341c484..73c3569c736 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
new file mode 100644
index 00000000000..63ad2749252
--- /dev/null
+++ 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-europecv-bib.tex b/Master/texmf-dist/doc/latex/datatool/samples/sample-europecv-bib.tex
new file mode 100644
index 00000000000..cecc23010df
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/datatool/samples/sample-europecv-bib.tex
@@ -0,0 +1,19 @@
+\documentclass[narrow,helvetica,a4paper]{europecv}
+
+\usepackage[T1]{fontenc}
+\usepackage{graphicx}
+\usepackage{databib}
+
+\begin{document}
+\DTLloadbbl{myrefs}{xampl.bib}
+\nocite{*}
+
+\begin{europecv}
+ \ecvsection{Publications}
+
+ \gDTLforeachbibentry*{myrefs}{%
+ \ecvitem{}{\gDTLformatbibentry}%
+}
+\end{europecv}
+
+\end{document}
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 74bef9cc213..63df880b647 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 1efa20caaa6..d9fc71b212b 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 1fd01ce35b8..47f289c4994 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 18c7c59c940..3f5eb9cde7f 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 92223a3d67d..0d57d1b5653 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 06ddbdc1fe2..9491afb760f 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 0ac59407a3e..536af516690 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 0832275c680..85a9334a3b7 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 9e9ddec7ae3..7ab993f3c21 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 2014/2/3 15:28
+% Created on 2014/3/8 20:11
%\fi
%\iffalse
%<*package>
@@ -66,7 +66,7 @@ datatool.dtx
\doxitem{Counter}{counter}{counters}
\doxitem{Option}{option}{package options}
-\CheckSum{22983}
+\CheckSum{23069}
\RecordChanges
\PageIndex
@@ -79,11 +79,11 @@ datatool.dtx
%\fi
%\MakeShortVerb{"}
%
-%\title{Documented Code for datatool v2.20}
+%\title{Documented Code for datatool v2.21}
%\author{Nicola L. C. Talbot\\
%\url{http://www.dickimaw-books.com/}}
%
-%\date{2014-02-03}
+%\date{2014-03-08}
%\maketitle
%
%\pagenumbering{roman}
@@ -481,7 +481,7 @@ datatool.dtx
% Performs an insertion sort on \meta{list}, where \meta{criteria cmd}
% is a macro which takes two arguments \meta{a} and \meta{b}.
% \meta{criteria cmd} must set the count register \cs{dtl@sortresult}
-% to either -1 (\meta{a} less than \meta{b}), 0 (\meta{a} is
+% to either $-1$ (\meta{a} less than \meta{b}), 0 (\meta{a} is
% equal to \meta{b}) or 1 (\meta{a} is greater than \meta{b}.)
% \begin{macrocode}
\newcommand{\dtl@sortlist}[2]{%
@@ -5708,7 +5708,7 @@ datatool.dtx
%\section{Package Declaration}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{datatool}[2014/02/03 v2.20 (NLCT)]
+\ProvidesPackage{datatool}[2014/03/08 v2.21 (NLCT)]
% \end{macrocode}
% Load required packages:
% \begin{macrocode}
@@ -7184,7 +7184,7 @@ datatool.dtx
%\end{definition}
% Applies the assignment list to the first row that has the given
% value in the given column. (Value must be expanded.)
-%\changes{2.20}{2014-02-14}{new}
+%\changes{2.20}{2014-02-03}{new}
% \begin{macrocode}
\newcommand*{\DTLassignfirstmatch}[4]{%
\dtl@assignfirstmatch{#3}{#1}{#2}{#4}%
@@ -7198,7 +7198,7 @@ datatool.dtx
% Applies the assignment list to the first row that has the given
% value in the given column. (Performs \emph{one level} expansion on
% \meta{value}.)
-%\changes{2.20}{2014-02-14}{new}
+%\changes{2.20}{2014-02-03}{new}
% \begin{macrocode}
\newcommand*{\xDTLassignfirstmatch}[4]{%
\protected@edef\@dtl@asg@value{\expandonce{#3}}%
@@ -7246,7 +7246,7 @@ datatool.dtx
% The current row must be stored in \cs{dtlcurrentrow}.
%\changes{2.0}{2009 February 27}{updated to use new database
% structure}
-%\changes{2.20}{2014-02-14}{Added check for empty argument}%
+%\changes{2.20}{2014-02-03}{Added check for empty argument}%
% \begin{macrocode}
\newcommand*{\@dtl@assign}[2]{%
\ifstrempty{#1}{}%
@@ -7433,7 +7433,7 @@ datatool.dtx
%\begin{definition}
%\cs{DTLifnullorempty}\marg{command}\marg{true part}\marg{false part}
%\end{definition}
-%\changes{2.20}{2014-02-14}{new}
+%\changes{2.20}{2014-02-03}{new}
% \begin{macrocode}
\newcommand*{\DTLifnullorempty}[3]{%
\ifdefempty{#1}{#2}{\DTLifnull{#1}{#2}{#3}}%
@@ -7534,7 +7534,10 @@ datatool.dtx
\newcommand{\dtl@gathervalues}[3][key]{%
\dtlforeachkey(\@dtl@key,\@dtl@col,\@dtl@type,\@dtl@head)\in{#2}\do
{%
- \dtlgetentryfromrow{\@dtl@tmp}{\@dtl@col}{\dtlcurrentrow}%
+% \end{macrocode}
+%\changes{2.21}{2014-03-08}{fixed bug that ignore row tok argument}
+% \begin{macrocode}
+ \dtlgetentryfromrow{\@dtl@tmp}{\@dtl@col}{#3}%
\ifx\@dtl@tmp\dtlnovalue
\@dtl@setnull{\@dtl@tmp}{\@dtl@key}%
\fi
@@ -7544,6 +7547,27 @@ datatool.dtx
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\dtl@g@gathervalues}
+%\begin{definition}
+%\cs{dtl@g@gathervalues}\oarg{label}\marg{db name}\marg{row toks}
+%\end{definition}
+% As above but makes global assignments
+%\changes{2.21}{2014-03-08}{new}
+% \begin{macrocode}
+\newcommand{\dtl@g@gathervalues}[3][key]{%
+ \dtlforeachkey(\@dtl@key,\@dtl@col,\@dtl@type,\@dtl@head)\in{#2}\do
+ {%
+ \dtlgetentryfromrow{\@dtl@tmp}{\@dtl@col}{#3}%
+ \ifx\@dtl@tmp\dtlnovalue
+ \@dtl@setnull{\@dtl@tmp}{\@dtl@key}%
+ \fi
+ \expandafter\global
+ \expandafter\let\csname @dtl@#1@\@dtl@key\endcsname\@dtl@tmp
+ }%
+}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{macro}{\dtlcurrentrow}
% Define token register to store current row.
% \begin{macrocode}
@@ -10159,10 +10183,6 @@ datatool.dtx
\edef\@dtl@dobegintab{\noexpand\begin{longtable}{\@dtl@tabargs}}%
\@dtl@dobegintab
% \end{macrocode}
-% Do start hook.
-% \begin{macrocode}
- \dtldisplaystarttab
-% \end{macrocode}
% Is a foot required?
% \begin{macrocode}
\ifx\@dtl@foot\@nnil
@@ -10184,6 +10204,7 @@ datatool.dtx
% No caption required, just do header row.
% \begin{macrocode}
\@dtl@resetdoamp
+ \dtldisplaystarttab
\dtlforeachkey(\@dtl@key,\@dtl@idx,\@dtl@type,\@dtl@head)%
\in{#2}\do
{%
@@ -10208,7 +10229,12 @@ datatool.dtx
\else
\label{\@dtl@label}%
\fi
- \\%
+ \dtldisplaycr
+% \end{macrocode}
+%\changes{2.21}{2014-03-08}{fixed location of \cs{dtldisplaystarttab}}
+% Do start hook.
+% \begin{macrocode}
+ \dtldisplaystarttab
% \end{macrocode}
% Do header row.
% \begin{macrocode}
@@ -10223,7 +10249,10 @@ datatool.dtx
}%
}%
\@dtl@resetdoamp
- \@dtl@resetdostartrow
+% \end{macrocode}
+%\changes{2.21}{2014-03-08}{added missing \cs{dtldisplayafterhead}}
+% \begin{macrocode}
+ \dtldisplaycr\dtldisplayafterhead
\endfirsthead
% \end{macrocode}
% Is a continuation caption required?
@@ -10233,7 +10262,11 @@ datatool.dtx
\else
\caption{\@dtl@contcap}%
\fi
- \\%
+% \end{macrocode}
+%\changes{2.21}{2014-03-08}{fixed location of \cs{dtldisplaystarttab}}
+% Do start hook.
+% \begin{macrocode}
+ \dtldisplaycr\dtldisplaystarttab
% \end{macrocode}
% Do header row.
% \begin{macrocode}
@@ -10249,7 +10282,11 @@ datatool.dtx
}%
\@dtl@resetdoamp
\@dtl@resetdostartrow
- \endhead\dtldisplayafterhead
+% \end{macrocode}
+%\changes{2.21}{2014-03-08}{moved misplaced \cs{dtldisplayafterhead}}
+% \begin{macrocode}
+ \dtldisplaycr\dtldisplayafterhead
+ \endhead
\fi
% \end{macrocode}
% Iterate through each row of the database
@@ -12484,7 +12521,7 @@ datatool.dtx
% Load a \texttt{.dbtex} file and assign the database name to the
% control sequence \meta{cs}. Checks the file name exists and the
% control sequence doesn't exist.
-%\changes{2.20}{2014-02-14}{new}
+%\changes{2.20}{2014-02-03}{new}
% \begin{macrocode}
\newcommand*{\DTLloaddbtex}[2]{%
\IfFileExists{#2}%
@@ -16158,8 +16195,10 @@ datatool.dtx
% \end{macrocode}
% If the format is different, let the non-empty format over-ride
% the empty format.
+%\changes{2.21}{2014-03-08}{replaced \cs{ifstrequal} with
+%\cs{ifdefequal}}
% \begin{macrocode}
- \ifstrequal{\datagidx@prev@format}{\datagidx@current@format}%
+ \ifdefequal{\datagidx@prev@format}{\datagidx@current@format}%
{%
}%
{%
@@ -19135,7 +19174,7 @@ datatool.dtx
%\section{Package Declaration}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{databib}[2013/06/28 v2.14 (NLCT)]
+\ProvidesPackage{databib}[2014/03/08 v2.21 (NLCT)]
% \end{macrocode}
% Load required packages:
% \begin{macrocode}
@@ -19312,11 +19351,46 @@ datatool.dtx
% \end{macrocode}
% Initialise
% \begin{macrocode}
- \DTLstartsentencefalse\DTLmidsentencefalse\DTLperiodfalse
+ \DTLstartsentencefalse\DTLmidsentencefalse\DTLperiodfalse
+% \end{macrocode}
+% Format this entry
+% \begin{macrocode}
+ \csname DTLformat\DBIBentrytype\endcsname
+ }%
+}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\gDTLformatbibentry}
+%\begin{definition}
+%\cs{gDTLformatbibentry}
+%\end{definition}
+%\changes{2.21}{2014-03-08}{new}
+% Global version.
+% \begin{macrocode}
+\newcommand*{\gDTLformatbibentry}{%
+% \end{macrocode}
+% Check format for this type is defined.
+% \begin{macrocode}
+ \@ifundefined{DTLformat\DBIBentrytype}%
+ {%
+ \PackageError{databib}{Don't know how to format bibliography
+ entries of type `\DBIBentrytype'}{}%
+ }%
+ {%
+% \end{macrocode}
+% Print information to terminal and log file if in verbose mode.
+% \begin{macrocode}
+ \dtl@message{[\DBIBcitekey]}%
+% \end{macrocode}
+% Initialise
+% \begin{macrocode}
+ \global\DTLstartsentencefalse
+ \global\DTLmidsentencefalse
+ \global\DTLperiodfalse
% \end{macrocode}
% Format this entry
% \begin{macrocode}
- \csname DTLformat\DBIBentrytype\endcsname
+ \csname DTLformat\DBIBentrytype\endcsname
}%
}
% \end{macrocode}
@@ -19370,9 +19444,10 @@ datatool.dtx
% Iterates through the database called \meta{db name} and does
% \meta{text} if \meta{condition} is met. As with
% \cs{DTLforeach}, the starred version is read only.
+%\changes{2.21}{2014-03-08}{fixed bug in starred version}
% \begin{macrocode}
\newcommand*{\DTLforeachbibentry}{%
-\@ifstar\@DTLforeachbibentry\@DTLforeachbibentry}
+\@ifstar\@sDTLforeachbibentry\@DTLforeachbibentry}
% \end{macrocode}
%\end{macro}
%\begin{macro}{\@DTLforeachbibentry}
@@ -19422,6 +19497,81 @@ datatool.dtx
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{\gDTLforeachbibentry}
+%\begin{definition}
+%\cs{gDTLforeachbibentry}\oarg{condition}\marg{db name}\marg{text}
+%\end{definition}
+%\begin{definition}
+%\cs{gDTLforeachbibentry*}\oarg{condition}\marg{db name}\marg{text}
+%\end{definition}
+% Global version.
+%\changes{2.21}{2014-03-08}{new}
+% \begin{macrocode}
+\newcommand{\gDTLforeachbibentry}{%
+\@ifstar\@sgDTLforeachbibentry\@gDTLforeachbibentry}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\@gDTLforeachbibentry}
+%\changes{2.21}{2014-03-08}{new}
+% Unstarred version
+% \begin{macrocode}
+\newcommand*{\@gDTLforeachbibentry}[3][\boolean{true}]{%
+% \end{macrocode}
+% Store database name.
+% \begin{macrocode}
+ \xdef\DBIBname{#2}%
+% \end{macrocode}
+% Reset row counter.
+% \begin{macrocode}
+ \global\c@DTLbibrow = 0\relax
+% \end{macrocode}
+% Iterate through the database.
+% \begin{macrocode}
+ \@DTLforeach{#2}{\DBIBcitekey=CiteKey,\DBIBentrytype=EntryType}%
+ {%
+ \dtl@g@gathervalues{#2}{\dtlcurrentrow}%
+ \ifthenelse{#1}%
+ {%
+ \refstepcounter{DTLbibrow}%
+ \global\c@DTLbibrow=\c@DTLbibrow
+ #3%
+ }%
+ {}%
+ }%
+}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{\@sgDTLforeachbibentry}
+%\changes{2.21}{2014-03-08}{new}
+% Starred version
+% \begin{macrocode}
+\newcommand*{\@sgDTLforeachbibentry}[3][\boolean{true}]{%
+% \end{macrocode}
+% Store database name.
+% \begin{macrocode}
+ \xdef\DBIBname{#2}%
+% \end{macrocode}
+% Reset row counter.
+% \begin{macrocode}
+ \global\c@DTLbibrow = 0\relax
+% \end{macrocode}
+% Iterate through the database (read only).
+% \begin{macrocode}
+ \@sDTLforeach{#2}{\DBIBcitekey=CiteKey,\DBIBentrytype=EntryType}%
+ {%
+ \dtl@g@gathervalues{#2}{\dtlcurrentrow}%
+ \ifthenelse{#1}%
+ {%
+ \refstepcounter{DTLbibrow}%
+ \global\c@DTLbibrow=\c@DTLbibrow
+ #3%
+ }%
+ {}%
+ }%
+}
+% \end{macrocode}
+%\end{macro}
+%
%\begin{counter}{DTLbibrow}
%The counter \ctrfmt{DTLbibrow} keeps track of the current
%row in the body of \cs{DTLforeachbibentry}. (You can't rely on
@@ -20141,9 +20291,9 @@ datatool.dtx
%
%\subsection{ifthen conditionals}
% The conditionals defined in this section may be used in the
-% optional argument of \cs{DTLforeachbib}. They may also be
+% optional argument of \cs{DTLforeachbibentry}. They may also be
% used in the first argument of \cs{ifthenelse}, but only if the
-% command occurs within the body of \cs{DTLforeachbib}.
+% command occurs within the body of \cs{DTLforeachbibentry}.
%
%\begin{macro}{\DTLbibfieldexists}
%\begin{definition}
diff --git a/Master/texmf-dist/source/latex/datatool/datatool.ins b/Master/texmf-dist/source/latex/datatool/datatool.ins
index a4eb3b78d52..9a85ef0cf8c 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 2014/2/3 15:28
+% datatool.ins generated using makedtx version 1.1 2014/3/8 20:11
\input docstrip
\preamble
diff --git a/Master/texmf-dist/tex/latex/datatool/databib.sty b/Master/texmf-dist/tex/latex/datatool/databib.sty
index 38010aaaf23..8a158804268 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}[2013/06/28 v2.14 (NLCT)]
+\ProvidesPackage{databib}[2014/03/08 v2.21 (NLCT)]
\RequirePackage{datatool}
\newcommand*{\dtlbib@style}{plain}
\define@choicekey{databib.sty}{style}{plain,abbrv,alpha}{%
@@ -85,8 +85,22 @@
}%
{%
\dtl@message{[\DBIBcitekey]}%
- \DTLstartsentencefalse\DTLmidsentencefalse\DTLperiodfalse
- \csname DTLformat\DBIBentrytype\endcsname
+ \DTLstartsentencefalse\DTLmidsentencefalse\DTLperiodfalse
+ \csname DTLformat\DBIBentrytype\endcsname
+ }%
+}
+\newcommand*{\gDTLformatbibentry}{%
+ \@ifundefined{DTLformat\DBIBentrytype}%
+ {%
+ \PackageError{databib}{Don't know how to format bibliography
+ entries of type `\DBIBentrytype'}{}%
+ }%
+ {%
+ \dtl@message{[\DBIBcitekey]}%
+ \global\DTLstartsentencefalse
+ \global\DTLmidsentencefalse
+ \global\DTLperiodfalse
+ \csname DTLformat\DBIBentrytype\endcsname
}%
}
\newcommand*{\DTLendbibitem}{}
@@ -103,7 +117,7 @@
}%
}
\newcommand*{\DTLforeachbibentry}{%
-\@ifstar\@DTLforeachbibentry\@DTLforeachbibentry}
+\@ifstar\@sDTLforeachbibentry\@DTLforeachbibentry}
\newcommand*{\@DTLforeachbibentry}[3][\boolean{true}]{%
\edef\DBIBname{#2}%
\setcounter{DTLbibrow}{0}%
@@ -122,6 +136,38 @@
\ifthenelse{#1}{\refstepcounter{DTLbibrow}#3}{}%
}%
}
+\newcommand{\gDTLforeachbibentry}{%
+\@ifstar\@sgDTLforeachbibentry\@gDTLforeachbibentry}
+\newcommand*{\@gDTLforeachbibentry}[3][\boolean{true}]{%
+ \xdef\DBIBname{#2}%
+ \global\c@DTLbibrow = 0\relax
+ \@DTLforeach{#2}{\DBIBcitekey=CiteKey,\DBIBentrytype=EntryType}%
+ {%
+ \dtl@g@gathervalues{#2}{\dtlcurrentrow}%
+ \ifthenelse{#1}%
+ {%
+ \refstepcounter{DTLbibrow}%
+ \global\c@DTLbibrow=\c@DTLbibrow
+ #3%
+ }%
+ {}%
+ }%
+}
+\newcommand*{\@sgDTLforeachbibentry}[3][\boolean{true}]{%
+ \xdef\DBIBname{#2}%
+ \global\c@DTLbibrow = 0\relax
+ \@sDTLforeach{#2}{\DBIBcitekey=CiteKey,\DBIBentrytype=EntryType}%
+ {%
+ \dtl@g@gathervalues{#2}{\dtlcurrentrow}%
+ \ifthenelse{#1}%
+ {%
+ \refstepcounter{DTLbibrow}%
+ \global\c@DTLbibrow=\c@DTLbibrow
+ #3%
+ }%
+ {}%
+ }%
+}
\newcounter{DTLbibrow}
\def\theHDTLbibrow{\theHDTLrow.bib.\arabic{DTLbibrow}}%
\newcommand*{\DTLbibfield}[1]{\csname @dtl@key@#1\endcsname}
diff --git a/Master/texmf-dist/tex/latex/datatool/datagidx.sty b/Master/texmf-dist/tex/latex/datatool/datagidx.sty
index 0f219ea40b2..159eb55f5e8 100644
--- a/Master/texmf-dist/tex/latex/datatool/datagidx.sty
+++ b/Master/texmf-dist/tex/latex/datatool/datagidx.sty
@@ -1749,7 +1749,7 @@
\datagidx@getlocation#1\relax
\ifdefequal{\datagidx@prev@locationstring}{\datagidx@current@locationstring}%
{%
- \ifstrequal{\datagidx@prev@format}{\datagidx@current@format}%
+ \ifdefequal{\datagidx@prev@format}{\datagidx@current@format}%
{%
}%
{%
diff --git a/Master/texmf-dist/tex/latex/datatool/datatool.sty b/Master/texmf-dist/tex/latex/datatool/datatool.sty
index af902a2cf02..645feeed87e 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}[2014/02/03 v2.20 (NLCT)]
+\ProvidesPackage{datatool}[2014/03/08 v2.21 (NLCT)]
\RequirePackage{xkeyval}
\RequirePackage{ifthen}
\RequirePackage{xfor}
@@ -759,13 +759,24 @@
\newcommand{\dtl@gathervalues}[3][key]{%
\dtlforeachkey(\@dtl@key,\@dtl@col,\@dtl@type,\@dtl@head)\in{#2}\do
{%
- \dtlgetentryfromrow{\@dtl@tmp}{\@dtl@col}{\dtlcurrentrow}%
+ \dtlgetentryfromrow{\@dtl@tmp}{\@dtl@col}{#3}%
\ifx\@dtl@tmp\dtlnovalue
\@dtl@setnull{\@dtl@tmp}{\@dtl@key}%
\fi
\expandafter\let\csname @dtl@#1@\@dtl@key\endcsname\@dtl@tmp
}%
}
+\newcommand{\dtl@g@gathervalues}[3][key]{%
+ \dtlforeachkey(\@dtl@key,\@dtl@col,\@dtl@type,\@dtl@head)\in{#2}\do
+ {%
+ \dtlgetentryfromrow{\@dtl@tmp}{\@dtl@col}{#3}%
+ \ifx\@dtl@tmp\dtlnovalue
+ \@dtl@setnull{\@dtl@tmp}{\@dtl@key}%
+ \fi
+ \expandafter\global
+ \expandafter\let\csname @dtl@#1@\@dtl@key\endcsname\@dtl@tmp
+ }%
+}
\newtoks\dtlcurrentrow
\newtoks\dtlbeforerow
\newtoks\dtlafterrow
@@ -1920,7 +1931,6 @@
}%
\edef\@dtl@dobegintab{\noexpand\begin{longtable}{\@dtl@tabargs}}%
\@dtl@dobegintab
- \dtldisplaystarttab
\ifx\@dtl@foot\@nnil
\else
\@dtl@foot\endfoot
@@ -1931,6 +1941,7 @@
\fi
\ifx\@dtl@cap\@nnil
\@dtl@resetdoamp
+ \dtldisplaystarttab
\dtlforeachkey(\@dtl@key,\@dtl@idx,\@dtl@type,\@dtl@head)%
\in{#2}\do
{%
@@ -1949,7 +1960,8 @@
\else
\label{\@dtl@label}%
\fi
- \\%
+ \dtldisplaycr
+ \dtldisplaystarttab
\@dtl@resetdoamp
\dtlforeachkey(\@dtl@key,\@dtl@idx,\@dtl@type,\@dtl@head)%
\in{#2}\do
@@ -1961,14 +1973,14 @@
}%
}%
\@dtl@resetdoamp
- \@dtl@resetdostartrow
+ \dtldisplaycr\dtldisplayafterhead
\endfirsthead
\ifx\@dtl@contcap\@nnil
\caption{\@dtl@cap}%
\else
\caption{\@dtl@contcap}%
\fi
- \\%
+ \dtldisplaycr\dtldisplaystarttab
\@dtl@resetdoamp
\dtlforeachkey(\@dtl@key,\@dtl@idx,\@dtl@type,\@dtl@head)%
\in{#2}\do
@@ -1981,7 +1993,8 @@
}%
\@dtl@resetdoamp
\@dtl@resetdostartrow
- \endhead\dtldisplayafterhead
+ \dtldisplaycr\dtldisplayafterhead
+ \endhead
\fi
\@sDTLforeach{#2}{}{%
\@dtl@dostartrow