From 23c31c37f42516ec286c308a8b7aabe4af68da61 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 26 Sep 2012 22:30:53 +0000 Subject: datatool (26sep12) git-svn-id: svn://tug.org/texlive/trunk@27818 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/datatool/databar.sty | 2 +- Master/texmf-dist/tex/latex/datatool/databib.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 | 2 +- .../texmf-dist/tex/latex/datatool/datatool-fp.sty | 2 +- .../tex/latex/datatool/datatool-pgfmath.sty | 2 +- Master/texmf-dist/tex/latex/datatool/datatool.sty | 100 +++++++++++++++++++-- Master/texmf-dist/tex/latex/datatool/person.sty | 2 +- 9 files changed, 102 insertions(+), 14 deletions(-) (limited to 'Master/texmf-dist/tex/latex/datatool') diff --git a/Master/texmf-dist/tex/latex/datatool/databar.sty b/Master/texmf-dist/tex/latex/datatool/databar.sty index 513e39c512e..972aa20eceb 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}[2012/07/18 v2.10 (NLCT)] +\ProvidesPackage{databar}[2012/09/25 v2.11 (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 1229b6dcfc7..c5c7ada4dfc 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}[2012/07/18 v2.10 (NLCT)] +\ProvidesPackage{databib}[2012/09/25 v2.11 (NLCT)] \RequirePackage{datatool} \newcommand*{\dtlbib@style}{plain} \define@choicekey{databib.sty}{style}{plain,abbrv,alpha}{% diff --git a/Master/texmf-dist/tex/latex/datatool/datapie.sty b/Master/texmf-dist/tex/latex/datatool/datapie.sty index f464e584153..21da0dc72a1 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}[2012/07/18 v2.10 (NLCT)] +\ProvidesPackage{datapie}[2012/09/25 v2.11 (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 29bc2632de6..2131f0a62d5 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}[2012/07/18 v2.10 (NLCT)] +\ProvidesPackage{dataplot}[2012/09/25 v2.11 (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 90e7a0c545a..005b6acd55a 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}[2012/07/18 v2.10 (NLCT)] +\ProvidesPackage{datatool-base}[2012/09/25 v2.11 (NLCT)] \RequirePackage{etoolbox} \RequirePackage{amsmath} \RequirePackage{xkeyval} diff --git a/Master/texmf-dist/tex/latex/datatool/datatool-fp.sty b/Master/texmf-dist/tex/latex/datatool/datatool-fp.sty index 135d81f2c5b..de6bf14aa2c 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}[2012/07/18 v2.10 (NLCT)] +\ProvidesPackage{datatool-fp}[2012/09/25 v2.11 (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 4da81dbc76f..b6a593d36eb 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}[2012/07/18 v2.10 (NLCT)] +\ProvidesPackage{datatool-pgfmath}[2012/09/25 v2.11 (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 103f7daa59a..b8d1237baf7 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}[2012/07/18 v2.10 (NLCT)] +\ProvidesPackage{datatool}[2012/09/25 v2.11 (NLCT)] \RequirePackage{xkeyval} \RequirePackage{ifthen} \RequirePackage{xfor} @@ -363,6 +363,18 @@ \newtoks\@dtl@before \newtoks\@dtl@after \newtoks\@dtl@colhead +\newcommand*{\DTLaddcolumn}{% + \@ifstar\@sDTLaddcolumn\@DTLaddcolumn +} +\newcommand{\@DTLaddcolumn}[2]{% + \DTLifdbexists{#1}% + {\@dtl@updatekeys{#1}{#2}{}}% + {\PackageError{datatool}{Can't add new column to database `#1': + database doesn't exist}{}}% +} +\newcommand{\s@DTLaddcolumn}[2]{% + \@dtl@updatekeys{#1}{#2}{}% +} \newcommand*{\@dtl@updatekeys}[3]{% \@sDTLifhaskey{#1}{#2}% {% @@ -372,7 +384,7 @@ {\noexpand\@dtl@key}{\noexpand\@dtl@type}% {\noexpand\@dtl@colhead}{\noexpand\@dtl@before}% {\noexpand\@dtl@after}{\the\csname dtlkeys@#1\endcsname}% - {\number\dtlcolumnnum}} + {\number\dtlcolumnnum}}% \@dtl@dogetprops \ifstrempty{#3}% {% @@ -662,6 +674,7 @@ \newtoks\dtlcurrentrow \newtoks\dtlbeforerow \newtoks\dtlafterrow + \newcommand*{\dtlgetrow}[2]{% \dtlrownum=#2\relax \edef\dtldbname{#1}% @@ -669,6 +682,19 @@ \edef\@dtl@dogetrow{\noexpand\@dtlgetrow{\the\toks@}{\number#2}}% \@dtl@dogetrow } +\newcommand*{\dtlgetrowforvalue}[3]{% + \dtlgetrowindex{\dtl@rowidx}{#1}{#2}{#3}% + \ifx\dtl@rowidx\dtlnovalue + \PackageError{datatool}{No row found in database `#1' for + column `\number#2' matching `#3'}{}% + \else + \dtlrownum=\dtl@rowidx\relax + \edef\dtldbname{#1}% + \expandafter\toks@\expandafter=\csname dtldb@#1\endcsname + \edef\@dtl@dogetrow{\noexpand\@dtlgetrow{\the\toks@}{\dtl@rowidx}}% + \@dtl@dogetrow + \fi +} \newcommand*{\@dtlgetrow}[2]{% \def\@dtl@getrow##1% before stuff \db@row@elt@w% start of the row @@ -811,6 +837,39 @@ there is already an entry for key `#1' in this row}{}% \fi } +\newcommand*{\dtlupdateentryincurrentrow}[2]{% + \@dtl@updatekeys{\dtldbname}{#1}{#2}% + \expandafter\dtlcolumnnum\expandafter + =\dtlcolumnindex{\dtldbname}{#1}\relax + \edef\dtl@dogetentry{\noexpand\dtlgetentryfromcurrentrow + {\noexpand\dtl@entry}{\number\dtlcolumnnum}% + }% + \dtl@dogetentry + \ifx\dtl@entry\dtlnovalue + \protected@edef\@dtl@tmp{#2}% + \expandafter\@dtl@toks\expandafter{\@dtl@tmp}% + \toks@gput@right@cx{dtlcurrentrow}% + {% + \noexpand\db@col@id@w + \number\dtlcolumnnum + \noexpand\db@col@id@end@ + \noexpand\db@col@elt@w + \the\@dtl@toks + \noexpand\db@col@elt@end@ + \noexpand\db@col@id@w + \number\dtlcolumnnum + \noexpand\db@col@id@end@ + }% + \dtl@message{Appended #1\space -> #2\space to database + `\dtldbname'}% + \else + \toks@{#2}% + \edef\do@dtlreplaceincurrentrow{% + \noexpand\dtlreplaceentryincurrentrow{\the\toks@}{\number\dtlcolumnnum}% + }% + \do@dtlreplaceincurrentrow + \fi +} \newcommand*{\DTLgetvalue}[4]{% \edef\dtl@dogetvalue{\noexpand\dtl@getvalue{\noexpand#1}{#2}% {\number#3}{\number#4}}% @@ -831,7 +890,7 @@ \db@col@elt@w \@dtlnovalue\db@col@elt@end@% undefined value \q@nil \ifx#1\dtlnovalue - \PackageError{datatool}{There is no element at (row=#3, + \PackageError{datatool}{There is no element at (row=#3,\space column=#4) in database `#2'}{}% \fi } @@ -850,10 +909,38 @@ \db@row@id@w \@dtlnovalue\db@row@id@end@% undefined row id \q@nil \ifx#1\dtlnovalue - \PackageError{datatool}{There is no element `#4' in - database `#3'}{}% + \PackageError{datatool}{There is no element `#4' in database `#3'}{}% + \fi +} +\newcommand*{\DTLgetrowindex}[4]{% + \toks@{#4}% + \edef\dtl@dogetrowindex{\noexpand\@dtlgetrowindex{\noexpand#1}{#2}{\number#3}{\the\toks@}}% + \dtl@dogetrowindex + \ifx#1\dtlnovalue + \PackageError{datatool}{There is no element `#4' for column + \number#3\space in database `#2'}{}% \fi } +\newcommand*{\dtlgetrowindex}[4]{% + \toks@{#4}% + \edef\dtl@dogetrowindex{\noexpand\@dtlgetrowindex{\noexpand#1}{#2}{\number#3}{\the\toks@}}% + \dtl@dogetrowindex +} +\newcommand*{\@dtlgetrowindex}[4]{% + \def\@dtl@getrowindex##1% stuff before value + \db@col@elt@w #4\db@col@elt@end@% value + \db@col@id@w #3\db@col@id@end@% column id + ##2% stuff after this column + \db@row@id@w ##3\db@row@id@end@% row id + ##4% stuff after row + \q@nil{\def#1{##3}}% + \toks@=\csname dtldb@#2\endcsname + \expandafter\@dtl@getrowindex\the\toks@% contents of data base + \db@col@elt@w #4\db@col@elt@end@% value + \db@col@id@w #3\db@col@id@end@% column id + \db@row@id@w \@dtlnovalue\db@row@id@end@% undefined row id + \q@nil +} \long\def\@dtlforeachrow(#1,#2)\in#3\do#4{% \edef\dtl@tmp{\expandafter\the\csname dtldb@#3\endcsname}% @@ -1620,6 +1707,7 @@ \newcommand*{\dtldisplaystarttab}{} \newcommand*{\dtldisplayendtab}{} \newcommand*{\dtldisplayafterhead}{} +\newcommand*{\dtldisplayvalign}{c} \newcommand*{\dtldisplaystartrow}{} \newcommand*{\DTLdisplaydb}[2][]{% @@ -1640,7 +1728,7 @@ \dtladdalign\@dtl@tabargs\@dtl@type\@dtl@idx\@dtl@maxcols } }% - \edef\@dtl@dobegintab{\noexpand\begin{tabular}{\@dtl@tabargs}}% + \edef\@dtl@dobegintab{\noexpand\begin{tabular}[\dtldisplayvalign]{\@dtl@tabargs}}% \@dtl@dobegintab \dtldisplaystarttab \@dtl@resetdoamp diff --git a/Master/texmf-dist/tex/latex/datatool/person.sty b/Master/texmf-dist/tex/latex/datatool/person.sty index 8d77dbcacd0..84d18ad96da 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}[2012/07/18 v2.10 (NLCT)] +\ProvidesPackage{person}[2012/09/25 v2.11 (NLCT)] \RequirePackage{ifthen} \RequirePackage{datatool} \newcounter{people} -- cgit v1.2.3