v2.22: * datatool-base: - Bug fix: removed \@dtl@choptrailingzeroes from \@dtl@decimaltolocalefrac (interfering with \DTLround) * datatool: - added "autokeys" option to \DTLloaddb and \DTLloadrawdb * databib: - new commands: \DTLbibfieldlet, \DTLformatthisbibentry, \DTLpcite, \DTLcustombibitem, \DTLformatbooktitle 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: - added \DTLloaddbtex - added \DTLifnullorempty - added \DTLassignfirstmatch and \xDTLassignfirstmatch - Fixed bug in \DTLforeach* (\@dtl@dbname undefined) v2.19: * datatool: - changed \\ to \dtldisplaycr in \DTLdisplaydb and set \dtldisplaycr to \tabularnewline - fixed bug in \glsaddall * datagidx: - added \glslink - defines \@idxitem if not already defined 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: - added \edtlgetrowforvalue and \DTLfetch - added joining two databases in a single table example to user manual * databib: - fixed packaging of databib.bst v2.16: * datatool: - Fixed bug in \@dtl@updatekeys that causes an error when the data contains fragile commands. * datatool-base: - Fixed bug in \@dtl@checknumerical that causes an error when the argument is a command that expands to empty. v2.15: * datagidx: - Removed spurious space in \do@locrange - Added \loadgidx - Added nowarn package option - Fixed bug that occurred with locations occurring in page-spanning paragraphs. * datatool: - added \dtllastloadeddb to \DTLsaverawdb etc - fixed bug that caused \DTLsaverawdb to perform extremely slowly. Now provide \DTLprotectedsaverawdb to save databases that contain fragile commands. - fixed bug in \DTLminforkeys * dataplot: - added \dtlplothandlermark - fixed scoping issue with \DTLaddtoplotlegend v2.14: * datatool: - fixed bug in \@dtl@updatekeys (Bug report: http://www.dickimaw-books.com/cgi-bin/bugtracker.cgi?action=view&key=20) - fixed \DTLsaverawdb so that it works when there are fragile commands in database entries * dataplot: - refactored \DTLplot to help prevent large data values exceeding TeX's maximum dimensions - aded tikz calc library as a requirement * datagidx: - added 'condition' key to \printterms - added \postnewtermhook, \newtermfield, \ifnewtermfield, \datagidxdb - fixed bug in 'gloss' style that displayed multiple "see also" lines for entries that have children. * Fixed minor typos in user manual v2.13: * Added new package `datagidx' - create glossaries/indexes /without/ using an external tool such as makeindex or xindy * datatool.sty - added \dtlsort (like \DTLsort but user supplies custom comparison handler). - added \DTLgnewdb, \DTLgdeletedb, \DTLgcleardb - added \DTLsaverawdb - added \ifDTLnewdbonload, \DTLnewdbonloadtrue, \DTLnewdbonloadfalse - added \dtlparsewords - fixed bug in \@DTLnewrow (misspelt \PackageError command) - removed spurious space in \@dtl@setheaderforindex - removed spurious space in \DTLaddentryforrow - removed spurious space in \DTLdisplaydb and \DTLdisplaylongdb - removed spurious space in \@dtl@getsortdirection - removed spurious space in \@dtl@readline - removed spurious space in \DTLrawmap - \dtl@setcharcode and \dtl@setlccharcode now check for \@dtl@wordbreak instead of space and tilde - \dtl@setlccharcode bug fix (characters without a lowercase now correctly dealt with) - \dtlicompare and \dtl@teststartswith now use \dtl@setwordbreaksnohyphens to deal with spaces - added \@dtlstringnull and \@dtlnumbernull and fixed bug in \DTLifnull - renamed datatool.pdf to datatool-code.pdf * datatool-base.sty - added \dtlwordindexcompare v2.12: * datatool.sty: - fixed bug in \DTLiflastrow - Fixed bug causing spurious space in \DTLloaddb * datatool-pgfmath.sty: - fixed bug in conditionals. v2.11: * datatool.sty: - removed unwanted space in \@dtl@updatekeys - fixed typo in user guide (should be \dtlforcolumnidx not \dtlforcolumnindex) - added \dtldisplayvalign - added \DTLaddcolumn - added \dtlgetrowforvalue - added \dtlupdateentryincurrentrow - added \DTLgetrowindex and \dtlgetrowindex v2.10 (2012/07/18): * datatool.sty: - Split package into datatool-base.sty, datatool-fp.sty and datatool-pgfmath.sty - Added package option "math" (math=fp -> use fp.sty, math=pgfmath -> use pgfmath.sty) - datatool.sty now requires etoolbox (changed commands like \@ifundefined to etoolbox equivalents) - Added 'omitlines' option when loading csv file (from patch supplied by Bruno Le Floch at: http://tex.stackexchange.com/questions/22942/skipping-the-first-line-of-a-data-file-for-pgfplotstable/25133#25133 ) - \DTLloaddb : adds default column header if missing - Added optional argument to \DTLdisplaydb - Added omit key to \DTLdisplaylongdb - added environment dtlenvgforint - added environments DTLenvforeach and DTLenvforeach* - added check for at least version 1.2 (2009/10/20) of substr.sty - added \DTLassign - added DTLnumitemsinlist - added \dtlrecombine, \dtlrecombineomitcurrent, \dtlreplaceentryincurrentrow, \dtlswapentriesincurrentrow, \dtlremoveentryincurrentrow, \dtlappendentrytocurrentrow - Rewritten \@dtl@ifDigitOrDecimalSep (code provided by Bruno Le Floch) - ensured first argument of \DTLconverttodecimal gets one-level expansion in commands like \DTLaddall - Fixed \DTLloaddb to work if % used at the start of a row in CSV file. - Fixed \@dtl@qlopoff to substitute escaped CSV delimiters - Fixed bug in \DTLloadrawdb, which only performed a single substitution per line - Added \long before \edef in \DTLsubstituteall - Fixed bug in \@dtl@getkeyforcolumn (affects \DTLgetkeyforcolumn) - Changed tab character to ^^I - Fixed bug in \DTLloaddb and \DTLloadrawdb when CSV file only contains one column * databib.bst: - Added eprints field * datatool-user.tex (User guide): - fixed typo "\value{DTLbibrow}<11" => "\value{DTLbibrow}<10" - added section "Operating on Current Row" - added remark on using etoolbox to check for empty values v2.03 (2009/11/15): * Added facility to clear or delete a database. * Fixed bug in \DTLsavedb that prints duplicate information to file. * \DTLreplaceentryforrow expands the replacement value * \DTLappendtorow expands the new value * \DTLnewdbentry : user can choose between expanding or not expanding value before adding to database. * Renamed \dtl@columnindex to \dtlcolumnindex so that it can be used in the document. * Spaces may now occur after commas (but not before) in the assignment part of \DTLforeach * Fixed missing backslashes in example in manual (pounds->\pounds) * Fixed type in datapie documentation: non-colour option is "gray" not "monochrome". * Added package "person.sty" v2.02 (2009/07/13): * fixed bug caused by undefined \@dtlifhaskey (should be \@DTLifhaskey) * fixed bug caused by undefined \dtl@getcolumnindex (should be \@dtl@getcolumnindex) * fixed bug in \DTLsavedb that ignores the file name v2.01 (2009/03/27): * fixed bug that ignores descending sort option v2.0 (2009/02/27): datatool.sty: * Rewritten database internal representation to make the code faster (thanks to Morten H\o gholm for the suggestion) * added etex as a required package * Database columns can now have an associated header (in addition to the key) * added \DTLdisplaydb and \DTLdisplaylongdb * added \DTLremoverow * \DTLloaddb, \DTLloadrawdb: - removed unnecessary checks to determine if database exists when adding entries. - added optional argument - can now also load files without header row * \DTLsumforkeys, \DTLmeanforkeys, \DTLvarianceforkeys, \DTLsdforkeys, \DTLminforkeys and \DTLmaxforkeys now have a second optional argument * added \DTLsumcolumn, \DTLmeanforcolumn, \DTLvarianceforcolumn, \DTLsdforcolumn, \DTLminforcolumn and \DTLmaxforcolumn * added \dtlforeachkey * added \dtlforint and \dtlgforint * added \dtlforcolumn and \dtlforcolumnidx * added \DTLcolumncount * added starred versions of: - \DTLifdbempty - \DTLnewrow * added \DTLifhaskey * added \DTLgetcolumnindex * added \DTLunsettype, \DTLstringtype, \DTLinttype, \DTLrealtype and \DTLcurrencytype * added \DTLgetdatatype * removed \@dtl@setidtype * removed \@dtl@setkeys * removed \@dtl@getidtype * removed \@dtl@ifrowcontains * removed \dtl@getentryvalue * removed \dtl@getentryid * added \dtlgetentryfromcurrentrow * added \dtlforcolumnindex dataplot.sty * fixed bug causing ! Argument of \pgfmath@afterquick has an extra } error databar.sty * added \DTLeverybarhook v1.01 (2007/08/17) : * Added databib package. * datatool.sty: - Fixed bug in datatool caused when certain commands occur in database entries or when the data type is tested. - Fixed bug in \DTLsubstituteall (caused problems when certain - commands occurred in string) - Added \DTLsplitstring - Added \DTLifSubString and \DTLisSubString - Added \DTLifStartsWith and \DTLisPrefix - Added case insensitive string tests - \DTLinitials and \DTLstoreinitials now work with ~ and \space - \DTLinitials and \DTLstoreinitials now use \DTLinitialhyphen - Added \dtlcompare (no longer using compare.tex) - Added \DTLgetvalueforkey - Added \DTLgetrowforkey - Added optional argument to \DTLsort - Fixed bug causing expansion in \DTLsort - Fixed bug in \DTLsdforall and \DTLvarianceforall - Removed extraneous spaces in \DTLaddall, \DTLminall, \DTLmaxall, \DTLmeanforall, \DTLsdforall and \DTLvarianceforall - Fixed bug in \DTLiflastrow - Fixed bug in \DTLremovecurrentrow * Manual: - added code that produces fig "Student Marks (with average scores". - fixed typos in examples "Editing Database Rows" & "Mail Merging" - added section on null values v1.0 (2007/07/23) : Initial Release