From 38ec9aef43ec2ac43feceade32200c22d6e1c436 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 9 Mar 2014 21:36:55 +0000 Subject: datatool git-svn-id: svn://tug.org/texlive/trunk@33136 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/datatool/databib.sty | 54 +++++++++++++++++++++-- Master/texmf-dist/tex/latex/datatool/datagidx.sty | 2 +- Master/texmf-dist/tex/latex/datatool/datatool.sty | 27 +++++++++--- 3 files changed, 71 insertions(+), 12 deletions(-) (limited to 'Master/texmf-dist/tex') 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 -- cgit v1.2.3