texlive[74441] Master/texmf-dist: datatool (4mar25)

commits+karl at tug.org commits+karl at tug.org
Tue Mar 4 22:12:10 CET 2025


Revision: 74441
          https://tug.org/svn/texlive?view=revision&revision=74441
Author:   karl
Date:     2025-03-04 22:12:09 +0100 (Tue, 04 Mar 2025)
Log Message:
-----------
datatool (4mar25)

Modified Paths:
--------------
    trunk/Master/texmf-dist/bibtex/bst/datatool/databib.bst
    trunk/Master/texmf-dist/doc/latex/datatool/CHANGES
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-code.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user.tex
    trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-autokeys.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-barchart.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-datatooltk.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-datatooltk.tex
    trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-dict.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-dict.tex
    trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-gidx.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-gidx.tex
    trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-glossary.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-glossary.tex
    trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-index.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-index.tex
    trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-mail-merge.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-piechart.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-sort.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-student-scores.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-two-per-row.pdf
    trunk/Master/texmf-dist/source/latex/datatool/datatool.dtx
    trunk/Master/texmf-dist/source/latex/datatool/datatool.ins
    trunk/Master/texmf-dist/tex/latex/datatool/databar.sty
    trunk/Master/texmf-dist/tex/latex/datatool/databib.sty
    trunk/Master/texmf-dist/tex/latex/datatool/datagidx.sty
    trunk/Master/texmf-dist/tex/latex/datatool/datapie.sty
    trunk/Master/texmf-dist/tex/latex/datatool/dataplot.sty
    trunk/Master/texmf-dist/tex/latex/datatool/datatool-base.sty
    trunk/Master/texmf-dist/tex/latex/datatool/datatool-fp.sty
    trunk/Master/texmf-dist/tex/latex/datatool/datatool-pgfmath.sty
    trunk/Master/texmf-dist/tex/latex/datatool/datatool.sty
    trunk/Master/texmf-dist/tex/latex/datatool/person.sty

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/datatool/DEPENDS.txt
    trunk/Master/texmf-dist/doc/latex/datatool/README.md
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example001.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example001.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example001.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example002.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example002.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example002.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example003.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example003.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example003.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example004.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example004.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example004.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example005.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example005.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example005.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example006.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example006.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example006.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example007.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example007.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example007.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example008.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example008.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example008.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example009.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example009.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example009.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example010.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example010.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example010.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example011.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example011.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example011.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example012.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example012.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example012.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example013.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example013.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example013.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example014.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example014.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example014.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example015.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example015.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example015.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example016.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example016.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example016.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example017.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example017.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example017.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example018.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example018.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example018.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example019.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example019.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example019.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example020.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example020.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example020.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example021.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example021.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example021.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example022.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example022.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example022.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example023.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example023.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example023.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example024.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example024.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example024.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example025.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example025.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example025.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example026.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example026.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example026.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example027.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example027.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example027.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example028.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example028.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example028.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example029.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example029.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example029.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example030.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example030.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example030.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example031.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example031.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example031.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example032.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example032.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example032.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example033.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example033.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example033.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example034.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example034.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example034.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example035.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example035.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example035.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example036.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example036.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example036.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example037.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example037.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example037.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example038.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example038.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example038.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example039.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example039.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example039.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example040.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example040.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example040.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example041.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example041.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example041.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example042.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example042.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example042.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example043.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example043.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example043.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example044.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example044.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example044.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example045.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example045.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example045.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example046.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example046.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example046.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example047.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example047.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example047.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example048.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example048.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example048.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example049.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example049.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example049.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example050.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example050.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example050.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example051.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example051.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example051.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example052.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example052.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example052.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example053.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example053.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example053.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example054.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example054.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example054.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example055.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example055.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example055.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example056.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example056.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example056.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example057.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example057.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example057.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example058.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example058.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example058.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example059.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example059.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example059.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example060.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example060.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example060.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example061.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example061.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example061.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example062.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example062.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example062.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example063.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example063.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example063.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example064.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example064.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example064.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example065.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example065.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example065.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example066.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example066.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example066.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example067.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example067.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example067.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example068.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example068.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example068.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example069.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example069.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example069.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example070.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example070.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example070.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example071.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example071.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example071.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example072.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example072.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example072.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example073.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example073.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example073.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example074.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example074.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example074.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example075.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example075.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example075.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example076.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example076.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example076.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example077.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example077.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example077.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example078.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example078.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example078.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example079.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example079.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example079.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example080.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example080.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example080.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example081.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example081.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example081.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example082.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example082.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example082.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example083.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example083.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example083.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example084.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example084.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example084.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example085.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example085.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example085.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example086.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example086.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example086.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example087.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example087.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example087.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example088.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example088.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example088.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example089.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example089.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example089.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example090.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example090.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example090.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example091.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example091.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example091.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example092.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example092.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example092.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example093.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example093.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example093.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example094.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example094.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example094.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example095.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example095.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example095.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example096.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example096.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example096.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example097.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example097.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example097.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example098.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example098.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example098.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example099.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example099.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example099.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example100.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example100.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example100.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example101.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example101.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example101.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example102.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example102.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example102.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example103.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example103.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example103.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example104.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example104.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example104.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example105.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example105.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example105.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example106.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example106.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example106.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example107.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example107.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example107.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example108.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example108.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example108.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example109.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example109.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example109.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example110.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example110.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example110.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example111.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example111.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example111.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example112.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example112.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example112.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example113.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example113.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example113.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example114.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example114.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example114.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example115.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example115.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example115.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example116.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example116.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example116.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example117.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example117.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example117.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example118.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example118.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example118.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example119.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example119.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example119.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example120.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example120.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example120.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example121.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example121.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example121.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example122.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example122.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example122.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example123.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example123.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example123.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example124.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example124.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example124.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example125.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example125.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example125.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example126.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example126.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example126.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example127.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example127.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example127.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example128.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example128.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example128.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example129.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example129.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example129.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example130.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example130.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example130.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example131.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example131.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example131.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example132.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example132.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example132.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example133.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example133.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example133.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example134.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example134.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example134.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example135.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example135.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example135.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example136.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example136.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example136.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example137.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example137.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example137.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example138.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example138.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example138.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example139.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example139.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example139.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example140.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example140.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example140.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example141.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example141.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example141.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example142.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example142.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example142.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example143.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example143.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example143.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example144.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example144.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example144.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example145.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example145.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example145.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example146.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example146.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example146.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example147.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example147.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example147.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example148.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example148.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example148.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example149.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example149.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example149.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example150.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example150.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example150.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example151.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example151.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example151.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example152.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example152.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example152.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example153.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example153.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example153.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example154.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example154.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example154.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example155.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example155.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example155.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example156.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example156.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example156.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example157.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example157.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example157.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example158.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example158.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example158.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example159.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example159.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example159.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example160.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example160.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example160.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example161.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example161.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example161.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example162.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example162.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example162.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example163.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example163.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example163.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example164.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example164.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example164.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example165.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example165.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example165.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example166.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example166.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example166.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example167.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example167.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example167.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example168.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example168.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example168.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example169.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example169.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example169.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example170.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example170.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example170.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example171.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example171.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example171.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example172.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example172.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example172.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example173.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example173.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example173.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example174.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example174.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example174.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example175.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example175.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example175.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example176.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example176.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example176.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example177.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example177.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example177.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example178.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example178.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example178.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example179.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example179.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example179.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example180.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example180.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example180.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example181.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example181.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example181.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example182.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example182.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example182.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example183-page1.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example183.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example183.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example184.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example184.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example184.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example185.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example185.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example185.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example186-page1.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example186-page2.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example186.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example186.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example187.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example187.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example187.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example188.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example188.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example188.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189-page1.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189-page2.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189-page3.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189-page4.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example190.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example190.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example190.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example191.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example191.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example191.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example192.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example192.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example192.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example193.pdf
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example193.png
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example193.tex
    trunk/Master/texmf-dist/doc/latex/datatool/datatool-user.html

Removed Paths:
-------------
    trunk/Master/texmf-dist/doc/latex/datatool/INSTALL
    trunk/Master/texmf-dist/doc/latex/datatool/README
    trunk/Master/texmf-dist/doc/latex/datatool/samples/sample-europecv-bib.pdf

Modified: trunk/Master/texmf-dist/bibtex/bst/datatool/databib.bst
===================================================================
--- trunk/Master/texmf-dist/bibtex/bst/datatool/databib.bst	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/bibtex/bst/datatool/databib.bst	2025-03-04 21:12:09 UTC (rev 74441)
@@ -21,13 +21,20 @@
     type
     volume
     year
+    date
     isbn
+    issn
+    eid
     doi
     pubmed
     url
+    urldate
     abstract
     file
     eprints
+    eprint
+    eprinttype
+    citations
   }
   {}
   { label }
@@ -314,12 +321,32 @@
   if$
 }
 
+FUNCTION {format.issn}
+{ issn empty$
+    { "" }
+    {
+      issn
+      "\DTLnewbibitem {ISSN}" swap$ group *
+    }
+  if$
+}
+
+FUNCTION {format.eid}
+{ eid empty$
+    { "" }
+    {
+      eid
+      "\DTLnewbibitem {EID}" swap$ group *
+    }
+  if$
+}
+
 FUNCTION {format.doi}
 { doi empty$
     { "" }
     {
       doi
-      "\DTLnewbibitem {DOI}" swap$ group *
+      "\DTLnewbibliteralitem {DOI}" swap$ group *
     }
   if$
 }
@@ -334,6 +361,16 @@
   if$
 }
 
+FUNCTION {format.citations}
+{ citations empty$
+    { "" }
+    {
+      citations
+      "\DTLnewbibitem {Citations}" swap$ group *
+    }
+  if$
+}
+
 FUNCTION {format.abstract}
 { abstract empty$
     { "" }
@@ -349,7 +386,15 @@
     { "" }
     {
       url
-      "\DTLnewbibitem {Url}" swap$ group *
+      "\DTLnewbibliteralitem {Url}" swap$ group *
+      output
+      urldate empty$
+       { "" }
+       {
+         urldate
+         "\DTLnewbibitem {UrlDate}" swap$ group *
+       }
+      if$
     }
   if$
 }
@@ -359,7 +404,7 @@
     { "" }
     {
       file
-      "\DTLnewbibitem {File}" swap$ group *
+      "\DTLnewbibliteralitem {File}" swap$ group *
     }
   if$
 }
@@ -366,14 +411,52 @@
 
 FUNCTION {format.eprints}
 { eprints empty$
-    { "" }
     {
+      eprint empty$
+       { "" }
+       {
+         eprint
+         "\DTLnewbibliteralitem {Eprints}" swap$ group *
+         eprinttype empty$
+           { }
+           {
+             output
+             eprinttype
+            "\DTLnewbibitem {EprintType}" swap$ group *
+           }
+         if$
+       }
+      if$
+    }
+    {
       eprints
-      "\DTLnewbibitem {Eprints}" swap$ group *
+      "\DTLnewbibliteralitem {Eprints}" swap$ group *
+      eprinttype empty$
+        { }
+        {
+          output
+          eprinttype
+         "\DTLnewbibitem {EprintType}" swap$ group *
+        }
+      if$
     }
   if$
 }
 
+FUNCTION {format.extra}
+{
+  format.isbn output
+  format.issn output
+  format.eid output
+  format.doi output
+  format.pubmed output
+  format.url output
+  format.abstract output
+  format.file output
+  format.eprints output
+  format.citations output
+}
+
 FUNCTION {format.address}
 { address empty$
     { "" }
@@ -430,23 +513,33 @@
 }
 
 FUNCTION {format.date}
-{ year empty$
-    { month empty$
-{ "" }
-{ "there's a month but no year in " cite$ * warning$
-         "\DTLnewbibitem {Month}" *
-  month group
+{
+ date empty$
+  {
+    year empty$
+     {
+       month empty$
+         { "" }
+         { "there's a month but no year in " cite$ * warning$
+           "\DTLnewbibitem {Month}" *
+            month group
+         }
+       if$
+     }
+     {
+       month empty$
+        {  }
+        { "\DTLnewbibitem {Month}{" * month * "}" * }
+       if$
+       "\DTLnewbibitem {Year}{" * year * "}"
+     }
+    if$
+  }
+  {
+    "\DTLnewbibitem {Date}{" * date * "}"
+  }
+ if$
 }
-      if$
-    }
-    { month empty$
-{  }
-{ "\DTLnewbibitem {Month}{" * month * "}" * }
-      if$
-      "\DTLnewbibitem {Year}{" * year * "}"
-    }
-  if$
-}
 
 FUNCTION {format.btitle}
 { title
@@ -653,7 +746,8 @@
   ""
 }
 {
-          "\DTLnewbibitem {Journal}" journal group *
+          journal
+          "\DTLnewbibitem {Journal}" swap$ group *
         }
       if$
     }
@@ -737,30 +831,24 @@
   new.block
   crossref missing$
     {
-      journal missing$
+      journal empty$
       {
       }
       {
-        "\DTLnewbibitem {Journal}" *
+        "\DTLnewbibitem {Journal}{" * journal * "}" output
       }
       if$
-      journal group "journal" output.check
       format.vol.num.pages output
-      format.date "year" output.check
     }
     { format.article.crossref output.nonnull
       format.pages output
     }
   if$
+  format.date output
   new.block
   format.key output
   format.note output
-  format.isbn output
-  format.doi output
-  format.pubmed output
-  format.url output
-  format.abstract output
-  format.file output
+  format.extra
   fin.entry
 }
 
@@ -793,16 +881,11 @@
     }
   if$
   format.edition output
-  format.date "year" output.check
+  format.date output
   new.block
   format.key output
   format.note output
-  format.isbn output
-  format.doi output
-  format.pubmed output
-  format.url output
-  format.abstract output
-  format.file output
+  format.extra
   fin.entry
 }
 
@@ -820,12 +903,7 @@
   new.block
   format.key output
   format.note output
-  format.isbn output
-  format.doi output
-  format.pubmed output
-  format.url output
-  format.abstract output
-  format.file output
+  format.extra
   fin.entry
 }
 
@@ -859,16 +937,11 @@
     }
   if$
   format.edition output
-  format.date "year" output.check
+  format.date output
   new.block
   format.key output
   format.note output
-  format.isbn output
-  format.doi output
-  format.pubmed output
-  format.url output
-  format.abstract output
-  format.file output
+  format.extra
   fin.entry
 }
 
@@ -887,20 +960,15 @@
       format.publisher "publisher" output.check
       format.address output
       format.edition output
-      format.date "year" output.check
     }
     { format.incoll.inproc.crossref output.nonnull
       format.chapter.pages output
     }
   if$
+  format.date output
   format.key output
   format.note output
-  format.isbn output
-  format.doi output
-  format.pubmed output
-  format.url output
-  format.abstract output
-  format.file output
+  format.extra
   fin.entry
 }
 
@@ -926,7 +994,6 @@
   format.publisher output
 }
       if$
-      format.date "year" output.check
     }
     {
       format.incoll.inproc.crossref output.nonnull
@@ -933,14 +1000,10 @@
       format.pages output
     }
   if$
+  format.date output
   format.key output
   format.note output
-  format.isbn output
-  format.doi output
-  format.pubmed output
-  format.url output
-  format.abstract output
-  format.file output
+  format.extra
   fin.entry
 }
 
@@ -980,12 +1043,7 @@
   new.block
   format.key output
   format.note output
-  format.isbn output
-  format.doi output
-  format.pubmed output
-  format.url output
-  format.abstract output
-  format.file output
+  format.extra
   fin.entry
 }
 
@@ -1001,16 +1059,11 @@
   format.thesis.type output.nonnull
   format.school "school" output.check
   format.address output
-  format.date "year" output.check
+  format.date output
   new.block
   format.key output
   format.note output
-  format.isbn output
-  format.doi output
-  format.pubmed output
-  format.url output
-  format.abstract output
-  format.file output
+  format.extra
   fin.entry
 }
 
@@ -1027,12 +1080,7 @@
   new.block
   format.key output
   format.note output
-  format.isbn output
-  format.doi output
-  format.pubmed output
-  format.url output
-  format.abstract output
-  format.file output
+  format.extra
   fin.entry
   empty.misc.check
 }
@@ -1049,16 +1097,11 @@
   format.thesis.type output.nonnull
   format.school "school" output.check
   format.address output
-  format.date "year" output.check
+  format.date output
   new.block
   format.key output
   format.note output
-  format.isbn output
-  format.doi output
-  format.pubmed output
-  format.url output
-  format.abstract output
-  format.file output
+  format.extra
   fin.entry
 }
 
@@ -1082,10 +1125,8 @@
 }
       if$
       format.publisher output
-      format.date "year" output.check
     }
     { format.address output
-      format.date "year" output.check
       new.sentence
       editor empty$
 'skip$
@@ -1094,15 +1135,11 @@
       format.publisher output
     }
   if$
+  format.date output
   new.block
   format.key output
   format.note output
-  format.isbn output
-  format.doi output
-  format.pubmed output
-  format.url output
-  format.abstract output
-  format.file output
+  format.extra
   fin.entry
 }
 
@@ -1117,16 +1154,11 @@
   format.tr.number output.nonnull
   format.institution "institution" output.check
   format.address output
-  format.date "year" output.check
+  format.date output
   new.block
   format.key output
   format.note output
-  format.isbn output
-  format.doi output
-  format.pubmed output
-  format.url output
-  format.abstract output
-  format.file output
+  format.extra
   fin.entry
 }
 
@@ -1140,13 +1172,7 @@
   new.block
   format.key output
   format.note output
-  format.isbn output
-  format.doi output
-  format.pubmed output
-  format.url output
-  format.abstract output
-  format.file output
-  format.date output
+  format.extra
   fin.entry
 }
 
@@ -1258,6 +1284,7 @@
 
 FUNCTION {end.bib}
 {
+  "\DTLbibsetlongestlabel{" longest.label  * "}" * write$ newline$
 }
 
 EXECUTE {end.bib}

Modified: trunk/Master/texmf-dist/doc/latex/datatool/CHANGES
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/CHANGES	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/CHANGES	2025-03-04 21:12:09 UTC (rev 74441)
@@ -1,3 +1,323 @@
+v3.0 (2025-03-03):
+
+Major new released. Rollback to v2.32 provided.
+
+  * datatool-base.sty:
+
+    - new package options: nolocale, locales (synonym lang),
+      lang-warn
+
+    - new values for 'math' option: lua and l3fp. The default is now lua for
+      LuaLaTeX and l3fp otherwise. Processor files are now called 
+      datatool-<processor>.def and old datatool-fp.sty and datatool-pgfmath.sty 
+      files are now stubs that generate a warning and load the 
+      applicable .def file
+
+    - support for scientific notation
+
+    - new plain number commands: 
+        \dtladdall, \dtlmeanforall,
+        \dtlminall, \dtlmaxall
+      (Counterparts to formatted number commands \DTL...)
+
+    - no longer loads substr.sty
+
+    - optional argument added to \DTLdecimaltocurrency 
+
+    - added support for datum markers
+
+      \DTLparse
+      \DTLxparse
+      \DTLusedatum
+      \DTLdatumvalue
+      \DTLdatumcurrency
+      \DTLdatumtype
+      \DTLsetintegerdatum, \DTLxsetintegerdatum
+      \DTLsetdecimaldatum, \DTLxsetdecimaldatum, \DTLsetfpdatum
+      \DTLsetcurrencydatum, \DTLxsetcurrencydatum
+      \DTLsetstringdatum, \DTLxsetstringdatum
+
+    - optional parsing for dates and times (still experimental)
+
+    - new commands:
+
+      \DTLifEndsWith
+      \DTLifiSubString, \DTLisiPrefix, \DTLisSuffix, \DTLisiSuffix
+      \DTLisnumlt, \DTLisnumgt, \DTLisnumlteq, \DTLisnumgteq
+      \DTLStoreInitialGetLetter, \DTLinitialpunc, \DTLaposinitialpunc
+      \DTLGetInitialLetter, \ifDTLGetInitialLetterPurifyEarly
+      \DTLCurrentLocaleGetInitialLetter
+      \datatoolparen
+      \dtlpadleadingzeros, \dtlpadleadingzerosminus, \dtlpadleadingzerosplus
+
+    - Made fragile commands robust
+
+    - New command \DTLsortwordlist as a more efficient alternative
+      to \dtlsortlist, with handler commands:
+      \DTLsortwordhandler, \DTLsortwordcasehandler,
+      \DTLsortletterhandler, \DTLsortlettercasehandler
+
+    - new options:
+
+      initial-purify:
+
+      Governs when purification takes place for \DTLGetInitialLetter
+
+      auto-reformat-types:
+
+      Governs which data types should be reformatted if the
+      applicable auto-reformat option is on.
+
+      lists/trim:
+
+      If true (default), leading and trailing spaces are now trimmed around
+      comma-separated list elements
+      **Note** this changes the default behaviour. Use
+      \DTLsetup{ lists = { trim = false } } to prevent this.
+
+      lists/sort-reverse:
+
+      If true, \DTLsortwordlist and \dtlsortlist will sort in reverse
+      order.
+
+      compare/expand-cs:
+
+      If true, \dtlcompare and \dtlicompare fully expand their
+      string arguments
+
+      numeric:
+
+      Governs numeric settings.
+
+      datetime:
+
+      Governs date and time settings.
+
+    - The following commands have been rewritten using LaTeX3:
+
+      \dtlwordindexcompare
+      \dtlletterindexcompare
+      \dtlcompare
+      \dtlicompare
+      \DTLifinlist
+      \DTLlistelement
+      \DTLfetchlistelement
+      \DTLnumitemsinlist
+      \dtlsortlist
+      \dtlinsertinto
+      \DTLifStartsWith
+      \DTLifSubString
+      \DTLstoreinitials, \DTLinitials
+
+    This may produce different results and different build speeds,
+    but in general it should make an improvement. If any problems
+    occur use rollback.
+
+   - added starred version of dtlenvgforint environment
+
+   - bug fix: \DTLgclip should only take two arguments
+
+   - bug fix: \dtlparsewords undefined control sequence \dlt at parsewordshandler
+
+   - bug fix: \DTLifStartsWith doesn't ignore commands as documented
+
+  * datatool.sty:
+
+   - new 'global' option now determines whether or not commands like
+     \DTLnewdbentry have a local or global effect. (Defining a 
+     new database is always global.)
+
+     NB the default is global=true which is more consistent over all
+     commands but means that some commands which previously had a
+     local effect may now be global. Use \DTLsetup{global=false}
+     to revert.
+
+   - new 'store-datum' option provided to reduce parsing of data.
+
+   - new save/load commands: \DTLwrite and \DTLread
+     (old save/load commands rewritten to use the applicable new one)
+
+   - new general purpose \DTLaction and associated commands \DTLget
+     and \DTLuse.
+
+   - most commands have been rewritten in \LaTeX3
+
+   - fragile commands have been made robust
+
+   - \DTLdisplaydb and \DTLdisplaylongdb have been rewritten to 
+     construct the tabular content in a token list, which 
+     removes the loop from the body of the tabular / longtable environment.
+
+   - cs=key assignment list commands now trim leading and trailing spaces
+
+   - \DTLiflastrow takes filtering into account
+
+   - new mapping (loop) commands: \DTLmapdata and \DTLmaprow 
+
+     \DTLmapdata is an alternative to DTLforeach that only performs local
+     assignments. Not suitable for use within tabular-like environments
+     (unless restricted to the content of a single cell)
+
+   - new commands:
+
+     \DTLsortdata (alternative to \dtlsort)
+     \DTLassignfromcurrentrow
+
+  * datatool-pgfmath.def:
+
+   - bug fix: \dtlroot should take three arguments
+
+  * datapie.sty:
+
+   - mostly rewritten in LaTeX3.
+
+   - removed dependency on xkeyval (switched to l3keys)
+
+   - extra options in key=value interface (instead of using
+     \setlength, setcounter etc)
+
+   - new hook: \DTLpieatsegment
+
+   - \DTLpiechart may now have an empty database name argument
+     to indicate the default database.
+
+  * databar.sty
+
+   - mostly rewritten in LaTeX3.
+
+   - removed dependency on xkeyval (switched to l3keys)
+
+   - extra options in key=value interface (instead of using
+     \setlength, setcounter etc)
+
+   - \DTLbarchart and \DTLmultibarchart may now have an empty
+     database name argument to indicate the default database.
+
+   - bar charts may be created using new action command
+
+   - new hooks and settings:
+
+     \DTLbarXupperlabelalign
+     \DTLbarXneglabelalign
+     \DTLbarXnegupperlabelalign
+     \DTLtotalbars
+     \DTLbartotalvariables
+     \DTLtotalbargroups
+     \DTLbarindex
+     \DTLbargroupindex
+     \DTLyAxisLabelStyle
+     \DTLbargrouplabelalign
+     \DTLBarStyle
+     \DTLdisplaybargrouplabel
+     \DTLclearbarcolors
+     \DTLclearnegbarcolors
+     \DTLgetnegbarcolor
+     \DTLeveryprebarhook
+     \DTLeverybargrouphook
+     \DTLbarsetupperlabelalign
+
+  * dataplot.sty:
+
+   - mostly rewritten in LaTeX3.
+
+   - extra options in key=value interface
+
+   - the x and y settings may take a comma-separated list of
+     column keys to allow multiple x/y pairs from the same database
+
+   - bug fixes
+
+   - legend setting now has extra 'custom' option which uses
+     new command \DTLcustomlegend (redefine as required)
+
+   - other new commands including:
+
+    \DTLplotdisplayXticklabel
+    \DTLplotdisplayYticklabel
+    \DTLplotlegendxy
+    \DTLplotlegendxysep
+    \DTLplotlegendnamesep
+    \DTLplotlegendname
+    \DTLplotlegendsetname
+    \DTLplotlegendx
+    \DTLplotlegendsetxlabel
+    \DTLplotlegendy
+    \DTLplotlegendsetylabel
+
+  * databib.sty
+
+   - mostly rewritten in LaTeX3.
+
+   - removed dependency on xkeyval (switched to l3keys)
+
+   - \DTLbibliography, \DTLcomputewidestbibentry and
+     \DTLmbibliography switched to read-only loops
+
+   - various commands made robust
+
+   - corrected local assignments in \DTLforeachbibentry
+
+   - end of sentence test now also checks for ! and ?
+
+   - new style hook commands: 
+     \DTLpostvon, \DTLpostvolnum, \DTLpostpagename, 
+     \DTLpostvolumename, \DTLpostchaptername,
+     \DTLpostnumbername, \DTLprecite, \DTLofseries,
+     \DTLofseriesfmt, \DTLinseries, \DTLjournalfmt,
+     \DTLinbooktitlefmt, \DTLmanualtitlefmt,
+     \DTLthesistitlefmt, \DTLproceedingstitlefmt,
+     \DTLresetpredefined, \DTLresetpredefinedabbrv
+
+   - \DTLmonthname will now use datetime2.sty commands if available.
+
+   - new commands to assist sorting author/editor lists with
+     \DTLsortdata:
+     \DTLbibsortencap, \DTLbibsortname, \DTLbibsortnamesep
+
+   - added localisation support.
+
+   - Bug fix: \DTLaddperiod insert period before resetting
+     conditionals
+
+  * person.sty:
+
+    - mostly rewritten in LaTeX3.
+
+    - new package options: base-only, datatool and shortcuts
+
+    - sentence case now uses LaTeX3.
+
+    - starred version of \newperson with key=value interface.
+
+    - added support for title, forenames and surname with hooks to
+      allow supplementary packages to add support for extra data.
+
+    - added non-binary and unknown.
+
+    - added localisation support.
+
+    - the following commands are now deprecated:
+
+      \addmalelabel (use \PersonAddMaleLabel instead)
+      \addfemalelabel (use \PersonAddFemaleLabel instead)
+      \ifmalelabel (use \PersonIfMaleLabel instead)
+      \iffemalelabel (use \PersonIfFemaleLabel instead)
+      \ifmale (use \PersonIfMale instead)
+      \ifallmale (use \PersonIfAllMale instead)
+      \iffemale (use \PersonIfFemale instead)
+      \ifallfemale (use \PersonIfAllFemale instead)
+
+    - the following commands have been renamed:
+
+      \malelabels -> \g_person_male_label_clist
+      (use \PersonSetMaleLabels or \PersonAddMaleLabel to change the list)
+      \femalelabels -> \g_person_female_label_clist
+      (use \PersonSetFemaleLabels or \PersonAddFemaleLabel to change the list)
+
+    - removed counter 'person'
+
+    - various new commands
+
 v2.32 (2019-09-27):
 
   * datagidx.sty:

Added: trunk/Master/texmf-dist/doc/latex/datatool/DEPENDS.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/DEPENDS.txt	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/DEPENDS.txt	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,5 @@
+etoolbox
+amsmath
+xfor
+ifthen
+tracklang


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/DEPENDS.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Deleted: trunk/Master/texmf-dist/doc/latex/datatool/INSTALL
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/INSTALL	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/INSTALL	2025-03-04 21:12:09 UTC (rev 74441)
@@ -1,65 +0,0 @@
-INSTALLATION
-
-If you have downloaded the datatool package using the TeX
-Directory Structure (TDS), that is you have downloaded the archive
-datatool.tds.zip containing doc, tex, scripts and source
-directories, you need to follow the "Installing from TDS"
-instructions below.
-
-If you have downloaded the following files:
-
-datatool.dtx
-datatool.ins
-
-You need to follow the "Installing from DTX and INS" instructions
-below.
-
-For further information on installing LaTeX packages see:
-
-http://www.tex.ac.uk/cgi-bin/texfaq2html?label=installthings
-
-INSTALLING FROM TDS
-===================
-
-Files in tex and doc directories should go in the corresponding
-TEXMF directories (for example, /usr/share/texmf-local/ or
-C:\localtexmf\). 
-
-*Remember to refresh TeX's database*
-
-Example (on UNIX like systems):
-
-unzip datatool.tds.zip -d ~/texmf/
-texhash ~/texmf/
-
-INSTALLING FROM DTX AND INS
-===========================
-
-Run LaTeX on datatool.ins to generate the package style files:
-
-latex datatool.ins
-
-To create the package documentation (datatool-code.pdf):
-
-pdflatex -jobname datatool-code datatool.dtx
-makeindex -s gind.ist datatool-code.idx
-makeindex -s gglo.ist -o datatool-code.gls datatool-code.glo
-pdflatex -jobname datatool-code datatool.dtx
-pdflatex -jobname datatool-code datatool.dtx
-
-If TEXMF denotes the base directory of your local TeX installation (e.g.
-/usr/share/texmf-local/ or C:\localtexmf\) then create the following
-directories (if they don't already exist):
-
-TEXMF/doc/latex/datatool
-TEXMF/doc/latex/datatool/samples
-TEXMF/tex/latex/datatool
-
-Move the sample files (*.tex) to TEXMF/doc/latex/datatool/sample/
-
-Move the documentation (*.pdf) to TEXMF/doc/latex/datatool/
-
-Move style files (*.sty) to TEXMF/tex/latex/datatool/
-
-*Remember to refresh TeX's database*
-

Deleted: trunk/Master/texmf-dist/doc/latex/datatool/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/README	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/README	2025-03-04 21:12:09 UTC (rev 74441)
@@ -1,113 +0,0 @@
-LaTeX Bundle : datatool v2.32 
-
-Last Modified : 2019-09-27
-
-Author        : Nicola Talbot
-
-Package FAQ   : http://www.dickimaw-books.com/faqs/datatoolfaq.html
-
-This bundle consists of the packages: datatool.sty, 
-datatool-base.sty, datatool-fp.sty, datatool-pgfmath.sty,
-databar.sty, databib.sty, datapie.sty dataplot.sty, datagidx.sty
-person.sty.
-
-datatool.sty:
-
- Databases can be created using LaTeX commands or loaded
- from external ASCII files, such as comma or tab separated
- variable files.
-
- Databases can be sorted numerically or alphabetically
- (descending or ascending.)
-
- Repetitive operations can be performed on each row of
- data in a database (such as mail merging.) Conditions
- can be imposed to exclude rows.
-
-datatool-base.sty:
-
- Commands are provided to determine if an argument is
- an integer, a real number, currency or a string.
- (Scientific notation is currently not supported.)
-
- Locale dependent number settings are supported 
- (such as a comma as a decimal character and full stop as 
- a number group character.)
-
- Commands are provided to convert between locale dependent
- numbers/currency and the standard decimal format required 
- by the fp or pgfmath packages enabling fixed point arithmetic to be 
- performed on elements of the database.
-
- Strings can be tested to determine if they are all upper
- or all lower case.
-
- Names can be converted to initials using \DTLinitials.
-
-datatool-fp.sty:
- Provides an interface with fp.sty
-
-datatool-pgfmath.sty:
- Provides an interface with pgfmath.sty
-
-datapie.sty:
-
- A database defined by datatool.sty can be converted into a 
- pie chart.
-
- Segments can be separated from the rest of the chart to make
- them stand out.
-
- Colour/grey scale options.
-
- Predefined segment colours can be changed.
-
- Hooks provided to annotate chart.
-
-dataplot.sty:
-
- A database defined by datatool.sty may be plotted as a 2D
- scatter or line plot
-
- Settings provided to govern the appearance of the chart.
- (e.g. show/hide axes, legend, grid, major/minor tick marks.)
-
- Hooks provided to add extra information to the plot
-
-databar.sty:
-
- A database defined by datatool.sty can be converted into a 
- bar chart.
-
- Colour/grey scale options.
-
- Predefined bar colours can be changed.
-
- Horizontal or vertical formats provided.
-
- Hooks provided to annotate chart.
-
-databib.sty:
-
- Provides commands to convert a BibTeX database into a datatool
- database.
-
-datagidx.sty:
-
- Provides a way of indexing or creating glossaries/lists of acronyms
- that uses TeX to do the sorting and collating instead of using an
- external indexing application, such as xindy or makeindex.
-
-person.sty:
-
- Provides commands to display a person's name and pronoun in an
- order of service style document to provide consistency, or in mail
- merging to eliminate the cumbersome use of ``he/she'' etc.
-
-*The datatool bundle replaces the csvtools bundle which is now obsolete.*
-
-This material is subject to the LaTeX Project Public License. 
-See http://www.ctan.org/license/lppl1.3 for the details of that license.
-
-http://www.dickimaw-books.com/
-

Added: trunk/Master/texmf-dist/doc/latex/datatool/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/README.md	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/README.md	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,144 @@
+# datatool — Tools to load and manipulate data
+
+Version 3.0 (2025-03-03)
+
+Author: Nicola L. C. Talbot ([dickimaw-books.com](https://www.dickimaw-books.com/))
+
+# LICENCE
+
+This material is subject to the LaTeX Project Public License.
+See http://www.ctan.org/license/lppl1.3
+for the details of that license.
+
+Copyright 2007-2025 Nicola Talbot
+
+## DESCRIPTION
+
+This bundle consists of the packages: `datatool.sty`,
+`datatool-base.sty`, `databar.sty`, `databib.sty`, `datapie.sty`,
+`dataplot.sty`, `datagidx.sty` and `person.sty`.
+
+Localisation support is supplied separately. See
+[`datatool-regions`](https://ctan.org/pkg/datatool-regions)
+(currency and number group and decimal characters) and
+[`datatool-english`](https://ctan.org/pkg/datatool-english)
+(fixed text translations and orthography).
+
+### `datatool.sty` (databases)
+
+Databases can be created using LaTeX commands or loaded
+from comma or tab separated variable files.
+
+Databases can be sorted numerically or alphabetically
+(descending or ascending). Ensure you have localisation 
+support installed for alphabetical sorting that follows 
+the language's orthography rules (alphabet order).
+
+Repetitive operations can be performed on each row of
+data in a database (such as mail merging.) Conditions
+can be imposed to exclude rows.
+
+### `datatool-base.sty` (base package)
+
+The underlying base package used by all the other packages 
+in this bundle.
+
+Commands are provided to determine if an argument is an integer, a
+decimal number (scientific notation supported), currency or a
+string.  To parse ISO dates and times, the date/time parsing needs
+to be enabled with `\DTLsetup{datetime={parse}}`.  Parsing of
+regional dates requires support from the applicable region file (see
+[`datatool-regions`](https://ctan.org/pkg/datatool-regions)).
+
+Locale dependent number settings are supported 
+(such as a comma as a decimal character and full stop as 
+a number group character). This can be done via
+the captions hook, if supported, but the appropriate
+region file needs to be installed
+(see [`datatool-regions`](https://ctan.org/pkg/datatool-regions)).
+
+Commands are provided to convert between locale dependent
+numbers/currency and the plain decimal format required 
+for arithmetical computations to be 
+performed on elements of the database.
+
+Strings can be tested to determine if they are all upper
+or all lower case.
+
+Names can be converted to initials using `\DTLinitials`.
+
+Comma-separated lists can be sorted numerically or alphabetically
+(descending or ascending). Ensure you have localisation 
+support installed for alphabetical sorting that follows 
+the language's orthography rules (alphabet order).
+
+### `datapie.sty` (Pie Charts)
+
+A database defined by `datatool.sty` can be converted into a 
+pie chart. This is best done with `\DTLsetup{store-datum}`
+to avoid repeated re-parsing of formatted numbers.
+
+Segments can be separated from the rest of the chart to make
+them stand out.
+
+Colour/grey scale options.
+
+Predefined segment colours can be changed.
+
+Hooks provided to annotate chart.
+
+### `dataplot.sty` (Line and Scatter Plots)
+
+A database defined by `datatool.sty` may be plotted as a 2D
+scatter or line plot. This is best done with `\DTLsetup{store-datum}`
+to avoid repeated re-parsing of formatted numbers.
+
+Settings provided to govern the appearance of the chart.
+(e.g. show/hide axes, legend, grid, major/minor tick marks).
+
+Hooks provided to add extra information to the plot.
+
+### `databar.sty` (Bar Charts)
+
+A database defined by `datatool.sty` can be converted into a 
+bar chart. This is best done with `\DTLsetup{store-datum}`
+to avoid repeated re-parsing of formatted numbers.
+
+Colour/grey scale options.
+
+Predefined bar colours can be changed.
+
+Horizontal or vertical formats provided.
+
+Hooks provided to annotate chart.
+
+### `databib.sty` (Bibliographies)
+
+Provides commands to convert a BibTeX database into a datatool
+database.
+
+### `datagidx.sty` (Indexes and Glossaries)
+
+Provides a way of indexing or creating glossaries/lists of
+abbreviations that uses TeX to do the sorting and collating instead
+of using an external indexing application, such as Xindy or
+MakeIndex.  Ensure you have localisation support installed for
+alphabetical sorting that follows the language's orthography rules
+(alphabet order).
+
+### `person.sty` (Referencing People)
+
+Provides commands to display a person's name and pronoun in an
+order of service style document to provide consistency, or in mail
+merging to eliminate the cumbersome use of ``he/she'' etc.
+
+## NOTES
+
+**The `datatool` bundle replaced the `csvtools` bundle which is now obsolete (2007).**
+
+This material is subject to the LaTeX Project Public License. 
+See http://www.ctan.org/license/lppl1.3 for the details of that license.
+
+Package FAQ: [`dickimaw-books.com/faq.php?category=datatool`](https://www.dickimaw-books.com/faq.php?category=datatool)
+
+http://www.dickimaw-books.com/


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/README.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/datatool/datatool-code.pdf
===================================================================
(Binary files differ)

Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example001.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example001.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example001.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example001.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example001.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example001.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example001.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example001.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example001.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example001.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example001.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example001.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example001.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,23 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 1 Regular Expressions with LaTeX3
+% Label: "ex:l3regex"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\ExplSyntaxOn
+\NewDocumentCommand{\testreplace} { m }
+{
+ \regex_replace_all:nnN
+  { \c{emph} \cB\{ (\w+) \cE\}}
+  { \c{textbf} { \c{text_uppercase:n}{ \1 } } }
+ #1
+}
+\ExplSyntaxOff 
+\begin{document}
+\newcommand{\teststring}{The duck said \emph{boo} to the goose.}
+Original: \teststring 
+
+\testreplace{\teststring}
+Replaced: \teststring 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example001.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example002.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example002.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example002.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example002.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example002.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example002.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example002.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example002.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example002.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example002.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example002.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example002.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example002.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,39 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 2 Comma-Separated Lists with LaTeX3
+% Label: "ex:l3clist"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\ExplSyntaxOn
+\clist_new:N \l_my_clist
+\NewDocumentCommand \createmylist { m }
+{
+ \clist_set:Nn \l_my_clist { #1 }
+}
+\NewDocumentCommand \mylistelement { m }
+{
+ \clist_item:Nn \l_my_clist { #1 }
+}
+\NewDocumentCommand \reversemylist { }
+{
+ \clist_reverse:N \l_my_clist
+}
+\NewDocumentCommand \displaymylist { }
+{
+ \clist_use:Nnnn \l_my_clist {~and~ } { ,~ } { ,~and~}
+}
+\ExplSyntaxOff 
+\begin{document}
+\createmylist{ant,duck,goose,zebra}
+\displaymylist
+
+
+Second element: \mylistelement{2}. 
+
+\reversemylist
+\displaymylist
+
+
+Second element: \mylistelement{2}. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example002.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example003.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example003.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example003.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example003.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example003.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example003.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example003.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example003.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example003.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example003.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example003.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example003.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example003.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,19 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 3 Performing Calculations with LaTeX3
+% Label: "ex:l3fptodec"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+ \ExplSyntaxOn
+\newcommand{\myfunc} [3]
+{
+ \fp_to_decimal:n{ #1 + 0.5 * sqrt(#2) / (#3) }
+}
+\ExplSyntaxOff
+\newcommand{\numA}{1023.5}
+\newcommand{\numB}{54.75000}
+\newcommand{\numC}{-20648.68} 
+\begin{document}
+ $ \numA+\frac{\sqrt{\numB}}{2\times\numC} = \myfunc{\numA}{\numB}{\numC} $ 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example003.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example004.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example004.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example004.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example004.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example004.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example004.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example004.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example004.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example004.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example004.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example004.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example004.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example004.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,16 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 4 Performing Calculations with LuaLaTeX
+% Label: "ex:directlua"
+% arara: lualatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\newcommand{\myfunc}[3]{% 
+ \directlua{tex.print(#1+0.5*math.sqrt(#2)/(#3))}% 
+}
+\newcommand{\numA}{1023.5}
+\newcommand{\numB}{54.75000}
+\newcommand{\numC}{-20648.68} 
+\begin{document}
+ $ \numA+\frac{\sqrt{\numB}}{2\times\numC} = \myfunc{\numA}{\numB}{\numC} $ 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example004.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example005.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example005.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example005.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example005.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example005.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example005.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example005.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example005.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example005.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example005.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example005.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example005.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example005.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,37 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 5 Datum Control Sequences
+% Label: "ex:datumcs"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool-base}
+\usepackage{siunitx}
+\DTLparse{\numA}{23,452}
+\DTLparse{\numB}{45.0}
+\DTLparse{\numC}{\pounds 24.50}
+\DTLsetfpdatum{\numD}{\num{1.5e-4}}{1.5e-4} 
+\begin{document}
+Original value: \DTLusedatum{\numC} or \numC.
+Numeric value: \DTLdatumvalue{\numC}.
+Currency: \DTLdatumcurrency{\numC}.
+Data type: \number\DTLdatumtype{\numC}. 
+
+\DTLadd{\result}{\numA}{\numB}
+$\numA + \numB = \result$ 
+
+\DTLaddall{\result}{\numA,\numB,\numC}
+$\numA + \numB + \numC = \result$ 
+
+\dtladd{\result}{\DTLdatumvalue{\numA}}{\DTLdatumvalue{\numB}}
+$\DTLdatumvalue{\numA} + \DTLdatumvalue{\numB} = \result$ 
+
+\dtladdall{\result}{\DTLdatumvalue{\numA},\DTLdatumvalue{\numB},\DTLdatumvalue{\numC}}
+$\DTLdatumvalue{\numA} + \DTLdatumvalue{\numB} + \DTLdatumvalue{\numC} = \result$ 
+
+\DTLxsetdecimaldatum{\total}{\num{\result}}{\result}
+Total: \total. 
+
+\dtlmul{\result}{20}{\DTLdatumvalue{\numD}}
+$20 \times \numD = \result$ 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example005.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example006.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example006.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example006.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example006.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example006.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example006.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example006.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example006.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example006.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example006.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example006.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example006.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example006.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,35 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 6 Datum Tests for Equality
+% Label: "ex:datumifeq"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool-base}
+\DTLparse{\Fruit}{Pear}
+\DTLparse{\Price}{\$1.50}
+\DTLparse{\Quantity}{10}
+\DTLsetcurrencydatum{\OtherPrice}{1 dollar 50\textcent}{1.5}{\$}
+\DTLsetdecimaldatum{\OtherQuantity}{10.00}{10.0}
+\newcommand{\test}[3]{#1=#2 (\texttt{\string#3}) ? #3{#1}{#2}{true}{false}.\par} 
+\begin{document}
+\ExplSyntaxOn
+\test \Fruit {Pear} \tl_if_eq:NnTF
+\test \Fruit {Pear} \tl_if_eq:enTF
+\test \Fruit {Pear} \datatool_if_value_eq:NnTF 
+
+\test \Price {\$1.50} \tl_if_eq:NnTF
+\test \Price {\$1.50} \tl_if_eq:enTF
+\test \Price {\$1.50} \datatool_if_value_eq:NnTF
+\test \Price {\$1.5} \datatool_if_value_eq:NnTF
+\test \Price \OtherPrice \tl_if_eq:NNTF
+\test \Price \OtherPrice \datatool_if_value_eq:NNTF 
+
+\test \Quantity {10} \tl_if_eq:NnTF
+\test \Quantity {10} \tl_if_eq:enTF
+\test \Quantity {10} \datatool_if_value_eq:NnTF
+\test \Quantity {10.00} \datatool_if_value_eq:NnTF
+\test \Quantity \OtherQuantity \tl_if_eq:NNTF
+\test \Quantity \OtherQuantity \datatool_if_value_eq:NNTF
+\ExplSyntaxOff 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example006.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example007.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example007.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example007.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example007.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example007.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example007.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example007.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example007.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example007.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example007.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example007.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example007.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example007.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,23 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 7 Datum Control Sequences to Floating Point Variables
+% Label: "ex:datumfp"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool-base}
+\usepackage{siunitx}
+\DTLparse{\numA}{1,500.0}
+\DTLsetfpdatum{\numB}{\num{1.5e-4}}{1.5e-4} 
+\begin{document}
+A = \numA \space (value: \DTLdatumvalue\numA).
+B = \numB \space (value: \DTLdatumvalue\numB). 
+
+\ExplSyntaxOn
+\datatool_set_fp:Nn \l_tmpa_fp { \numA }
+\datatool_set_fp:Nn \l_tmpb_fp { \numB }
+\fp_to_tl:N \l_tmpa_fp \c_space_tl \texttimes \c_space_tl
+\fp_to_tl:N \l_tmpb_fp \c_space_tl = \c_space_tl
+\fp_eval:n { \l_tmpa_fp * \l_tmpb_fp }
+\ExplSyntaxOff 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example007.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example008.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example008.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example008.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example008.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example008.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example008.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example008.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example008.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example008.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example008.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example008.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example008.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example008.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,15 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 8 Localisation Support (en-CA)
+% Label: "ex:enCA"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage[locales=en-CA]{datatool-base} 
+\begin{document}
+Default currency: \DTLCurrencyCode. 
+
+\newcommand{\mylist}{elk,élite,elephant}
+\DTLsortwordlist{\mylist}{\DTLsortletterhandler}
+Sorted list: \DTLformatlist{\mylist}. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example008.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example009.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example009.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example009.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example009.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example009.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example009.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example009.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example009.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example009.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example009.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example009.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example009.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example009.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,17 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 9 Localisation Support (fr-CA)
+% Label: "ex:frCA"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage[T1]{fontenc}
+\usepackage[canadien]{babel}
+\usepackage{datatool-base} 
+\begin{document}
+Default currency: \DTLCurrencyCode. 
+
+\newcommand{\mylist}{elk,élite,elephant}
+\DTLsortwordlist{\mylist}{\DTLsortletterhandler}
+Sorted list: \DTLformatlist{\mylist}. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example009.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example010.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example010.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example010.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example010.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example010.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example010.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example010.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example010.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example010.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example010.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example010.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example010.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example010.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,52 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 10 Icelandic Alphabetic
+% Label: "ex:icelandic"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{datatool-base}
+\ExplSyntaxOn 
+
+\newcommand{\DTLisLocaleHandler}[1]{
+ \regex_replace_case_all:nN
+ {
+  { Á } { A\cL\x{7f} }
+  { á } { a\cL\x{7f} }
+  { Ð } { D\cL\x{7f} }
+  { ð } { d\cL\x{7f} }
+  { É } { E\cL\x{7f} }
+  { é } { e\cL\x{7f} }
+  { Í } { I\cL\x{7f} }
+  { í } { i\cL\x{7f} }
+  { Ó } { O\cL\x{7f} }
+  { ó } { o\cL\x{7f} }
+  { Ú } { U\cL\x{7f} }
+  { ú } { u\cL\x{7f} }
+  { Ý } { Y\cL\x{7f} }
+  { ý } { y\cL\x{7f} }
+  { Þ } { \cL\x{5b} }
+  { þ } { \cL\x{7b} }
+  { Æ } { \cL\x{5c} }
+  { æ } { \cL\x{7c} }
+  { Ö } { \cL\x{5d} }
+  { ö } { \cL\x{7d} }
+  { ([[:punct:]]+) } { \cO"\1 }
+  }
+ #1
+} 
+
+\ExplSyntaxOff 
+
+\let\DTLCurrentLocaleWordHandler\DTLisLocaleHandler 
+
+\newcommand{\mylist}{bókstafinn, vera, eða, 
+ ég, býsna, þú, vakna, epli, bragðs, aldar, bað, bolli, ýmist, af, 
+ óáreiðanleg, bær, dalur, ör, þorn, þau, október, esja, öngull, dæmi, að, yfir, 
+ öðrum, orð, detta, áhrif, yngri, óvinur, ætlað} 
+\begin{document}
+\DTLsortwordlist{\mylist}{\DTLsortletterhandler}
+Sorted list: \DTLformatlist{\mylist}. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example010.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example011.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example011.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example011.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example011.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example011.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example011.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example011.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example011.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example011.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example011.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example011.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example011.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example011.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,39 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 11 IJ-Initial Support
+% Label: "ex:ijinitial"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool-base}
+\ExplSyntaxOn
+ \newcommand{\DTLdutchLocaleGetInitialLetter}[2]{
+ \tl_clear:N #2
+ \text_map_inline:nn { #1 } 
+ { 
+ \tl_if_empty:NTF #2 
+  {
+    \datatool_if_letter:nT { ##1 }
+    {
+      \tl_set:Nn #2 { ##1 }
+      \tl_if_in:nnF { Ii } { ##1 } { \text_map_break: } 
+    }
+  } 
+ {
+  \tl_if_in:nnT { Jj } { ##1 } 
+    {
+      \tl_put_right:Nn #2 { ##1 }
+    }
+  \text_map_break:
+ }
+ }
+}
+\ExplSyntaxOff 
+
+\let\DTLCurrentLocaleGetInitialLetter\DTLdutchLocaleGetInitialLetter 
+\begin{document}
+IJsselmeer: \DTLinitials{IJsselmeer}
+Industrieel: \DTLinitials{Industrieel}
+``IJsselmeer'': \DTLinitials{``IJsselmeer''}
+``Industrieel'': \DTLinitials{``Industrieel''} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example011.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example012.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example012.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example012.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example012.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example012.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example012.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example012.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example012.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example012.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example012.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example012.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example012.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example012.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,71 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 12 Icelandic Sorting and Letter Groups
+% Label: "ex:icelandiclettergroup"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{datatool-base}
+\ExplSyntaxOn 
+
+\newcommand{\DTLisLocaleHandler}[1]{
+ \regex_replace_case_all:nN
+ {
+  { Á } { A\cL\x{7f} }
+    { á } { a\cL\x{7f} }
+    { Ð } { D\cL\x{7f} }
+    { ð } { d\cL\x{7f} }
+    { É } { E\cL\x{7f} }
+    { é } { e\cL\x{7f} }
+    { Í } { I\cL\x{7f} }
+    { í } { i\cL\x{7f} }
+    { Ó } { O\cL\x{7f} }
+    { ó } { o\cL\x{7f} }
+    { Ú } { U\cL\x{7f} }
+    { ú } { u\cL\x{7f} }
+    { Ý } { Y\cL\x{7f} }
+    { ý } { y\cL\x{7f} }
+    { Þ } { \cL\x{5b} }
+    { þ } { \cL\x{7b} }
+    { Æ } { \cL\x{5c} }
+    { æ } { \cL\x{7c} }
+    { Ö } { \cL\x{5d} }
+    { ö } { \cL\x{7d} }
+    { ([[:punct:]]+) } { \cO"\1 }
+    }
+ #1
+} 
+
+\newcommand{\DTLisLocaleGetInitialLetter}[2]{
+ \tl_set:Nn #2 { #1 }
+ \regex_replace_case_all:nN
+ {
+  { A\cL\x{7f} } { Á } { a\cL\x{7f} } { á }
+  { D\cL\x{7f} } { Ð } { d\cL\x{7f} } { ð }
+  { E\cL\x{7f} } { É } { e\cL\x{7f} } { é }
+  { I\cL\x{7f} } { Í } { i\cL\x{7f} } { í }
+  { O\cL\x{7f} } { Ó } { o\cL\x{7f} } { ó }
+  { U\cL\x{7f} } { Ú } { u\cL\x{7f} } { ú }
+  { Y\cL\x{7f} } { Ý } { y\cL\x{7f} } { ý }
+  { \cL\x{5b} } { Þ } { \cL\x{7b} } { þ }
+  { \cL\x{5c} } { Æ } { \cL\x{7c} } { æ }
+  { \cL\x{5d} } { Ö } { \cL\x{7d} } { ö }
+  } #2
+ \exp_args:No \datatool_get_first_letter:nN { #2 } #2
+} 
+
+\ExplSyntaxOff 
+
+\let\DTLCurrentLocaleWordHandler\DTLisLocaleHandler \let\DTLCurrentLocaleGetInitialLetter\DTLisLocaleGetInitialLetter 
+
+\newcommand{\mylist}{bókstafinn, vera, eða, 
+ ég, býsna, þú, vakna, epli, bragðs, aldar, bað, bolli, ýmist, af, 
+ óáreiðanleg, bær, dalur, ör, þorn, þau, október, esja, öngull, dæmi, að, yfir, 
+ öðrum, orð, detta, áhrif, yngri, óvinur, ætlað} 
+\begin{document}
+\DTLsortwordlist{\mylist}{\DTLsortletterhandler}
+\renewcommand{\DTLlistformatitem}[1]{#1 (\DTLsortedletter{#1})}
+Sorted list: \DTLformatlist{\mylist}. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example012.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example013.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example013.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example013.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example013.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example013.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example013.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example013.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example013.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example013.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example013.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example013.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example013.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example013.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,27 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 13 Test for Integer Value
+% Label: "ex:ifint"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool-base} 
+\begin{document}
+2536: \DTLifint{2536}{integer}{not an integer}. 
+
+2536.0: \DTLifint{2536.0}{integer}{not an integer}. 
+
+2,536: \DTLifint{2,536}{integer}{not an integer}. 
+
+2,5,3,6: \DTLifint{2,5,3,6}{integer}{not an integer}. 
+
+\DTLparse{\numA}{2,536}
+\numA: \DTLifint{\numA}{integer}{not an integer}. 
+
+\DTLsetnumberchars{.}{,}% 
+ 2,536: \DTLifint{2,536}{integer}{not an integer}. 
+
+2.536: \DTLifint{2.536}{integer}{not an integer}. 
+
+\numA: \DTLifint{\numA}{integer}{not an integer}. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example013.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example014.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example014.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example014.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example014.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example014.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example014.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example014.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example014.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example014.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example014.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example014.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example014.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example014.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,22 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 14 Test for Real Value
+% Label: "ex:ifreal"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool-base} 
+\begin{document}
+1000.0: \DTLifreal{1000.0}{real}{not real}. 
+
+1,000: \DTLifreal{1,000}{real}{not real}. 
+
+1,000.0: \DTLifreal{1,000.0}{real}{not real}. 
+
+1e+3: \DTLifreal{1e+3}{real}{not real}. 
+
+\DTLsetnumberchars{.}{,}% 
+ 1,000.0: \DTLifreal{1,000.0}{real}{not real}. 
+
+1.000,0: \DTLifreal{1.000,0}{real}{not real}. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example014.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example015.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example015.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example015.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example015.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example015.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example015.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example015.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example015.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example015.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example015.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example015.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example015.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example015.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,27 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 15 Test for Currency
+% Label: "ex:ifcurr"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool-base} 
+\begin{document}
+\$5.99: \DTLifcurrency{\$5.99}{currency}{not currency}. 
+
+\DTLcurrency{5.99}: \DTLifcurrency{\DTLcurrency{5.99}}{currency}{not currency}. 
+
+\pounds5.99: \DTLifcurrency{\pounds5.99}{currency}{not currency}. 
+
+\textsterling5.99: \DTLifcurrency{\textsterling5.99}{currency}{not currency}. 
+
+\$6.99: \DTLifcurrencyunit{\$6.99}{\$}{dollars}{not dollars}. 
+
+\newcommand{\cost}{\pounds10.50}% 
+ \cost: \DTLifcurrencyunit{\cost}{\pounds}{pounds}{not pounds}. 
+
+US\$5.99: \DTLifcurrency{US\$}{currency}{not currency}. 
+
+\DTLnewcurrencysymbol{US\$}% 
+ US\$5.99: \DTLifcurrency{US\$}{currency}{not currency}. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example015.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example016.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example016.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example016.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example016.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example016.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example016.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example016.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example016.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example016.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example016.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example016.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example016.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example016.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,22 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 16 Test for Numerical
+% Label: "ex:ifnum"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool-base} 
+\begin{document}
+1,234: \DTLifnumerical{1,234}{numeric}{not numeric}. 
+
+1,234.0: \DTLifnumerical{1,234.0}{numeric}{not numeric}. 
+
+\$1,234.0: \DTLifnumerical{\$1,234.0}{numeric}{not numeric}. 
+
+1.234,0: \DTLifnumerical{1.234,0}{numeric}{not numeric}. 
+
+\DTLsetnumberchars{.}{,}% 
+ 1.234,0: \DTLifnumerical{1.234,0}{numeric}{not numeric}. 
+
+Empty: \DTLifnumerical{}{numeric}{not numeric}. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example016.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example017.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example017.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example017.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example017.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example017.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example017.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example017.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example017.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example017.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example017.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example017.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example017.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example017.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,17 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 17 Test for Strings
+% Label: "ex:ifstr"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool-base} 
+\begin{document}
+1,234: \DTLifstring{1,234}{string}{not string}. 
+
+\$1,234.0: \DTLifstring{\$1,234.0}{string}{not string}. 
+
+1,2,3,4: \DTLifstring{1,2,3,4}{string}{not string}. 
+
+Empty: \DTLifstring{}{string}{not string}. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example017.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example018.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example018.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example018.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example018.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example018.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example018.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example018.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example018.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example018.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example018.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example018.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example018.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example018.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,19 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 18 Test for Data Type
+% Label: "ex:ifcasedata"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool-base} 
+\begin{document}
+1,234: \DTLifcasedatatype{1,234}{string}{int}{real}{currency}. 
+
+1,234.0: \DTLifcasedatatype{1,234.0}{string}{int}{real}{currency}. 
+
+\$1,234: \DTLifcasedatatype{\$1,234}{string}{int}{real}{currency}. 
+
+1,2,3,4: \DTLifcasedatatype{1,2,3,4}{string}{int}{real}{currency}. 
+
+Empty: \DTLifcasedatatype{}{string}{int}{real}{currency}. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example018.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example019.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example019.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example019.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example019.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example019.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example019.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example019.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example019.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example019.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example019.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example019.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example019.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example019.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,21 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 19 Testing if an Element is in a Comma-Separated List
+% Label: "ex:DTLifinlist"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+ \usepackage{datatool-base}
+\newcommand{\goose}{goose}
+\newcommand{\mylist}{duck,\goose,{ant},zebra} 
+\begin{document}
+ `ant' in list? \DTLifinlist{ant}{\mylist}{true}{false}. 
+
+`goose' in list? \DTLifinlist{goose}{\mylist}{true}{false}. 
+
+`\goose' in list? \DTLifinlist{\goose}{\mylist}{true}{false}. 
+
+`duck' in list? \DTLifinlist{duck}{\mylist}{true}{false}. 
+
+`zebra' in list? \DTLifinlist{zebra}{\mylist}{true}{false}. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example019.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example020.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example020.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example020.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example020.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example020.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example020.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example020.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example020.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example020.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example020.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example020.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example020.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example020.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,25 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 20 String Equality Tests
+% Label: "ex:streq"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool-base}
+\newcommand{\strA}{zebra}
+\newcommand{\strB}{Zebra} 
+\begin{document}
+`\strA' is \DTLifstringeq{\strA}{\strB}{the same}{not the same} as `\strB' (case). 
+
+`\strA' is \DTLifstringeq*{\strA}{\strB}{the same}{not the same} as `\strB' (no case). 
+
+`\strA' is \DTLifstringeq{\strA}{zebra}{the same}{not the same} as `zebra' (case). 
+
+`\emph{ant}' is \DTLifstringeq{\emph{ant}}{ant}{the same}{not the same} as `ant'. 
+
+\DTLsetup{compare={skip-cs}} `\emph{ant}' is \DTLifstringeq{\emph{ant}}{ant}{the same}{not the same} as `ant' (skip cs). 
+
+`ant zebra' is \DTLifstringeq{ant zebra}{ant \strA}{the same}{not the same} as `ant \strA' (no expansion). 
+
+\DTLsetup{compare={expand-cs}} `ant zebra' is \DTLifstringeq{ant zebra}{ant \strA}{the same}{not the same} as `ant \strA' (expansion). 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example020.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example021.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example021.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example021.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example021.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example021.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example021.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example021.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example021.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example021.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example021.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example021.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example021.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example021.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,17 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 21 String Less Than
+% Label: "ex:strlt"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool-base} 
+\begin{document}
+`aardvark' is
+\DTLifstringlt{aardvark}{Zebra}{before}{after}
+`Zebra' (case). 
+
+`aardvark' is
+\DTLifstringlt*{aardvark}{Zebra}{before}{after}
+`Zebra' (no case). 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example021.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example022.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example022.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example022.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example022.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example022.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example022.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example022.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example022.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example022.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example022.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example022.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example022.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example022.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,17 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 22 String Greater Than
+% Label: "ex:strgt"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool-base} 
+\begin{document}
+`aardvark' is
+\DTLifstringgt{aardvark}{Zebra}{after}{before}
+`Zebra' (case). 
+
+`aardvark' is
+\DTLifstringgt*{aardvark}{Zebra}{after}{before}
+`Zebra' (no case). 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example022.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example023.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example023.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example023.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example023.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example023.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example023.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example023.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example023.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example023.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example023.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example023.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example023.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example023.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,21 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 23 String Between Tests
+% Label: "ex:strcmp"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool-base} 
+\begin{document}
+`duck' lies between `Duck' and `Duckling' (exclusive, case)?
+\DTLifstringopenbetween{duck}{Duck}{Duckling}{true}{false}. 
+
+`duck' lies between `Duck' and `Duckling' (exclusive, no case)?
+\DTLifstringopenbetween*{duck}{Duck}{Duckling}{true}{false}. 
+
+`duck' lies between `Duck' and `Duckling' (inclusive, case)?
+\DTLifstringclosedbetween{duck}{Duck}{Duckling}{true}{false}. 
+
+`duck' lies between `Duck' and `Duckling' (inclusive, no case)?
+\DTLifstringclosedbetween*{duck}{Duck}{Duckling}{true}{false}. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example023.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example024.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example024.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example024.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example024.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example024.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example024.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example024.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example024.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example024.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example024.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example024.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example024.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example024.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,42 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 24 Substring Tests
+% Label: "ex:substrif"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool-base}
+\newcommand{\strA}{An apple}
+\newcommand{\strB}{n~ap} 
+\begin{document}
+(First two arguments expanded) `\strB' 
+\DTLifSubString{\strA}{\strB}{is substring}{isn't substring}
+of `\strA'. 
+
+`app'
+\DTLifSubString{An apple}{app}{is substring}{isn't substring}
+of `An apple'. 
+
+(Non-breakable space same as space) `n~a'
+\DTLifSubString{An apple}{n~a}{is substring}{isn't substring}
+of `An apple'. 
+
+(Robust commands stripped) `app'
+\DTLifSubString{An \MakeUppercase{a}pple}{app}{is substring}{isn't substring}
+of `An \MakeUppercase{a}pple'. 
+
+(Grouping stripped) `app'
+\DTLifSubString{An {ap}ple}{app}{is substring}{isn't substring}
+of `An {ap}ple'. 
+
+(Case-sensitive) `app'
+\DTLifSubString{An Apple}{app}{is substring}{isn't substring}
+of `An Apple'. 
+
+(Not case-sensitive) `app' \DTLifSubString*{An Apple}{app}{is substring}{isn't substring}
+of `An Apple'. 
+
+(Leading space) ` app'
+\DTLifSubString{Anapple}{ app}{is substring}{isn't substring}
+of `Anapple'. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example024.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example025.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example025.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example025.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example025.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example025.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example025.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example025.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example025.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example025.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example025.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example025.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example025.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example025.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,44 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 25 Prefix Tests
+% Label: "ex:prefixif"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool-base}
+\newcommand{\strA}{An apple}
+\newcommand{\strB}{n~ap}
+\newcommand{\strC}{An~ap} 
+\begin{document}
+(First two arguments expanded) `\strB' 
+\DTLifStartsWith{\strA}{\strB}{is prefix}{isn't prefix}
+of `\strA'. 
+
+(First two arguments expanded) `\strC' 
+\DTLifStartsWith{\strA}{\strC}{is prefix}{isn't prefix}
+of `\strA'. 
+
+(Non-breakable space same as space) `An~a'
+\DTLifStartsWith{An apple}{An~a}{is prefix}{isn't prefix}
+of `An apple'. 
+
+(Robust commands stripped) `app'
+\DTLifStartsWith{\MakeUppercase{a}pple}{app}{is prefix}{isn't prefix}
+of `\MakeUppercase{a}pple'. 
+
+(Case-sensitive) `app'
+\DTLifStartsWith{Apple}{app}{is prefix}{isn't prefix}
+of `Apple'. 
+
+(Ignore case) `app'
+\DTLifStartsWith*{Apple}{app}{is prefix}{isn't prefix}
+of `Apple'. 
+
+(Trailing space) `an '
+\DTLifStartsWith{an apple}{an }{is prefix}{isn't prefix}
+of `an apple'. 
+
+(Trailing space) `an '
+\DTLifStartsWith{anapple}{an }{is prefix}{isn't prefix}
+of `anapple'. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example025.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example026.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example026.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example026.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example026.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example026.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example026.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example026.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example026.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example026.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example026.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example026.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example026.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example026.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,40 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 26 Suffix Tests
+% Label: "ex:suffixif"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool-base}
+\newcommand{\strA}{An apple}
+\newcommand{\strB}{n~apple}
+
+\begin{document}
+(First two arguments expanded) `\strB'
+\DTLifEndsWith{\strA}{\strB}{is suffix}{isn't suffix}
+of `\strA'. 
+
+(Non-breakable space same as space) `n~apple'
+\DTLifEndsWith{An apple}{n~apple}{is suffix}{isn't suffix}
+of `An apple'. 
+
+(Robust commands stripped) `apple'
+\DTLifEndsWith{An \MakeUppercase{a}pple}{apple}{is suffix}{isn't suffix}
+of `An \MakeUppercase{a}pple'. 
+
+(Case-sensitive) `apple'
+\DTLifEndsWith{An Apple}{apple}{is suffix}{isn't suffix}
+of `An Apple'. 
+
+(Ignore case) `apple'
+\DTLifEndsWith*{An Apple}{apple}{is suffix}{isn't suffix}
+of `An Apple'. 
+
+(Leading space) ` apple'
+\DTLifEndsWith{an apple}{ apple}{is suffix}{isn't suffix}
+of `an apple'. 
+
+(Leading space) ` apple'
+\DTLifEndsWith{anapple}{ apple}{is suffix}{isn't suffix}
+of `anapple'. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example026.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example027.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example027.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example027.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example027.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example027.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example027.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example027.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example027.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example027.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example027.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example027.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example027.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example027.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,25 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 27 All Upper/Lower Case Tests
+% Label: "ex:ifallcase"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+ \usepackage{datatool-base} 
+\begin{document}
+café: \DTLifAllUpperCase{café}{all caps}{not all caps}. 
+
+Café: \DTLifAllUpperCase{Café}{all caps}{not all caps}. 
+
+CAFÉ: \DTLifAllUpperCase{CAFÉ}{all caps}{not all caps}. 
+
+café: \DTLifAllLowerCase{café}{all lower}{not all lower}. 
+
+Café: \DTLifAllLowerCase{Café}{all lower}{not all lower}. 
+
+CAFÉ: \DTLifAllLowerCase{CAFÉ}{all lower}{not all lower}. 
+
+bric-\`a-brac: \DTLifAllLowerCase{bric-\`a-brac}{all lower}{not all lower}. 
+
+\emph{HORS D'\OE UVRE}: \DTLifAllUpperCase{\emph{HORS D'\OE UVRE}}{all caps}{not all caps}. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example027.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example028.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example028.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example028.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example028.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example028.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example028.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example028.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example028.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example028.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example028.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example028.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example028.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example028.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,21 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 28 Numerical Comparisons (Parsed)
+% Label: "ex:DTLifnum"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+ \usepackage[math=l3fp]{datatool-base} 
+\begin{document}
+$1,234.0 = 1234$? \DTLifnumeq{1,234.0}{1234}{true}{false}. 
+
+$\$12.00 = \pounds12$? \DTLifnumeq{\$12.00}{\pounds12}{true}{false}. 
+
+$\$10.50 < \pounds10$? \DTLifnumlt{\$10.50}{\pounds10}{true}{false}. 
+
+$1,000.0 > 1,000$? \DTLifnumgt{1,000.0}{1,000}{true}{false}. 
+
+$1000 < \$1,000.00 < 2000$? \DTLifnumopenbetween{\$1,000.00}{1000}{2000}{true}{false}. 
+
+$1000 \leq \$1,000.00 \leq 2000$? \DTLifnumclosedbetween{\$1,000.00}{1000}{2000}{true}{false}. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example028.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example029.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example029.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example029.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example029.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example029.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example029.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example029.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example029.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example029.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example029.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example029.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example029.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example029.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,40 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 29 Conditionals (l3fp)
+% Label: "ex:l3fpif"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage[math=l3fp]{datatool-base}
+\newcommand{\numducks}{4} 
+\begin{document}
+\edef\test{There
+ \dtlifnumeq{\numducks}{1}{is 1 duck}{are \numducks\space ducks}.}
+\texttt{\meaning\test} 
+
+Test text: \test 
+
+\edef\test{There are
+ \dtlifnumlt{\numducks}{10}{less than}{not less than}
+ 10 ducks.} \texttt{\meaning\test} 
+
+Test text: \test 
+
+\edef\test{There are
+ \dtlifnumgt{\numducks}{10}{more than}{not more than}
+ 10 ducks.} \texttt{\meaning\test} 
+
+Test text: \test 
+
+\edef\test{There 
+ \dtlifnumopenbetween{\numducks}{4}{10}{are}{are not}
+ between 4 and 10 ducks (exclusive).} \texttt{\meaning\test} 
+
+Test text: \test 
+
+\edef\test{There 
+ \dtlifnumclosedbetween{\numducks}{4}{10}{are}{are not}
+ between 4 and 10 ducks (inclusive).} \texttt{\meaning\test} 
+
+Test text: \test 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example029.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example030.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example030.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example030.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example030.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example030.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example030.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example030.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example030.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example030.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example030.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example030.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example030.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example030.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,40 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 30 Conditionals (lua)
+% Label: "ex:luaif"
+% arara: lualatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage[math=lua]{datatool-base}
+\newcommand{\numducks}{4} 
+\begin{document}
+\edef\test{There
+ \dtlifnumeq{\numducks}{1}{is 1 duck}{are \numducks\space ducks}.}
+\texttt{\meaning\test} 
+
+Test text: \test 
+
+\edef\test{There are
+ \dtlifnumlt{\numducks}{10}{less than}{not less than}
+ 10 ducks.} \texttt{\meaning\test} 
+
+Test text: \test 
+
+\edef\test{There are
+ \dtlifnumgt{\numducks}{10}{more than}{not more than}
+ 10 ducks.} \texttt{\meaning\test} 
+
+Test text: \test 
+
+\edef\test{There 
+ \dtlifnumopenbetween{\numducks}{4}{10}{are}{are not}
+ between 4 and 10 ducks (exclusive).} \texttt{\meaning\test} 
+
+Test text: \test 
+
+\edef\test{There 
+ \dtlifnumclosedbetween{\numducks}{4}{10}{are}{are not}
+ between 4 and 10 ducks (inclusive).} \texttt{\meaning\test} 
+
+Test text: \test 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example030.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example031.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example031.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example031.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example031.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example031.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example031.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example031.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example031.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example031.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example031.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example031.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example031.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example031.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,40 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 31 Conditionals (fp)
+% Label: "ex:fpif"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage[math=fp]{datatool-base}
+\newcommand{\numducks}{4} 
+\begin{document}
+\edef\test{There
+ \dtlifnumeq{\numducks}{1}{is 1 duck}{are \numducks\space ducks}.}
+\texttt{\meaning\test} 
+
+Test text: \test 
+
+\edef\test{There are
+ \dtlifnumlt{\numducks}{10}{less than}{not less than}
+ 10 ducks.} \texttt{\meaning\test} 
+
+Test text: \test 
+
+\edef\test{There are
+ \dtlifnumgt{\numducks}{10}{more than}{not more than}
+ 10 ducks.} \texttt{\meaning\test} 
+
+Test text: \test 
+
+\edef\test{There 
+ \dtlifnumopenbetween{\numducks}{4}{10}{are}{are not}
+ between 4 and 10 ducks (exclusive).} \texttt{\meaning\test} 
+
+Test text: \test 
+
+\edef\test{There 
+ \dtlifnumclosedbetween{\numducks}{4}{10}{are}{are not}
+ between 4 and 10 ducks (inclusive).} \texttt{\meaning\test} 
+
+Test text: \test 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example031.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example032.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example032.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example032.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example032.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example032.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example032.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example032.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example032.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example032.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example032.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example032.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example032.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example032.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,40 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 32 Conditionals (pgfmath)
+% Label: "ex:pgfmathif"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage[math=pgfmath]{datatool-base}
+\newcommand{\numducks}{4} 
+\begin{document}
+\edef\test{There
+ \dtlifnumeq{\numducks}{1}{is 1 duck}{are \numducks\space ducks}.}
+\texttt{\meaning\test} 
+
+Test text: \test 
+
+\edef\test{There are
+ \dtlifnumlt{\numducks}{10}{less than}{not less than}
+ 10 ducks.} \texttt{\meaning\test} 
+
+Test text: \test 
+
+\edef\test{There are
+ \dtlifnumgt{\numducks}{10}{more than}{not more than}
+ 10 ducks.} \texttt{\meaning\test} 
+
+Test text: \test 
+
+\edef\test{There 
+ \dtlifnumopenbetween{\numducks}{4}{10}{are}{are not}
+ between 4 and 10 ducks (exclusive).} \texttt{\meaning\test} 
+
+Test text: \test 
+
+\edef\test{There 
+ \dtlifnumclosedbetween{\numducks}{4}{10}{are}{are not}
+ between 4 and 10 ducks (inclusive).} \texttt{\meaning\test} 
+
+Test text: \test 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example032.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example033.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example033.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example033.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example033.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example033.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example033.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example033.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example033.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example033.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example033.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example033.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example033.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example033.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,33 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 33 Numerical/String Comparisons
+% Label: "ex:DTLif"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+ \usepackage[math=l3fp]{datatool-base} 
+\begin{document}
+1 = 1.0? (numeric) \DTLifeq{1}{1.0}{true}{false}. 
+
+1p = 1.0p? (string) \DTLifeq{1p}{1.0p}{true}{false}. 
+
+2 lt 10? (numeric) \DTLiflt{2}{10}{true}{false}. 
+
+A2 lt A10? (string) \DTLiflt{A2}{A10}{true}{false}. 
+
+2.0 gt 10.0? (numeric) \DTLifgt{2}{10}{true}{false}. 
+
+A2.0 gt A10.0? (string) \DTLifgt{A2.0}{A10.0}{true}{false}. 
+
+10 between 1 and 20 (numeric, exclusive)?
+\DTLifopenbetween{10}{1}{20}{true}{false}. 
+
+10p between 1p and 20p (string, exclusive)?
+\DTLifopenbetween{10p}{1p}{20p}{true}{false}. 
+
+1 between 1.0 and 2 (numeric, inclusive)?
+\DTLifclosedbetween{1}{1.0}{2}{true}{false}. 
+
+1 between 1.0 and 2A (string, inclusive)?
+\DTLifclosedbetween{1}{1.0}{2A}{true}{false}. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example033.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example034.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example034.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example034.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example034.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example034.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example034.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example034.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example034.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example034.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example034.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example034.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example034.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example034.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,29 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 34 Data Type Conditionals for use with ifthen
+% Label: "ex:DTListype"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool-base} 
+\begin{document}
+1,234.0: \ifthenelse{\DTLisint{1,234.0}}{int}{not int}. 
+
+1,234: \ifthenelse{\DTLisint{1,234}}{int}{not int}. 
+
+1,234.0: \ifthenelse{\DTLisreal{1,234.0}}{real}{not real}. 
+
+1,234: \ifthenelse{\DTLisreal{1,234}}{real}{not real}. 
+
+Compare: \$1,234: \DTLifcurrency{\$1,234}{currency}{not currency}. With: \$1,234: \ifthenelse{\DTLiscurrency{\$1,234}}{currency}{not currency}. 
+
+\DTLnewcurrencysymbol{\protect\$}% 
+ \$1,234: \ifthenelse{\DTLiscurrency{\$1,234}}{currency}{not currency}. 
+
+1.234,0: \ifthenelse{\DTLisnumerical{1.234,0}}{numerical}{not numerical}; \ifthenelse{\DTLisstring{1.234,0}}{string}{not string}. 
+
+\DTLsetnumberchars{.}{,}% 
+ 1.234,0: \ifthenelse{\DTLisnumerical{1.234,0}}{numerical}{not numerical}; \ifthenelse{\DTLisstring{1.234,0}}{string}{not string}. 
+
+Empty: \ifthenelse{\DTLisnumerical{}}{numerical}{not numerical}; \ifthenelse{\DTLisstring{}}{string}{not string}. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example034.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example035.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example035.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example035.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example035.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example035.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example035.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example035.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example035.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example035.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example035.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example035.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example035.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example035.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,27 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 35 Order Conditionals for use with ifthen
+% Label: "ex:DTLiscmp"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool-base} 
+\begin{document}
+$1 = 1.0$? \ifthenelse{\DTLiseq{1}{1.0}}{true}{false}. 
+
+duck = Duck? (case-sensitive) \ifthenelse{\DTLiseq{duck}{Duck}}{true}{false}. 
+
+duck = Duck? (ignore case) \ifthenelse{\DTLisieq{duck}{Duck}}{true}{false}. 
+
+$2 < 10$? \ifthenelse{\DTLislt{2}{10}}{true}{false}. 
+
+a before Z? (case-sensitive) \ifthenelse{\DTLislt{a}{Z}}{true}{false}. 
+
+a before Z? (ignore case) \ifthenelse{\DTLisilt{2}{10}}{true}{false}. 
+
+$1.5 > 1$? \ifthenelse{\DTLisgt{1.5}{1}}{true}{false}. 
+
+a after Z? (case-sensitive) \ifthenelse{\DTLisgt{a}{Z}}{true}{false}. 
+
+a after Z? (ignore case) \ifthenelse{\DTLisigt{2}{10}}{true}{false}. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example035.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example036.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example036.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example036.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example036.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example036.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example036.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example036.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example036.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example036.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example036.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example036.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example036.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example036.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,42 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 36 Substring Conditionals for use with ifthen
+% Label: "ex:DTLissubstr"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool-base} 
+\begin{document}
+`goose' element of list `ant,duck,goose'?
+\ifthenelse{\DTLisinlist{goose}{ant,duck,goose}}{true}{false}. 
+
+`oo' element of list `ant,duck,goose'?
+\ifthenelse{\DTLisinlist{oo}{ant,duck,goose}}{true}{false}. 
+
+`oo' in `goose'?
+\ifthenelse{\DTLisSubString{goose}{oo}}{true}{false}. 
+
+`oo' in `GOOSE' (case-sensitive)?
+\ifthenelse{\DTLisSubString{GOOSE}{oo}}{true}{false}. 
+
+`oo' in `GOOSE' (ignore case)?
+\ifthenelse{\DTLisiSubString{GOOSE}{oo}}{true}{false}. 
+
+`go' prefix of `goose'?
+\ifthenelse{\DTLisPrefix{goose}{go}}{true}{false}. 
+
+`go' prefix of `GOOSE' (case-sensitive)?
+\ifthenelse{\DTLisPrefix{GOOSE}{go}}{true}{false}. 
+
+`go' prefix of `GOOSE' (ignore case)?
+\ifthenelse{\DTLisiPrefix{GOOSE}{go}}{true}{false}. 
+
+`se' suffix of `goose'?
+\ifthenelse{\DTLisSuffix{goose}{se}}{true}{false}. 
+
+`se' suffix of `GOOSE' (case-sensitive)?
+\ifthenelse{\DTLisSuffix{GOOSE}{se}}{true}{false}. 
+
+`se' suffix of `GOOSE' (ignore case)?
+\ifthenelse{\DTLisiSuffix{GOOSE}{se}}{true}{false}. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example036.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example037.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example037.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example037.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example037.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example037.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example037.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example037.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example037.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example037.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example037.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example037.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example037.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example037.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,94 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 37 Decimal Functions (l3fp)
+% Label: "ex:l3fpcalc"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage[math=l3fp]{datatool-base}
+\newcommand{\numA}{1023.5}
+\newcommand{\numB}{54.75000}
+\newcommand{\numC}{-20648.68}
+\newcommand{\numlist}{32.456,0.15,-25,48.7,92} 
+\begin{document}
+\dtladd{\result}{\numA}{\numB}
+$\numA + \numB = \result$. 
+
+\dtladd{\result}{\result}{\numC}
+Add $\numC$ to previous result. Updated result: \result. 
+
+\dtladdall{\result}{\numlist}
+Sum of all numbers in the set $\{\numlist\}$: \result. 
+
+\dtlsub{\result}{\numA}{\numB}
+$\numA - \numB = \result$. 
+
+\dtlsub{\result}{\result}{\numC}
+Subtract $\numC$ from previous result. Updated result: \result. 
+
+\dtlmul{\result}{\numA}{\numB}
+$\numA \times \numB = \result$. 
+
+\dtlmul{\result}{\result}{\numC}
+Multiply previous result by $\numC$. Updated result: \result. 
+
+\dtldiv{\result}{\numA}{\numB}
+$\numA \div \numB = \result$. 
+
+\dtldiv{\result}{\result}{\numC}
+Divide previous result by $\numC$. Updated result: \result. 
+
+\dtlsqrt{\result}{\numA}
+$\sqrt{\numA} = \result$. 
+
+\dtlsqrt{\result}{9}
+$\sqrt{9} = \result$. 
+
+\dtlroot{\result}{\numA}{3}
+$\sqrt[3]{\numA} = \result$. 
+
+\dtlroot{\result}{8}{3}
+$\sqrt[3]{8} = \result$. 
+
+\dtlround{\result}{\numB}{1}
+Round $\numB$ to 1dp: \result. 
+
+\dtltrunc{\result}{\numB}{1}
+Truncate $\numB$ to 1dp: \result. 
+
+\dtlclip{\result}{\numB}
+Clip $\numB$: \result. 
+
+\dtlmin{\result}{\numA}{\numB}
+Minimum of $\numA$ and $\numB$: \result. 
+
+\dtlminall{\result}{\numlist}
+Minimum value in the set $\{\numlist\}$: \result. 
+
+\dtlmax{\result}{\numA}{\numB}
+Maximum of $\numA$ and $\numB$: \result. 
+
+\dtlmaxall{\result}{\numlist}
+Maximum value in the set $\{\numlist\}$: \result. 
+
+\dtlabs{\result}{\numC}
+Absolute value of $\numC$: \result. 
+
+\dtlneg{\result}{\numC}
+Negate value of $\numC$: \result. 
+
+\dtlmeanforall{\meanvalue}{\numlist}
+Mean of all numbers in the set $\{\numlist\}$: \meanvalue. 
+
+\dtlvarianceforall[\meanvalue]{\result}{\numlist}
+Variance of all numbers in the set $\{\numlist\}$ (using previously calculated mean): \result. 
+
+\dtlvarianceforall{\result}{\numlist}
+Variance of all numbers in the set $\{\numlist\}$ (not using previously calculated mean): \result. 
+
+\dtlsdforall[\meanvalue]{\result}{\numlist}
+Standard deviation of all numbers in the set $\{\numlist\}$ (using previously calculated mean): \result. 
+
+\dtlsdforall{\result}{\numlist}
+Standard deviation of all numbers in the set $\{\numlist\}$ (not using previously calculated mean): \result. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example037.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example038.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example038.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example038.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example038.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example038.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example038.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example038.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example038.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example038.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example038.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example038.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example038.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example038.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,94 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 38 Decimal Functions (lua)
+% Label: "ex:luacalc"
+% arara: lualatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage[math=lua]{datatool-base}
+\newcommand{\numA}{1023.5}
+\newcommand{\numB}{54.75000}
+\newcommand{\numC}{-20648.68}
+\newcommand{\numlist}{32.456,0.15,-25,48.7,92} 
+\begin{document}
+\dtladd{\result}{\numA}{\numB}
+$\numA + \numB = \result$. 
+
+\dtladd{\result}{\result}{\numC}
+Add $\numC$ to previous result. Updated result: \result. 
+
+\dtladdall{\result}{\numlist}
+Sum of all numbers in the set $\{\numlist\}$: \result. 
+
+\dtlsub{\result}{\numA}{\numB}
+$\numA - \numB = \result$. 
+
+\dtlsub{\result}{\result}{\numC}
+Subtract $\numC$ from previous result. Updated result: \result. 
+
+\dtlmul{\result}{\numA}{\numB}
+$\numA \times \numB = \result$. 
+
+\dtlmul{\result}{\result}{\numC}
+Multiply previous result by $\numC$. Updated result: \result. 
+
+\dtldiv{\result}{\numA}{\numB}
+$\numA \div \numB = \result$. 
+
+\dtldiv{\result}{\result}{\numC}
+Divide previous result by $\numC$. Updated result: \result. 
+
+\dtlsqrt{\result}{\numA}
+$\sqrt{\numA} = \result$. 
+
+\dtlsqrt{\result}{9}
+$\sqrt{9} = \result$. 
+
+\dtlroot{\result}{\numA}{3}
+$\sqrt[3]{\numA} = \result$. 
+
+\dtlroot{\result}{8}{3}
+$\sqrt[3]{8} = \result$. 
+
+\dtlround{\result}{\numB}{1}
+Round $\numB$ to 1dp: \result. 
+
+\dtltrunc{\result}{\numB}{1}
+Truncate $\numB$ to 1dp: \result. 
+
+\dtlclip{\result}{\numB}
+Clip $\numB$: \result. 
+
+\dtlmin{\result}{\numA}{\numB}
+Minimum of $\numA$ and $\numB$: \result. 
+
+\dtlminall{\result}{\numlist}
+Minimum value in the set $\{\numlist\}$: \result. 
+
+\dtlmax{\result}{\numA}{\numB}
+Maximum of $\numA$ and $\numB$: \result. 
+
+\dtlmaxall{\result}{\numlist}
+Maximum value in the set $\{\numlist\}$: \result. 
+
+\dtlabs{\result}{\numC}
+Absolute value of $\numC$: \result. 
+
+\dtlneg{\result}{\numC}
+Negate value of $\numC$: \result. 
+
+\dtlmeanforall{\meanvalue}{\numlist}
+Mean of all numbers in the set $\{\numlist\}$: \meanvalue. 
+
+\dtlvarianceforall[\meanvalue]{\result}{\numlist}
+Variance of all numbers in the set $\{\numlist\}$ (using previously calculated mean): \result. 
+
+\dtlvarianceforall{\result}{\numlist}
+Variance of all numbers in the set $\{\numlist\}$ (not using previously calculated mean): \result. 
+
+\dtlsdforall[\meanvalue]{\result}{\numlist}
+Standard deviation of all numbers in the set $\{\numlist\}$ (using previously calculated mean): \result. 
+
+\dtlsdforall{\result}{\numlist}
+Standard deviation of all numbers in the set $\{\numlist\}$ (not using previously calculated mean): \result. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example038.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example039.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example039.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example039.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example039.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example039.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example039.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example039.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example039.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example039.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example039.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example039.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example039.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example039.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,94 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 39 Decimal Functions (fp)
+% Label: "ex:fpcalc"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage[math=fp]{datatool-base}
+\newcommand{\numA}{1023.5}
+\newcommand{\numB}{54.75000}
+\newcommand{\numC}{-20648.68}
+\newcommand{\numlist}{32.456,0.15,-25,48.7,92} 
+\begin{document}
+\dtladd{\result}{\numA}{\numB}
+$\numA + \numB = \result$. 
+
+\dtladd{\result}{\result}{\numC}
+Add $\numC$ to previous result. Updated result: \result. 
+
+\dtladdall{\result}{\numlist}
+Sum of all numbers in the set $\{\numlist\}$: \result. 
+
+\dtlsub{\result}{\numA}{\numB}
+$\numA - \numB = \result$. 
+
+\dtlsub{\result}{\result}{\numC}
+Subtract $\numC$ from previous result. Updated result: \result. 
+
+\dtlmul{\result}{\numA}{\numB}
+$\numA \times \numB = \result$. 
+
+\dtlmul{\result}{\result}{\numC}
+Multiply previous result by $\numC$. Updated result: \result. 
+
+\dtldiv{\result}{\numA}{\numB}
+$\numA \div \numB = \result$. 
+
+\dtldiv{\result}{\result}{\numC}
+Divide previous result by $\numC$. Updated result: \result. 
+
+\dtlsqrt{\result}{\numA}
+$\sqrt{\numA} = \result$. 
+
+\dtlsqrt{\result}{9}
+$\sqrt{9} = \result$. 
+
+\dtlroot{\result}{\numA}{3}
+$\sqrt[3]{\numA} = \result$. 
+
+\dtlroot{\result}{8}{3}
+$\sqrt[3]{8} = \result$. 
+
+\dtlround{\result}{\numB}{1}
+Round $\numB$ to 1dp: \result. 
+
+\dtltrunc{\result}{\numB}{1}
+Truncate $\numB$ to 1dp: \result. 
+
+\dtlclip{\result}{\numB}
+Clip $\numB$: \result. 
+
+\dtlmin{\result}{\numA}{\numB}
+Minimum of $\numA$ and $\numB$: \result. 
+
+\dtlminall{\result}{\numlist}
+Minimum value in the set $\{\numlist\}$: \result. 
+
+\dtlmax{\result}{\numA}{\numB}
+Maximum of $\numA$ and $\numB$: \result. 
+
+\dtlmaxall{\result}{\numlist}
+Maximum value in the set $\{\numlist\}$: \result. 
+
+\dtlabs{\result}{\numC}
+Absolute value of $\numC$: \result. 
+
+\dtlneg{\result}{\numC}
+Negate value of $\numC$: \result. 
+
+\dtlmeanforall{\meanvalue}{\numlist}
+Mean of all numbers in the set $\{\numlist\}$: \meanvalue. 
+
+\dtlvarianceforall[\meanvalue]{\result}{\numlist}
+Variance of all numbers in the set $\{\numlist\}$ (using previously calculated mean): \result. 
+
+\dtlvarianceforall{\result}{\numlist}
+Variance of all numbers in the set $\{\numlist\}$ (not using previously calculated mean): \result. 
+
+\dtlsdforall[\meanvalue]{\result}{\numlist}
+Standard deviation of all numbers in the set $\{\numlist\}$ (using previously calculated mean): \result. 
+
+\dtlsdforall{\result}{\numlist}
+Standard deviation of all numbers in the set $\{\numlist\}$ (not using previously calculated mean): \result. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example039.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example040.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example040.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example040.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example040.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example040.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example040.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example040.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example040.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example040.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example040.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example040.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example040.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example040.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,94 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 40 Decimal Functions (pgfmath)
+% Label: "ex:pgfmathcalc"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage[math=pgfmath]{datatool-base}
+\newcommand{\numA}{10.235}
+\newcommand{\numB}{0.5475000}
+\newcommand{\numC}{-206.4868}
+\newcommand{\numlist}{32.456,0.15,-25,48.7,92} 
+\begin{document}
+\dtladd{\result}{\numA}{\numB}
+$\numA + \numB = \result$. 
+
+\dtladd{\result}{\result}{\numC}
+Add $\numC$ to previous result. Updated result: \result. 
+
+\dtladdall{\result}{\numlist}
+Sum of all numbers in the set $\{\numlist\}$: \result. 
+
+\dtlsub{\result}{\numA}{\numB}
+$\numA - \numB = \result$. 
+
+\dtlsub{\result}{\result}{\numC}
+Subtract $\numC$ from previous result. Updated result: \result. 
+
+\dtlmul{\result}{\numA}{\numB}
+$\numA \times \numB = \result$. 
+
+\dtlmul{\result}{\result}{\numC}
+Multiply previous result by $\numC$. Updated result: \result. 
+
+\dtldiv{\result}{\numA}{\numB}
+$\numA \div \numB = \result$. 
+
+\dtldiv{\result}{\result}{\numC}
+Divide previous result by $\numC$. Updated result: \result. 
+
+\dtlsqrt{\result}{\numA}
+$\sqrt{\numA} = \result$. 
+
+\dtlsqrt{\result}{9}
+$\sqrt{9} = \result$. 
+
+\dtlroot{\result}{\numA}{3}
+$\sqrt[3]{\numA} = \result$. 
+
+\dtlroot{\result}{8}{3}
+$\sqrt[3]{8} = \result$. 
+
+\dtlround{\result}{\numB}{1}
+Round $\numB$ to 1dp: \result. 
+
+\dtltrunc{\result}{\numB}{1}
+Truncate $\numB$ to 1dp: \result. 
+
+\dtlclip{\result}{\numB}
+Clip $\numB$: \result. 
+
+\dtlmin{\result}{\numA}{\numB}
+Minimum of $\numA$ and $\numB$: \result. 
+
+\dtlminall{\result}{\numlist}
+Minimum value in the set $\{\numlist\}$: \result. 
+
+\dtlmax{\result}{\numA}{\numB}
+Maximum of $\numA$ and $\numB$: \result. 
+
+\dtlmaxall{\result}{\numlist}
+Maximum value in the set $\{\numlist\}$: \result. 
+
+\dtlabs{\result}{\numC}
+Absolute value of $\numC$: \result. 
+
+\dtlneg{\result}{\numC}
+Negate value of $\numC$: \result. 
+
+\dtlmeanforall{\meanvalue}{\numlist}
+Mean of all numbers in the set $\{\numlist\}$: \meanvalue. 
+
+\dtlvarianceforall[\meanvalue]{\result}{\numlist}
+Variance of all numbers in the set $\{\numlist\}$ (using previously calculated mean): \result. 
+
+\dtlvarianceforall{\result}{\numlist}
+Variance of all numbers in the set $\{\numlist\}$ (not using previously calculated mean): \result. 
+
+\dtlsdforall[\meanvalue]{\result}{\numlist}
+Standard deviation of all numbers in the set $\{\numlist\}$ (using previously calculated mean): \result. 
+
+\dtlsdforall{\result}{\numlist}
+Standard deviation of all numbers in the set $\{\numlist\}$ (not using previously calculated mean): \result. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example040.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example041.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example041.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example041.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example041.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example041.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example041.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example041.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example041.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example041.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example041.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example041.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example041.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example041.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,47 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 41 Formatting and Parsing Currency (No Region)
+% Label: "ex:noregioncurrency"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool-base} 
+\begin{document}
+Currency code: \DTLCurrencyCode. Currency symbol: \DTLCurrencySymbol. 
+
+\DTLdecimaltocurrency{12345.678}{\formattedresult}
+Formatted: \formattedresult.
+(Numeric value: \DTLdatumvalue{\formattedresult}.) 
+
+\$1,234.57 add 1,236.59:
+\DTLadd{\total}{\$1,234.57}{1,236.59}
+Total: \total. 
+
+1,234.57 add £1,236.59:
+\DTLadd{\total}{1,234.57}{£1,236.59}
+Total: \total. 
+
+€48,236.59 multiplied by 0.5:
+\DTLmul{\result}{€48,236.59}{0.5}
+\result\ (\DTLdatumvalue{\result}). 
+
+\DTLparse\parsed{€19,234.56}
+String value: \parsed.
+Numeric value: \DTLdatumvalue{\parsed}.
+
+
+\DTLparse\parsed{£28,342.64}
+String value: \parsed.
+Numeric value: \DTLdatumvalue{\parsed}.
+
+
+\DTLparse\parsed{19,234.56€}
+String value: \parsed.
+Numeric value: \DTLdatumvalue{\parsed}. 
+
+Formatting specific currency symbol: \DTLfmtcurrency{\texteuro}{12.345,65} 
+
+Formatting default currency symbol: \DTLcurrency{12 345,65} 
+
+Formatting EUR: \DTLfmtcurr{EUR}{12.345,65} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example041.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example042.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example042.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example042.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example042.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example042.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example042.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example042.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example042.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example042.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example042.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example042.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example042.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example042.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,52 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 42 Currency Formats (GB Region)
+% Label: "ex:regionGBcurrency"
+% arara: xelatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage[locales={en-GB}]{datatool-base}
+
+\begin{document}
+Currency code: \DTLCurrencyCode.
+Currency symbol: \DTLCurrencySymbol. 
+
+\DTLdecimaltocurrency{12345.678}{\formattedresult}
+Formatted: \formattedresult.
+(Numeric value: \DTLdatumvalue{\formattedresult}.) 
+
+\DTLparse\parsed{£28,342.64}
+String value: \parsed.
+Numeric value: \DTLdatumvalue{\parsed}. 
+
+\DTLparse\parsed{€19,234.56}
+String value: \parsed.
+Numeric value: \DTLdatumvalue{\parsed}. 
+
+\DTLsetLocaleOptions{GB}{
+ number-style=old,
+ currency-symbol-prefix
+}
+(GB settings: number-style=old, currency-symbol-prefix=true.) 
+
+\DTLdecimaltocurrency{12345.678}{\formattedresult}
+Formatted: \formattedresult.
+(Numeric value: \DTLdatumvalue{\formattedresult}.) 
+
+\DTLparse\parsed{£28,342.648}
+String value: \parsed.
+Numeric value: \DTLdatumvalue{\parsed}. 
+
+\DTLsetup{
+ numeric={
+  auto-reformat,
+  region-currency-prefix=smallcaps
+ }
+}
+(Numeric settings: auto-reformat, region-currency-prefix=smallcaps.) 
+
+\DTLparse\parsed{£28,342.648}
+String value: \parsed.
+Numeric value: \DTLdatumvalue{\parsed}.
+Currency symbol: \DTLdatumcurrency{\parsed}. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example042.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example043.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example043.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example043.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example043.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example043.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example043.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example043.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example043.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example043.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example043.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example043.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example043.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example043.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,50 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 43 Currency Formats (GB and IE Regions)
+% Label: "ex:multiregioncurrency"
+% arara: xelatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage[locales={en-GB,en-IE}]{datatool-base}
+\DTLsetLocaleOptions{GB}{ number-style = education }
+\DTLsetup{numeric={auto-reformat}} 
+\begin{document}
+\DTLGBLocaleHook
+Currency code: \DTLCurrencyCode.
+Currency symbol: \DTLCurrencySymbol. 
+
+\DTLdecimaltocurrency{12345.678}{\GBformattedresult}
+Formatted: \GBformattedresult.
+(Numeric value: \DTLdatumvalue{\GBformattedresult}.) 
+
+Parsing £12 345.67.
+\DTLparse\GBparsed{£12 345.67}
+
+
+Parsed: \GBparsed.
+(Numeric value: \DTLdatumvalue{\GBparsed}.) 
+
+\DTLIELocaleHook
+Currency code: \DTLCurrencyCode.
+Currency symbol: \DTLCurrencySymbol. 
+
+\DTLdecimaltocurrency{12345.678}{\IEformattedresult}
+Formatted: \IEformattedresult.
+(Numeric value: \DTLdatumvalue{\IEformattedresult}.) 
+
+Parsing €12,345.67.
+\DTLparse\IEparsed{€12,345.67}
+
+
+Parsed: \IEparsed.
+(Numeric value: \DTLdatumvalue{\IEparsed}.) 
+
+\DTLsetup{numeric={currency-symbol-style=iso}}
+\DTLsetLocaleOptions{GB,IE}{currency-symbol-position=after}
+\begin{enumerate}
+\item \GBformattedresult.
+\item \GBparsed.
+\item \IEformattedresult.
+\item \IEparsed.
+\end{enumerate} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example043.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example044.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example044.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example044.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example044.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example044.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example044.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example044.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example044.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example044.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example044.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example044.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example044.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example044.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,36 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 44 Defining a Currency
+% Label: "ex:defcurr"
+% arara: xelatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% This is an example document to demonstrate provided commands
+ % To create your own region ldf file, see https://github.com/nlct/datatool-regions
+ \usepackage{datatool-base}
+
+\begin{document}
+Default currency: \DTLCurrencyCode.
+\DTLdecimaltocurrency{1234.567}{\result}
+Formatted value: \result. 
+
+£1.99: \DTLifcurrency{£1.99}{currency}{not currency};
+\DTLfmtcurrency{£}{1.99}: \DTLifcurrency{\DTLfmtcurrency{£}{1.99}}{currency}{not currency}. 
+
+Defining GBP.
+\DTLdefcurrency{GBP}{\pounds}{£}
+Default currency: \DTLCurrencyCode. 
+
+£1.99: \DTLifcurrency{£1.99}{currency}{not currency}. 
+
+Switching to GBP.\DTLsetdefaultcurrency{GBP}
+Default currency: \DTLCurrencyCode. 
+
+\DTLdecimaltocurrency{1234.567}{\result}
+Formatted value: \result. 
+
+\renewcommand{\dtlcurrdefaultfmt}{\dtlcurrsuffixfmt} \renewcommand{\DTLcurrCodeOrSymOrChar}[3]{#1} Formatted value: \result. 
+
+\DTLaddall{\result}{\pounds2.50,\DTLcurrGBP 1.25,£0.25}
+Formatted value: \result. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example044.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example045.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example045.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example045.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example045.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example045.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example045.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example045.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example045.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example045.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example045.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example045.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example045.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example045.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,54 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 45 Parsing Dates and Times
+% Label: "ex:parsetemporal"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool-base} 
+\begin{document}
+Parsing off by default. 
+
+\DTLparse\result{2025-01-09}
+String value: \result.
+Data type: \DTLdatumtype{\result}.
+Value: \DTLdatumvalue{\result}. 
+
+\DTLparse\result{2025-01-09T14:42:01}
+String value: \result.
+Data type: \DTLdatumtype{\result}.
+Value: \DTLdatumvalue{\result}. 
+
+\DTLparse\result{2025-01-09T15:42:01+01:00}
+String value: \result.
+Data type: \DTLdatumtype{\result}.
+Value: \DTLdatumvalue{\result}. 
+
+\DTLparse\result{14:42:01}
+String value: \result.
+Data type: \DTLdatumtype{\result}.
+Value: \DTLdatumvalue{\result}. 
+
+\DTLsetup{datetime={parse}}
+Parsing on. 
+
+\DTLparse\result{2025-01-09}
+String value: \result.
+Data type: \DTLdatumtype{\result}.
+Value: \DTLdatumvalue{\result}. 
+
+\DTLparse\result{2025-01-09T14:42:01}
+String value: \result.
+Data type: \DTLdatumtype{\result}.
+Value: \DTLdatumvalue{\result}. 
+
+\DTLparse\result{2025-01-09T15:42:01+01:00}
+String value: \result.
+Data type: \DTLdatumtype{\result}.
+Value: \DTLdatumvalue{\result}. 
+
+\DTLparse\result{14:42:01}
+String value: \result.
+Data type: \DTLdatumtype{\result}.
+Value: \DTLdatumvalue{\result}. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example045.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example046.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example046.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example046.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example046.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example046.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example046.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example046.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example046.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example046.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example046.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example046.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example046.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example046.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,34 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 46 Parsing Dates and Times and Reformatting
+% Label: "ex:parsetemporalreformat"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% This will not only require datetime2.sty to be installed 
+ % but also datetime2-english should be installed 
+ \usepackage[en-GB]{datetime2}
+\usepackage{datatool-base} 
+\begin{document}
+\DTLsetup{datetime={parse={auto-reformat}}} 
+
+\DTLparse\result{2025-01-09}
+String value: \result.
+Data type: \DTLdatumtype{\result}.
+Value: \DTLdatumvalue{\result}. 
+
+\DTLparse\result{2025-01-09T14:42:01}
+String value: \result.
+Data type: \DTLdatumtype{\result}.
+Value: \DTLdatumvalue{\result}. 
+
+\DTLparse\result{2025-01-09T15:42:01+01:00}
+String value: \result.
+Data type: \DTLdatumtype{\result}.
+Value: \DTLdatumvalue{\result}. 
+
+\DTLparse\result{14:42:01}
+String value: \result.
+Data type: \DTLdatumtype{\result}.
+Value: \DTLdatumvalue{\result}. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example046.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example047.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example047.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example047.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example047.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example047.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example047.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example047.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example047.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example047.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example047.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example047.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example047.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example047.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,30 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 47 String Substitution and Splitting
+% Label: "ex:subsplitstr"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool-base} 
+\begin{document}
+\newcommand{\test}{The goose looked at a book and said \emph{ooh}.}
+{% local scope
+ Original: \test
+\DTLsubstitute{\test}{oo}{ee}
+Substituted first: \test } 
+
+{% local scope
+ Original: \test
+ \DTLsubstituteall{\test}{oo}{ee}
+ Substituted all: \test } 
+
+Split on `looked' (no expansion)
+\DTLsplitstring{\test}{looked}{\before}{\after} 
+
+Before: `\before'. After: `\after' 
+
+Split on `looked' (with expansion)
+\DTLxsplitstring{\test}{looked}{\before}{\after} 
+
+Before: `\before'. After: `\after' 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example047.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example048.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example048.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example048.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example048.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example048.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example048.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example048.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example048.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example048.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example048.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example048.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example048.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example048.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,57 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 48 Name or Phrase Initials
+% Label: "ex:initials"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool-base} 
+\begin{document}
+Marie\space Élise del~Rosario:
+\DTLinitials{Marie\space Élise del~Rosario} 
+
+Élouise-Mary de Vere: \DTLinitials{Élouise-Mary de Vere} 
+
+Mary-Jane d'Arcy: \DTLinitials{Mary-Jane d'Arcy} 
+
+Mary-Jane d'Arcy-Lancaster: \DTLinitials{Mary-Jane d'Arcy-Lancaster} 
+
+Mary-Jane d'Arcy FitzGerald: \DTLinitials{Mary-Jane d'Arcy FitzGerald} 
+
+Niall O'Brien: \DTLinitials{Niall O'Brien} 
+
+De'Ondre Andros: \DTLinitials{De'Ondre Andros} 
+
+Dickie `Quack' von Duck:
+\DTLinitials{Dickie `Quack' von Duck} 
+
+ at aardvark +12x,y fo'c's'le *zebra?:
+\DTLinitials{@aardvark +12x,y fo'c's'le *zebra?} 
+
+Skip `d', `de', `del', and `von':
+\renewcommand{\DTLStoreInitialGetLetter}[2]{% 
+ \DTLifinlist{#1}{d,de,del,von}{\def#2{}}
+ {\DTLGetInitialLetter{#1}{#2}}% 
+ } 
+
+Marie\space Élise del~Rosario:
+\DTLinitials{Marie\space Élise del~Rosario} 
+
+Élouise-Mary de Vere: \DTLinitials{Élouise-Mary de Vere} 
+
+Mary-Jane d'Arcy: \DTLinitials{Mary-Jane d'Arcy} 
+
+Mary-Jane d'Arcy-Lancaster: \DTLinitials{Mary-Jane d'Arcy-Lancaster} 
+
+Mary-Jane d'Arcy FitzGerald: \DTLinitials{Mary-Jane d'Arcy FitzGerald} 
+
+Niall O'Brien: \DTLinitials{Niall O'Brien} 
+
+De'Ondre Andros: \DTLinitials{De'Ondre Andros} 
+
+Dickie `Quack' von Duck:
+\DTLinitials{Dickie `Quack' von Duck} 
+
+ at aardvark +12x,y fo'c's'le *zebra?:
+\DTLinitials{@aardvark +12x,y fo'c's'le *zebra?} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example048.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example049.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example049.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example049.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example049.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example049.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example049.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example049.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example049.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example049.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example049.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example049.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example049.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example049.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,17 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 49 Word Initial Letter with UTF-8
+% Label: "ex:initialsutf8"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool-base} 
+\begin{document}
+ábc: \DTLGetInitialLetter{ábc}{\result}
+Initial: \result. {áb}c (áb grouped): \DTLGetInitialLetter{{áb}c}{\result}
+Initial: \result. 
+
+``ábc'': \DTLGetInitialLetter{``ábc''}{\result}
+Initial: \result. ``{áb}c'' (áb grouped): \DTLGetInitialLetter{``{áb}c''}{\result}
+Initial: \result. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example049.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example050.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example050.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example050.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example050.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example050.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example050.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example050.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example050.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example050.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example050.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example050.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example050.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example050.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,21 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 50 Word Initial Commands
+% Label: "ex:initialscs"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool-base} 
+\begin{document}
+Purify early.\DTLsetup{initial-purify=early} 
+
+\'{a}bc (accent command): \DTLGetInitialLetter{\'{a}bc}{\result} Initial: \result. 
+
+\emph{ábc}: \DTLGetInitialLetter{\emph{ábc}}{\result} Initial: \result. 
+
+Purify late.\DTLsetup{initial-purify=late} 
+
+\'{a}bc (accent command): \DTLGetInitialLetter{\'{a}bc}{\result} Initial: \result. 
+
+\emph{ábc}: \DTLGetInitialLetter{\emph{ábc}}{\result} Initial: \result. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example050.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example051.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example051.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example051.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example051.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example051.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example051.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example051.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example051.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example051.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example051.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example051.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example051.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example051.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,20 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 51 CSV List Argument Expansion
+% Label: "ex:incsvlist"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool-base}
+\newcommand{\mylist}{ant,duck,goose,zebra} 
+\begin{document}
+`duck' in `ant,duck,goose,zebra'?
+\DTLifinlist{duck}{ant,duck,goose,zebra}{true}{false}. 
+
+`duck' in `\mylist' (single token)?
+\DTLifinlist{duck}{\mylist}{true}{false}. 
+
+`duck' in ` \mylist' (one element, two tokens)? \DTLifinlist{duck}{ \mylist}{true}{false} 
+
+`duck' in `\mylist,zebu' (two elements)? \DTLifinlist{duck}{\mylist,zebu}{true}{false}. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example051.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example052.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example052.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example052.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example052.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example052.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example052.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example052.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example052.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example052.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example052.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example052.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example052.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example052.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,30 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 52 Formatting CSV Lists
+% Label: "ex:formatlist"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool-base} 
+\begin{document}
+\renewcommand{\DTLlistformatitem}[1]{\emph{#1}}
+One: \DTLformatlist{elephant}. 
+
+Two: \DTLformatlist{elephant,ant}. 
+
+Three: \DTLformatlist{elephant,ant,zebra}. 
+
+Four: \DTLformatlist{elephant,ant,zebra,duck}. 
+
+\renewcommand{\DTLlistformatoxford}{,}
+Oxford comma: \DTLformatlist{elephant,ant,zebra,duck}. 
+
+Omit empty elements and leading/trailing spaces:
+\DTLformatlist{elephant , ant,,duck}. 
+
+\DTLsetup{ 
+ lists = { trim = false, skip-empty = false } 
+}
+Retain empty elements and leading/trailing spaces:
+\DTLformatlist{elephant , ant,,duck}. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example052.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example053.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example053.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example053.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example053.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example053.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example053.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example053.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example053.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example053.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example053.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example053.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example053.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example053.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,41 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 53 Elements of a CSV List
+% Label: "ex:listelements"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool-base}
+\newcommand{\mylist}{ant,{bee, wasp and hornet},fly} 
+\begin{document}
+List: \DTLformatlist{\mylist}. 
+
+Number of elements: \DTLnumitemsinlist{\mylist}{\total}\total. 
+
+Second element: \DTLlistelement{\mylist}{2}. 
+
+Fetch third element:
+\DTLfetchlistelement{\mylist}{3}{\myelem}\myelem. 
+
+\LaTeX3 List:
+\ExplSyntaxOn
+\clist_set:NV \l_tmpa_clist \mylist
+\clist_use:Nnnn \l_tmpa_clist { ~ and ~ } { , ~ } { , ~ and ~ }
+\ExplSyntaxOff 
+
+Number of elements:
+\ExplSyntaxOn
+\clist_count:N \l_tmpa_clist .
+\ExplSyntaxOff 
+
+Second element:
+\ExplSyntaxOn
+\clist_item:Nn \l_tmpa_clist { 2 } .
+\ExplSyntaxOff 
+
+Fetch third element:
+\ExplSyntaxOn
+\tl_set:Ne \l_tmpa_tl { \clist_item:Nn \l_tmpa_clist { 3 } }
+\l_tmpa_tl .
+\ExplSyntaxOff 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example053.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example054.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example054.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example054.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example054.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example054.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example054.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example054.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example054.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example054.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example054.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example054.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example054.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example054.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,21 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 54 Appending, Prepending and Inserting List Elements
+% Label: "ex:listinsert"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool-base} 
+\begin{document}
+\newcommand{\mylist}{ant,bee}
+Original list: \DTLformatlist{\mylist}. 
+
+\appto\mylist{,zebra}
+Item appended: \DTLformatlist{\mylist}. 
+
+\preto\mylist{aardvark,}
+Item prepended: \DTLformatlist{\mylist}. 
+
+\dtlinsertinto{duck}{\mylist}{\dtlcompare}
+Item inserted: \DTLformatlist{\mylist}. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example054.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example055.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example055.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example055.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example055.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example055.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example055.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example055.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example055.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example055.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example055.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example055.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example055.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example055.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,17 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 55 Sorting Lists with \dtlsortlist (Case vs No Case)
+% Label: "ex:sortlistcharcase"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool-base}
+\newcommand{\mylist}{sea, sea lion, Sealyham, seal, sealant, sealing wax}
+
+\begin{document}
+\dtlsortlist{\mylist}{\dtlcompare}
+Case-sensitive: \DTLformatlist{\mylist}. 
+
+\dtlsortlist{\mylist}{\dtlicompare}
+Case-insensitive: \DTLformatlist{\mylist}. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example055.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example056.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example056.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example056.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example056.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example056.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example056.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example056.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example056.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example056.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example056.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example056.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example056.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example056.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,16 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 56 Sorting Lists with \dtlsortlist (Letter vs Word)
+% Label: "ex:sortlistwordletter"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool-base}
+\newcommand{\mylist}{sea, sea lion, Sealyham, seal, sealant, sealing wax} 
+\begin{document}
+\dtlsortlist{\mylist}{\dtlletterindexcompare}
+Letter: \DTLformatlist{\mylist}. 
+
+\dtlsortlist{\mylist}{\dtlwordindexcompare}
+Word: \DTLformatlist{\mylist}. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example056.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example057.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example057.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example057.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example057.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example057.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example057.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example057.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example057.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example057.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example057.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example057.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example057.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example057.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,36 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 57 Sorting Lists with \dtlsortlist (comma and parenthetical markers)
+% Label: "ex:sortlistcommas"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[10pt]{article}
+\pagestyle{empty}
+\usepackage{multicol}
+\usepackage{datatool-base}
+\newcommand{\mylist}{duckling,
+ Duck\datatoolplacecomma Mallard County,
+ Duck\datatoolpersoncomma Robbie,
+ Duck\datatoolsubjectcomma Anatomy of a,
+ duck\datatoolparenstart (cricket),
+ duck\datatoolparen{verb},
+ {Duck, Duck, Goose},
+ duck soup, duck, duck and dive
+ }
+\renewcommand{\DTLlistformatsep}{\newline}
+\renewcommand{\DTLlistformatlastsep}{\newline}
+\DTLsetup{compare={expand-cs=true}} 
+\begin{document}
+\begin{multicols}{3}
+ {\dtlsortlist{\mylist}{\dtlicompare}
+ Case-insensitive:\newline 
+ \DTLformatlist{\mylist}.} 
+
+{\dtlsortlist{\mylist}{\dtlwordindexcompare}
+ Word sort:\newline
+ \DTLformatlist{\mylist}.} 
+
+\dtlsortlist{\mylist}{\dtlletterindexcompare}
+ Letter sort:\newline
+ \DTLformatlist{\mylist}.
+ \end{multicols} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example057.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example058.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example058.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example058.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example058.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example058.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example058.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example058.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example058.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example058.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example058.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example058.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example058.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example058.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,43 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 58 Sorting Lists with \DTLsortwordlist (comma and parenthetical markers)
+% Label: "ex:wordsortlistcommas"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[10pt]{article}
+\pagestyle{empty}
+\usepackage{multicol}
+\usepackage{datatool-base}
+\newcommand{\mylist}{duckling,
+ Duck\datatoolplacecomma Mallard County,
+ Duck\datatoolpersoncomma Robbie,
+ Duck\datatoolsubjectcomma Anatomy of a,
+ duck\datatoolparenstart (cricket),
+ duck\datatoolparen{verb},
+ {Duck, Duck, Goose},
+ duck soup, duck, duck and dive
+ }
+\renewcommand{\DTLlistformatsep}{\newline}
+\renewcommand{\DTLlistformatlastsep}{\newline}
+\ExplSyntaxOn
+\NewDocumentCommand \mycustomhandler { m m } 
+ {
+  \tl_set:Nn #2 { #1 }
+    \regex_replace_all:nnN { , } { } #2
+    \DTLsortletterhandler { #2 } #2
+  }
+ \ExplSyntaxOff 
+\begin{document}
+\begin{multicols}{3}
+{\DTLsortwordlist{\mylist}{\DTLsortwordhandler}
+Word sort:\newline
+\DTLformatlist{\mylist}.}
+
+
+{\DTLsortwordlist{\mylist}{\DTLsortletterhandler}
+Letter sort:\newline
+\DTLformatlist{\mylist}.}
+
+
+\DTLsortwordlist{\mylist}{\mycustomhandler} Custom sort:\newline
+\DTLformatlist{\mylist}. \end{multicols} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example058.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example059.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example059.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example059.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example059.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example059.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example059.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example059.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example059.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example059.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example059.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example059.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example059.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example059.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,19 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 59 Sorting Lists with \dtlsortlist and UTF-8
+% Label: "ex:sortlistutf8"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage[utf8]{inputenc}
+\usepackage{datatool-base}
+\newcommand{\mylist}{elk, Æthelstan, Arnulf, elf,résumé, 
+ Óslác, élan, Aeolus, resume, elephant, zygote, élite, Valkyrie, 
+ Zulu, elbow, Adelolf, rose} 
+\begin{document}
+\dtlsortlist{\mylist}{\dtlcompare}
+Case-sensitive: \DTLformatlist{\mylist}. 
+
+\dtlsortlist{\mylist}{\dtlicompare}
+Case-insensitive: \DTLformatlist{\mylist}. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example059.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example060.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example060.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example060.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example060.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example060.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example060.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example060.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example060.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example060.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example060.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example060.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example060.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example060.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,17 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 60 Sorting Lists with \DTLsortwordlist and UTF-8 and No Localisation Support
+% Label: "ex:sortwordlistutf8"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage[utf8]{inputenc}
+\usepackage{datatool-base}
+\newcommand{\mylist}{elk, Æthelstan, Arnulf, elf,résumé, Óslác, élan, Aeolus, resume, elephant, zygote, élite, Valkyrie, Zulu, elbow, Adelolf, rose} 
+\begin{document}
+\DTLsortwordlist{\mylist}{\DTLsortlettercasehandler}
+Case-sensitive: \DTLformatlist{\mylist}. 
+
+\DTLsortwordlist{\mylist}{\DTLsortletterhandler}
+Case-insensitive: \DTLformatlist{\mylist}. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example060.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example061.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example061.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example061.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example061.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example061.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example061.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example061.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example061.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example061.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example061.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example061.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example061.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example061.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,17 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 61 Sorting Lists with \DTLsortwordlist and UTF-8 and Localisation Support
+% Label: "ex:sortlistutf8locale"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage[utf8]{inputenc}
+\usepackage[locales={en-GB}]{datatool-base}
+\newcommand{\mylist}{elk, Æthelstan, Arnulf, elf,résumé, Óslác, élan, Aeolus, resume, elephant, zygote, élite, Valkyrie, Zulu, elbow, Adelolf, rose} 
+\begin{document}
+\DTLsortwordlist{\mylist}{\DTLsortlettercasehandler}
+Case-sensitive: \DTLformatlist{\mylist}. 
+
+\DTLsortwordlist{\mylist}{\DTLsortletterhandler}
+Case-insensitive: \DTLformatlist{\mylist}. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example061.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example062.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example062.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example062.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example062.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example062.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example062.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example062.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example062.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example062.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example062.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example062.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example062.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example062.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,21 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 62 Sort Word Hook (Roman Numerals)
+% Label: "ex:sortwordhook"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool-base}
+\newcommand{\mylist}{John XVI,John VI, John XIX, John IX, John IV,John VII, John V} 
+\begin{document}
+\DTLsortwordlist{\mylist}{\DTLsortwordhandler}
+\DTLformatlist{\mylist}. 
+
+\newcommand{\Ord}[1]{\MakeUppercase{\romannumeral #1}}
+\dtlSortWordCommands{\renewcommand\Ord[1]{\two at digits{#1}}}
+\renewcommand{\mylist}{John \Ord{16},John \Ord{6},
+John \Ord{19}, John \Ord{9}, John \Ord{4},John \Ord{7},
+John \Ord{5}}
+\DTLsortwordlist{\mylist}{\DTLsortwordhandler}
+\DTLformatlist{\mylist}. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example062.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example063.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example063.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example063.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example063.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example063.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example063.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example063.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example063.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example063.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example063.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example063.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example063.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example063.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,30 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 63 New Value Expansion
+% Label: "ex:newvalueexpand"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool}
+\makeatletter
+\DTLsetup{new-value-expand=false}
+\DTLnewdb{test1}
+\DTLaddcolumnwithheader{test1}{entry}{Entry (Not Expanded)}
+\@for\myentry:=ant,bee,duck,zebra\do{
+ \DTLnewrow{test1}
+ \DTLnewdbentry{test1}{entry}{\myentry}
+}
+
+
+\DTLsetup{new-value-expand=true}
+\DTLnewdb{test2}
+\DTLaddcolumnwithheader{test2}{entry}{Entry (Expanded)}
+\@for\myentry:=ant,bee,duck,zebra\do{
+ \DTLnewrow{test2}
+ \DTLnewdbentry{test2}{entry}{\myentry}
+}
+\makeatother
+\renewcommand{\myentry}{Unknown!} 
+\begin{document}
+\DTLdisplaydb{test1} \DTLdisplaydb{test2} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example063.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example064.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example064.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example064.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example064.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example064.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example064.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example064.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example064.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example064.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example064.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example064.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example064.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example064.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,26 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 64 Trimming New Values
+% Label: "ex:newvaluetrim"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool}
+\DTLnewdb{mydata}
+\DTLnewrow{mydata}
+\DTLsetup{new-value-trim=true}
+\DTLnewdbentry{mydata}{Column1}{ value1 }
+\DTLnewrow{mydata}
+\DTLsetup{new-value-trim=false}
+\DTLnewdbentry{mydata}{Column1}{ value2 }
+% compare with \DTLaction:
+\DTLsetup{default-name=mydata}
+\DTLaction{new row}
+\DTLaction[column=1,value= value3 ]{new entry}
+\DTLaction{new row}
+\DTLaction[column=1,value={ value4 }]{new entry}
+\begin{document}
+% display the data with the values quoted:
+\renewcommand{\dtlstringformat}[1]{``#1''}
+\DTLdisplaydb{mydata} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example064.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example065.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example065.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example065.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example065.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example065.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example065.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example065.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example065.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example065.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example065.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example065.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example065.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example065.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,41 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 65 Creating and Displaying a Database with \\DTLaction
+% Label: "ex:actions"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool}
+% custom expandable command:
+\newcommand{\limiteded}{limited edition}
+% define a database with the name 'pricelist':
+\DTLsetup{store-datum,default-name=pricelist}
+\DTLaction{new}% create the default database
+% 1st row:
+\DTLaction[
+ assign={
+  Product = {The Adventures of Duck and Goose},
+  Quantity = {1,452}, Price = {\$1.99}
+ }
+]{new row}
+% 2nd row:
+\DTLaction[
+ assign={
+  Product = {Duck and Goose on Holiday},
+  Quantity = {94}, Price = {\$2.99}
+ }
+]{new row}
+% the next value needs to be expanded:
+\DTLaction[
+key={Notes}, expand-value={\limiteded} ]{new entry}
+% 3rd row:
+\DTLaction[
+ assign={
+  Product = {The Return of Sir Quackalot},
+  Quantity = {3}, Price = {\$4.99}
+ }
+]{new row} 
+\begin{document}
+% Display the data:
+\DTLaction{display} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example065.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example066.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example066.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example066.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example066.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example066.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example066.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example066.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example066.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example066.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example066.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example066.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example066.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example066.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,26 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 66 Adding New Columns Using Actions
+% Label: "ex:addcolaction"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool}
+\begin{document}
+\DTLaction{new}
+\DTLaction{new row}
+\DTLaction{add column}
+Added column \DTLuse{column} 
+(key: \DTLuse{key}; header: \DTLuse{header})
+to database `\DTLuse{name}'. 
+
+\DTLaction[key=quantity]{add column}
+Added column \DTLuse{column} 
+(key: \DTLuse{key}; header: \DTLuse{header})
+to database `\DTLuse{name}'. 
+
+\DTLaction[key=price,value=Price (\$)]{add column}
+Added column \DTLuse{column} 
+(key: \DTLuse{key}; header: \DTLuse{header})
+to database `\DTLuse{name}'. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example066.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example067.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example067.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example067.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example067.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example067.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example067.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example067.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example067.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example067.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example067.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example067.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example067.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example067.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,48 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 67 Select row action
+% Label: "ex:selectrow"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{studentmarks.csv}
+Surname,Forename,StudentNo,Assign1,Assign2,Assign3
+"Smith, Jr",John,102689,68,57,72
+"Brown",Jane,102647,75,84,80
+"Brown",Jane,102646,64,92,79
+"Brown",Andy,103569,42,52,54
+"Adams",Zoë,105987,52,48,57
+"Brady",Roger,106872,68,60,62
+"Verdon",Clare,104356,45,50,48
+\end{filecontents}
+
+
+\usepackage{datatool}
+
+
+% Load data from studentmarks.csv file:
+\DTLsetup{store-datum,default-name=marks}
+\DTLread{studentmarks.csv} 
+\begin{document}
+Row selection: 
+
+\DTLaction[
+ name=marks,
+ key=StudentNo,
+ value={105987}
+]{select row} 
+
+Student \DTLuse{Forename} \DTLuse{Surname} (105987). 
+
+\DTLaction[
+ keys={Assign1-},
+ options={mean},
+ datum={round=1}
+]{current row aggregate} 
+
+Average mark: \DTLuse{mean}.
+
+
+(Actual value: \DTLget[mean]{\theMean} \DTLdatumvalue{\theMean}.) 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example067.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example068.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example068.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example068.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example068.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example068.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example068.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example068.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example068.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example068.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example068.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example068.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example068.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example068.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,62 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 68 Row aggregate actions
+% Label: "ex:rowaggregates"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{studentmarks.csv}
+Surname,Forename,StudentNo,Assign1,Assign2,Assign3
+"Smith, Jr",John,102689,68,57,72
+"Brown",Jane,102647,75,84,80
+"Brown",Jane,102646,64,92,79
+"Brown",Andy,103569,42,52,54
+"Adams",Zoë,105987,52,48,57
+"Brady",Roger,106872,68,60,62
+"Verdon",Clare,104356,45,50,48
+\end{filecontents}
+
+
+\usepackage{datatool}
+
+
+% Load data from studentmarks.csv file:
+\DTLsetup{store-datum,default-name=marks}
+\DTLread{studentmarks.csv} 
+\begin{document}
+Map data: 
+
+\DTLmapdata[name=marks]{
+ \DTLmapget{key=Forename} \DTLmapget{key=Surname} average marks:
+ \DTLaction[
+  columns={4-},
+  options={mean}
+  ]{row aggregate}
+ \DTLuse{mean}. 
+
+} 
+
+For each: 
+
+\DTLforeach{marks}{\Forename=Forename,\Surname=Surname}{
+ \Forename\ \Surname\ 
+ average mark:
+ \DTLaction[
+  columns={4-},
+  options={mean}
+  ]{current row aggregate}
+ \DTLuse{mean}. 
+
+} 
+
+Row selection: 
+
+\dtlgetrowforvalue{marks}{\dtlcolumnindex{marks}{StudentNo}}{105987}
+Student 105987 average mark:
+\DTLaction[
+ columns={4-},
+ options={mean}
+]{current row aggregate}
+\DTLuse{mean}. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example068.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example069.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example069.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example069.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example069.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example069.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example069.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example069.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example069.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example069.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example069.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example069.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example069.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example069.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,112 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 69 Automatically Formatting Values Calculated by Actions
+% Label: "ex:actiondatum"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool}
+% custom expandable command:
+\newcommand{\limiteded}{limited edition}
+% define a database with the name 'pricelist':
+\DTLsetup{store-datum,default-name=pricelist}
+\DTLaction{new}% create the default database
+% 1st row:
+\DTLaction[
+ assign={
+  Product = {The Adventures of Duck and Goose},
+  Quantity = {1,452}, Price = {\$1.99}
+ }
+]{new row}
+% 2nd row:
+\DTLaction[
+ assign={
+  Product = {Duck and Goose on Holiday},
+  Quantity = {94}, Price = {\$2.99}
+ }
+]{new row}
+% the next value needs to be expanded:
+\DTLaction[
+key={Notes}, expand-value={\limiteded} ]{new entry}
+% 3rd row:
+\DTLaction[
+ assign={
+  Product = {The Return of Sir Quackalot},
+  Quantity = {3}, Price = {\$4.99}
+ }
+]{new row} 
+\begin{document}
+ \section{Default datum=false} 
+
+\DTLaction[
+ key=Quantity,
+ key2=Price,
+ options={sd,min,max}
+]{aggregate} 
+
+Quantity column index: \DTLuse{column}.
+Total quantity: \DTLuse{sum}.
+Average quantity: \DTLuse{mean}.
+Quantity standard deviation: \DTLuse{sd}.
+Minimum quantity: \DTLuse{min}.
+Maximum quantity: \DTLuse{max}. 
+
+Price column index: \DTLuse{column2}.
+Total price: \DTLuse{sum2}.
+Average price: \DTLuse{mean2}.
+Price standard deviation: \DTLuse{sd2}.
+Minimum price: \DTLuse{min2}.
+Maximum price: \DTLuse{max2}. 
+
+\section{datum=\{round=2\}} 
+
+\DTLaction[
+ datum={round=2},
+ key=Quantity,
+ key2=Price,
+ options={sd,min,max}
+]{aggregate} 
+
+Quantity column index: \DTLuse{column}.
+Total quantity: \DTLuse{sum}
+(\DTLget[sum]{\theTotal}\DTLdatumvalue{\theTotal}).
+Average quantity: \DTLuse{mean}.
+Quantity standard deviation: \DTLuse{sd}.
+Minimum quantity: \DTLuse{min}
+(\DTLget[min]{\theMin}\DTLdatumvalue{\theMin}).
+Maximum quantity: \DTLuse{max}
+(\DTLget[max]{\theMax}\DTLdatumvalue{\theMax}). 
+
+Price column index: \DTLuse{column2}.
+Total price: \DTLuse{sum2}.
+Average price: \DTLuse{mean2}.
+Price standard deviation: \DTLuse{sd2}.
+Minimum price: \DTLuse{min2}.
+Maximum price: \DTLuse{max2}. 
+
+\section{datum=\{round=2,currency\}} (All aggregate values become currency!) 
+
+\DTLaction[
+ datum={round=2,currency},
+ key=Quantity,
+ key2=Price,
+ options={sd,min,max}
+]{aggregate} 
+
+Quantity column index: \DTLuse{column}.
+Total quantity: \DTLuse{sum}
+(\DTLget[sum]{\theTotal}\DTLdatumvalue{\theTotal}).
+Average quantity: \DTLuse{mean}.
+Quantity standard deviation: \DTLuse{sd}.
+Minimum quantity: \DTLuse{min}
+(\DTLget[min]{\theMin}\DTLdatumvalue{\theMin}).
+Maximum quantity: \DTLuse{max}
+(\DTLget[max]{\theMax}\DTLdatumvalue{\theMax}). 
+
+Price column index: \DTLuse{column2}.
+Total price: \DTLuse{sum2}.
+Average price: \DTLuse{mean2}.
+Price standard deviation: \DTLuse{sd2}.
+Minimum price: \DTLuse{min2}.
+Maximum price: \DTLuse{max2}. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example069.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example070.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example070.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example070.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example070.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example070.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example070.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example070.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example070.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example070.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example070.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example070.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example070.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example070.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,66 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 70 Creating a New Database with a Label
+% Label: "ex:newdb"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool}
+% custom expandable command:
+\newcommand{\limiteded}{limited edition}
+% define data
+ \DTLnewdb{mydata}
+\DTLnewrow{mydata}% create a new row
+% Add entries to the first row:
+\DTLnewdbentry
+ {mydata}% database label
+ {Product}% column key
+ {The Adventures of Duck and Goose}% value
+\DTLnewdbentry
+ {mydata}% database label
+ {Quantity}% column key
+ {1,452}% value
+\DTLnewdbentry
+ {mydata}% database label
+ {Price}% column key
+ {\$1.99}% value
+\DTLnewrow{mydata}% create a new row
+% Add entries to the second row:
+\DTLnewdbentry
+ {mydata}% database label
+ {Product}% column key
+ {Duck and Goose on Holiday}% value
+\DTLnewdbentry
+ {mydata}% database label
+ {Quantity}% column key
+ {94}% value
+\DTLnewdbentry
+ {mydata}% database label
+ {Price}% column key
+ {\$2.99}% value
+% the next value needs to be expanded:
+\DTLsetup{new-value-expand}
+\DTLnewdbentry
+ {mydata}% database label
+ {Notes}% column key
+ {\limiteded}% value
+% switch off expansion:
+\DTLsetup{new-value-expand=false}
+\DTLnewrow{mydata}% create a new row
+% Add entries to the third row:
+\DTLnewdbentry
+ {mydata}% database label
+ {Product}% column key
+ {The Return of Sir Quackalot}% value
+\DTLnewdbentry
+ {mydata}% database label
+ {Quantity}% column key
+ {3}% value
+\DTLnewdbentry
+ {mydata}% database label
+ {Price}% column key
+ {\$4.99}% value
+ 
+\begin{document}
+\DTLdisplaydb{mydata}
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example070.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example071.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example071.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example071.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example071.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example071.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example071.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example071.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example071.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example071.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example071.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example071.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example071.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example071.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,26 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 71 Column with No Values
+% Label: "ex:nullcol"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool}
+\DTLnewdb{mydata}
+\DTLaddcolumnwithheader{mydata}{name}{Name}
+\DTLaddcolumnwithheader{mydata}{address}{Address}
+\DTLnewrow{mydata}
+\DTLnewdbentry{mydata}{name}{Zoë}
+\DTLnewrow{mydata}
+\DTLnewdbentry{mydata}{name}{José}
+\DTLnewrow{mydata}
+\DTLnewdbentry{mydata}{name}{Dickie}
+% this row has an empty name:
+\DTLnewrow{mydata}
+\DTLnewdbentry{mydata}{name}{} 
+\begin{document}
+Number of rows: \DTLrowcount{mydata}.
+Number of columns: \DTLcolumncount{mydata}. 
+
+\DTLdisplaydb{mydata} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example071.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example072.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example072.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example072.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example072.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example072.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example072.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example072.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example072.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example072.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example072.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example072.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example072.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example072.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,119 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 72 Display Data with Custom Alignment
+% Label: "ex:displaydbalignspecs"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool}
+\DTLsetup{store-datum,default-name=products}
+% define database:
+\DTLaction{new}
+% add columns in desired order:
+\DTLaction[key=Title]{add column}
+\DTLaction[key=Author]{add column}
+\DTLaction[key=Format]{add column}
+\DTLaction[key=Quantity]{add column}
+\DTLaction[key=Price,value={Price (\$)}]{add column}
+% 1st row:
+\DTLaction[
+ assign={
+  Title = {The Adventures of Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = paperback,
+  Quantity = 3, Price = {10.99}
+ }
+]{new row}
+% 2nd row:
+\DTLaction[
+ assign={
+  Title = {The Return of Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = paperback,
+  Quantity = 5, Price = {19.99}
+ }
+]{new row}
+% 3rd row:
+\DTLaction[
+ assign={
+  Title = {More Fun with Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = paperback,
+  Quantity = 1, Price = {12.99}
+ }
+]{new row}
+% 4th row:
+\DTLaction[
+ assign={
+  Title = {Duck and Goose on Holiday},
+  Author = {Sir Quackalot},
+  Format = paperback,
+  Quantity = 3, Price = {11.99}
+ }
+]{new row}
+% 5th row:
+\DTLaction[
+ assign={
+  Title = {The Return of Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = hardback,
+  Quantity = 3, Price = {19.99}
+ }
+]{new row}
+% 6th row:
+\DTLaction[
+ assign={
+  Title = {The Adventures of Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = hardback,
+  Quantity = 9, Price = {18.99}
+ }
+]{new row}
+% 7th row:
+\DTLaction[
+ assign={
+  Title = {My Friend is a Duck},
+  Author = {A. Parrot},
+  Format = paperback,
+  Quantity = 20, Price = {14.99}
+ }
+]{new row}
+% 8th row:
+\DTLaction[
+ assign={
+  Title = {Annotated Notes on the ‘Duck and Goose’ chronicles},
+  Author = {Prof Macaw},
+  Format = ebook,
+  Quantity = 10, Price = {8.99}
+ }
+]{new row}
+% 9th row:
+\DTLaction[
+ assign={
+  Title = {‘Duck and Goose’ Cheat Sheet for Students},
+  Author = {Polly Parrot},
+  Format = ebook,
+  Quantity = 50, Price = {5.99}
+ }
+]{new row}
+% 10th row:
+\DTLaction[
+ assign={
+  Title = {‘Duck and Goose’: an allegory for modern times?},
+  Author = {Bor Ing},
+  Format = hardback,
+  Quantity = 0, Price = {59.99}
+ }
+]{new row}
+% 11th row:
+\DTLaction[
+ assign={
+  Title = {Oh No! The Chickens have Escaped!},
+  Author = {Dickie Duck},
+  Format = ebook,
+  Quantity = 11, Price = {2.0}
+ }
+]{new row} 
+\begin{document}
+\DTLdisplaydb*[align-specs={p{0.4\linewidth}llrr}]{products} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example072.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example073.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example073.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example073.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example073.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example073.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example073.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example073.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example073.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example073.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example073.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example073.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example073.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example073.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,119 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 73 Display Data in a Table Omitting Columns
+% Label: "ex:displaydbomit"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool}
+\DTLsetup{store-datum,default-name=products}
+% define database:
+\DTLaction{new}
+% add columns in desired order:
+\DTLaction[key=Title]{add column}
+\DTLaction[key=Author]{add column}
+\DTLaction[key=Format]{add column}
+\DTLaction[key=Quantity]{add column}
+\DTLaction[key=Price,value={Price (\$)}]{add column}
+% 1st row:
+\DTLaction[
+ assign={
+  Title = {The Adventures of Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = paperback,
+  Quantity = 3, Price = {10.99}
+ }
+]{new row}
+% 2nd row:
+\DTLaction[
+ assign={
+  Title = {The Return of Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = paperback,
+  Quantity = 5, Price = {19.99}
+ }
+]{new row}
+% 3rd row:
+\DTLaction[
+ assign={
+  Title = {More Fun with Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = paperback,
+  Quantity = 1, Price = {12.99}
+ }
+]{new row}
+% 4th row:
+\DTLaction[
+ assign={
+  Title = {Duck and Goose on Holiday},
+  Author = {Sir Quackalot},
+  Format = paperback,
+  Quantity = 3, Price = {11.99}
+ }
+]{new row}
+% 5th row:
+\DTLaction[
+ assign={
+  Title = {The Return of Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = hardback,
+  Quantity = 3, Price = {19.99}
+ }
+]{new row}
+% 6th row:
+\DTLaction[
+ assign={
+  Title = {The Adventures of Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = hardback,
+  Quantity = 9, Price = {18.99}
+ }
+]{new row}
+% 7th row:
+\DTLaction[
+ assign={
+  Title = {My Friend is a Duck},
+  Author = {A. Parrot},
+  Format = paperback,
+  Quantity = 20, Price = {14.99}
+ }
+]{new row}
+% 8th row:
+\DTLaction[
+ assign={
+  Title = {Annotated Notes on the ‘Duck and Goose’ chronicles},
+  Author = {Prof Macaw},
+  Format = ebook,
+  Quantity = 10, Price = {8.99}
+ }
+]{new row}
+% 9th row:
+\DTLaction[
+ assign={
+  Title = {‘Duck and Goose’ Cheat Sheet for Students},
+  Author = {Polly Parrot},
+  Format = ebook,
+  Quantity = 50, Price = {5.99}
+ }
+]{new row}
+% 10th row:
+\DTLaction[
+ assign={
+  Title = {‘Duck and Goose’: an allegory for modern times?},
+  Author = {Bor Ing},
+  Format = hardback,
+  Quantity = 0, Price = {59.99}
+ }
+]{new row}
+% 11th row:
+\DTLaction[
+ assign={
+  Title = {Oh No! The Chickens have Escaped!},
+  Author = {Dickie Duck},
+  Format = ebook,
+  Quantity = 11, Price = {2.0}
+ }
+]{new row} 
+\begin{document}
+\DTLaction[options={omit-keys={Quantity,Price}}]{display} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example073.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example074.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example074.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example074.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example074.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example074.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example074.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example074.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example074.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example074.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example074.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example074.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example074.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example074.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,119 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 74 Display Data in a Table with Named Columns
+% Label: "ex:displaydbonly"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool}
+\DTLsetup{store-datum,default-name=products}
+% define database:
+\DTLaction{new}
+% add columns in desired order:
+\DTLaction[key=Title]{add column}
+\DTLaction[key=Author]{add column}
+\DTLaction[key=Format]{add column}
+\DTLaction[key=Quantity]{add column}
+\DTLaction[key=Price,value={Price (\$)}]{add column}
+% 1st row:
+\DTLaction[
+ assign={
+  Title = {The Adventures of Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = paperback,
+  Quantity = 3, Price = {10.99}
+ }
+]{new row}
+% 2nd row:
+\DTLaction[
+ assign={
+  Title = {The Return of Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = paperback,
+  Quantity = 5, Price = {19.99}
+ }
+]{new row}
+% 3rd row:
+\DTLaction[
+ assign={
+  Title = {More Fun with Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = paperback,
+  Quantity = 1, Price = {12.99}
+ }
+]{new row}
+% 4th row:
+\DTLaction[
+ assign={
+  Title = {Duck and Goose on Holiday},
+  Author = {Sir Quackalot},
+  Format = paperback,
+  Quantity = 3, Price = {11.99}
+ }
+]{new row}
+% 5th row:
+\DTLaction[
+ assign={
+  Title = {The Return of Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = hardback,
+  Quantity = 3, Price = {19.99}
+ }
+]{new row}
+% 6th row:
+\DTLaction[
+ assign={
+  Title = {The Adventures of Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = hardback,
+  Quantity = 9, Price = {18.99}
+ }
+]{new row}
+% 7th row:
+\DTLaction[
+ assign={
+  Title = {My Friend is a Duck},
+  Author = {A. Parrot},
+  Format = paperback,
+  Quantity = 20, Price = {14.99}
+ }
+]{new row}
+% 8th row:
+\DTLaction[
+ assign={
+  Title = {Annotated Notes on the ‘Duck and Goose’ chronicles},
+  Author = {Prof Macaw},
+  Format = ebook,
+  Quantity = 10, Price = {8.99}
+ }
+]{new row}
+% 9th row:
+\DTLaction[
+ assign={
+  Title = {‘Duck and Goose’ Cheat Sheet for Students},
+  Author = {Polly Parrot},
+  Format = ebook,
+  Quantity = 50, Price = {5.99}
+ }
+]{new row}
+% 10th row:
+\DTLaction[
+ assign={
+  Title = {‘Duck and Goose’: an allegory for modern times?},
+  Author = {Bor Ing},
+  Format = hardback,
+  Quantity = 0, Price = {59.99}
+ }
+]{new row}
+% 11th row:
+\DTLaction[
+ assign={
+  Title = {Oh No! The Chickens have Escaped!},
+  Author = {Dickie Duck},
+  Format = ebook,
+  Quantity = 11, Price = {2.0}
+ }
+]{new row} 
+\begin{document}
+\DTLaction[options={only-keys={Author,Title,Price}}]{display} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example074.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example075.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example075.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example075.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example075.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example075.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example075.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example075.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example075.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example075.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example075.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example075.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example075.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example075.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,131 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 75 Display Data in a Table with Filtered Rows
+% Label: "ex:displaydbcond"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool}
+\DTLsetup{store-datum,default-name=products}
+% define database:
+\DTLaction{new}
+% add columns in desired order:
+\DTLaction[key=Title]{add column}
+\DTLaction[key=Author]{add column}
+\DTLaction[key=Format]{add column}
+\DTLaction[key=Quantity]{add column}
+\DTLaction[key=Price,value={Price (\$)}]{add column}
+% 1st row:
+\DTLaction[
+ assign={
+  Title = {The Adventures of Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = paperback,
+  Quantity = 3, Price = {10.99}
+ }
+]{new row}
+% 2nd row:
+\DTLaction[
+ assign={
+  Title = {The Return of Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = paperback,
+  Quantity = 5, Price = {19.99}
+ }
+]{new row}
+% 3rd row:
+\DTLaction[
+ assign={
+  Title = {More Fun with Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = paperback,
+  Quantity = 1, Price = {12.99}
+ }
+]{new row}
+% 4th row:
+\DTLaction[
+ assign={
+  Title = {Duck and Goose on Holiday},
+  Author = {Sir Quackalot},
+  Format = paperback,
+  Quantity = 3, Price = {11.99}
+ }
+]{new row}
+% 5th row:
+\DTLaction[
+ assign={
+  Title = {The Return of Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = hardback,
+  Quantity = 3, Price = {19.99}
+ }
+]{new row}
+% 6th row:
+\DTLaction[
+ assign={
+  Title = {The Adventures of Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = hardback,
+  Quantity = 9, Price = {18.99}
+ }
+]{new row}
+% 7th row:
+\DTLaction[
+ assign={
+  Title = {My Friend is a Duck},
+  Author = {A. Parrot},
+  Format = paperback,
+  Quantity = 20, Price = {14.99}
+ }
+]{new row}
+% 8th row:
+\DTLaction[
+ assign={
+  Title = {Annotated Notes on the ‘Duck and Goose’ chronicles},
+  Author = {Prof Macaw},
+  Format = ebook,
+  Quantity = 10, Price = {8.99}
+ }
+]{new row}
+% 9th row:
+\DTLaction[
+ assign={
+  Title = {‘Duck and Goose’ Cheat Sheet for Students},
+  Author = {Polly Parrot},
+  Format = ebook,
+  Quantity = 50, Price = {5.99}
+ }
+]{new row}
+% 10th row:
+\DTLaction[
+ assign={
+  Title = {‘Duck and Goose’: an allegory for modern times?},
+  Author = {Bor Ing},
+  Format = hardback,
+  Quantity = 0, Price = {59.99}
+ }
+]{new row}
+% 11th row:
+\DTLaction[
+ assign={
+  Title = {Oh No! The Chickens have Escaped!},
+  Author = {Dickie Duck},
+  Format = ebook,
+  Quantity = 11, Price = {2.0}
+ }
+]{new row} 
+
+\newcommand{\productfilter}[3]{% 
+ \dtlgetentryfromcurrentrow
+ {\theQuantity}% 
+ {\dtlcolumnindex{\dtldbname}{Quantity}}% 
+ \DTLifnumgt{\theQuantity}{0}{#3}{}% 
+} 
+\begin{document}
+\DTLaction[
+ options={
+  row-condition-function=\productfilter,
+  only-keys={Title,Quantity,Price}
+ }
+]{display} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example075.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example076.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example076.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example076.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example076.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example076.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example076.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example076.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example076.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example076.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example076.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example076.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example076.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example076.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,55 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 76 Referencing Rows from Displayed Data
+% Label: "ex:displayrowref"
+% arara: pdflatex
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+ \begin{filecontents}[noheader,overwrite]{studentmarks.csv}
+Surname,Forename,StudentNo,Assign1,Assign2,Assign3
+"Smith, Jr",John,102689,68,57,72
+"Brown",Jane,102647,75,84,80
+"Brown",Jane,102646,64,92,79
+"Brown",Andy,103569,42,52,54
+"Adams",Zoë,105987,52,48,57
+"Brady",Roger,106872,68,60,62
+"Verdon",Clare,104356,45,50,48
+\end{filecontents}
+
+\usepackage{datatool}
+\DTLsetup{default-name=marks}
+\DTLread{studentmarks.csv}
+\ExplSyntaxOn
+\RenewDocumentCommand \DTLdisplaydbAddItem 
+ { m m m m m m m m }
+{
+ \int_compare:nNnT { #7 } = { \c_one_int }
+ {
+  \DTLaction[ return={ \StudentNo = StudentNo } ]
+  { current ~ row ~ values }
+  \tl_put_right:Nn #1 { \DTLrowincr \label }
+  \tl_put_right:Nx #1 { { \StudentNo } }
+ }
+ \tl_put_right:Nn #1 { #3 { #2 } }
+}
+\ExplSyntaxOff 
+\begin{document}
+\DTLrowreset
+\DTLaction{display} 
+
+\DTLaction[
+ assign={
+  \Surname=Surname,
+  \Forename=Forename,
+  \StudentNo=StudentNo
+ },
+ options={
+  inline={% 
+  \DTLifstringeq{\Surname}{Brown}
+  {\DTLifstringeq{\Forename}{Andy}{#1}{}}{}% 
+  }
+ }
+]{find}
+Row \ref{\StudentNo} shows the details for Andy Brown. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example076.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example077.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example077.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example077.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example077.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example077.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example077.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example077.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example077.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example077.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example077.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example077.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example077.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example077.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,61 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 77 Inserting a Column at the Start of Displayed Data
+% Label: "ex:displayinsertcol"
+% arara: pdflatex
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+ \begin{filecontents}[noheader,overwrite]{studentmarks.csv}
+Surname,Forename,StudentNo,Assign1,Assign2,Assign3
+"Smith, Jr",John,102689,68,57,72
+"Brown",Jane,102647,75,84,80
+"Brown",Jane,102646,64,92,79
+"Brown",Andy,103569,42,52,54
+"Adams",Zoë,105987,52,48,57
+"Brady",Roger,106872,68,60,62
+"Verdon",Clare,104356,45,50,48
+\end{filecontents}
+
+\usepackage{datatool}
+\DTLsetup{default-name=marks}
+\DTLread{studentmarks.csv}
+\ExplSyntaxOn
+\RenewDocumentCommand \DTLdisplaydbAddItem 
+ { m m m m m m m m }
+{
+ \int_compare:nNnT { #7 } = { \c_one_int }
+ {
+  \DTLaction[ return={ \StudentNo = StudentNo } ]
+  { current ~ row ~ values }
+  \tl_put_right:Nn #1 { \DTLrowincr \label }
+  \tl_put_right:Nx #1 { { \StudentNo } }
+  \tl_put_right:Nn #1 { \DTLtherow & }
+ }
+ \tl_put_right:Nn #1 { #3 { #2 } }
+}
+\ExplSyntaxOff 
+\begin{document}
+\DTLrowreset
+\DTLaction[
+ options={
+  pre-col={r},
+  pre-head={\bfseries Row &}
+ }
+]{display} 
+
+\DTLaction[
+ assign={
+  \Surname=Surname,
+  \Forename=Forename,
+  \StudentNo=StudentNo
+ },
+ options={
+  inline={% 
+  \DTLifstringeq{\Surname}{Brown}
+  {\DTLifstringeq{\Forename}{Andy}{#1}{}}{}% 
+  }
+ }
+]{find}
+Row \ref{\StudentNo} shows the details for Andy Brown. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example077.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example078.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example078.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example078.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example078.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example078.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example078.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example078.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example078.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example078.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example078.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example078.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example078.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example078.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,142 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 78 Display Data in a Table with an Extra Column
+% Label: "ex:displaydbpostrow"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{booktabs}
+\usepackage{datatool}
+\DTLsetup{store-datum,default-name=products}
+% define database:
+\DTLaction{new}
+% add columns in desired order:
+\DTLaction[key=Title]{add column}
+\DTLaction[key=Author]{add column}
+\DTLaction[key=Format]{add column}
+\DTLaction[key=Quantity]{add column}
+\DTLaction[key=Price,value={Price (\$)}]{add column}
+% 1st row:
+\DTLaction[
+ assign={
+  Title = {The Adventures of Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = paperback,
+  Quantity = 3, Price = {10.99}
+ }
+]{new row}
+% 2nd row:
+\DTLaction[
+ assign={
+  Title = {The Return of Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = paperback,
+  Quantity = 5, Price = {19.99}
+ }
+]{new row}
+% 3rd row:
+\DTLaction[
+ assign={
+  Title = {More Fun with Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = paperback,
+  Quantity = 1, Price = {12.99}
+ }
+]{new row}
+% 4th row:
+\DTLaction[
+ assign={
+  Title = {Duck and Goose on Holiday},
+  Author = {Sir Quackalot},
+  Format = paperback,
+  Quantity = 3, Price = {11.99}
+ }
+]{new row}
+% 5th row:
+\DTLaction[
+ assign={
+  Title = {The Return of Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = hardback,
+  Quantity = 3, Price = {19.99}
+ }
+]{new row}
+% 6th row:
+\DTLaction[
+ assign={
+  Title = {The Adventures of Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = hardback,
+  Quantity = 9, Price = {18.99}
+ }
+]{new row}
+% 7th row:
+\DTLaction[
+ assign={
+  Title = {My Friend is a Duck},
+  Author = {A. Parrot},
+  Format = paperback,
+  Quantity = 20, Price = {14.99}
+ }
+]{new row}
+% 8th row:
+\DTLaction[
+ assign={
+  Title = {Annotated Notes on the ‘Duck and Goose’ chronicles},
+  Author = {Prof Macaw},
+  Format = ebook,
+  Quantity = 10, Price = {8.99}
+ }
+]{new row}
+% 9th row:
+\DTLaction[
+ assign={
+  Title = {‘Duck and Goose’ Cheat Sheet for Students},
+  Author = {Polly Parrot},
+  Format = ebook,
+  Quantity = 50, Price = {5.99}
+ }
+]{new row}
+% 10th row:
+\DTLaction[
+ assign={
+  Title = {‘Duck and Goose’: an allegory for modern times?},
+  Author = {Bor Ing},
+  Format = hardback,
+  Quantity = 0, Price = {59.99}
+ }
+]{new row}
+% 11th row:
+\DTLaction[
+ assign={
+  Title = {Oh No! The Chickens have Escaped!},
+  Author = {Dickie Duck},
+  Format = ebook,
+  Quantity = 11, Price = {2.0}
+ }
+]{new row} 
+
+\newcommand{\productappendtotal}[2]{% 
+ \DTLaction[
+ return={ \theQuantity=Quantity, \thePrice=Price }
+ ]{current row values}% 
+ \DTLmul{\theTotal}{\theQuantity}{\thePrice}% 
+ \DTLround{\theTotal}{\theTotal}{2}% 
+ \appto#1{&}% 
+ \eappto#1{\expandonce\theTotal}% 
+ \DTLadd{\runningtotal}{\runningtotal}{\theTotal}% 
+} 
+\begin{document}
+\DTLaction[
+ options={
+  only-keys={Title,Quantity,Price},
+  pre-head={\toprule},
+  after-head={\midrule},
+  align-specs={lrrr},
+  post-head={& \dtlcolumnheader{c}{Total}},
+  init={\def\runningtotal{0}},
+  post-row-function=\productappendtotal,
+  foot={\midrule & & & \runningtotal}
+ }
+]{display} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example078.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example079.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example079.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example079.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example079.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example079.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example079.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example079.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example079.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example079.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example079.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example079.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example079.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example079.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,57 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 79 Adjusting the Item Hook to Calculate Totals and Show Negative Numbers in Red
+% Label: "ex:balancesheet"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\begin{filecontents}[noheader,overwrite]{balance.csv}
+Description,In,Out,Balance
+Travel expenses,,230,-230
+Conference fees,,400,-630
+Grant,700,,70
+Train fare,,70,0
+\end{filecontents}
+\usepackage{booktabs}
+\usepackage{color}
+\usepackage{datatool} 
+
+\DTLsetup{store-datum,default-name=balance} 
+
+\DTLread[
+ headers={
+  Description,
+  in (\pounds),
+  Out (\pounds),
+  Balance (\pounds)
+ }
+]{balance.csv} 
+
+\newcommand{\theInTotal}{0}
+\newcommand{\theOutTotal}{0}
+\RenewDocumentCommand \DTLdisplaydbAddItem { m m m m m m m m }
+{% 
+ \DTLifnullorempty{#2}{}% skip null or empty
+ {% 
+ \dtlifnumeq{#8}{4}% balance column
+ {% 
+  \DTLifnumlt{#2}{0}{\appto#1{\color{red}}}{}% 
+ }% 
+ {% 
+  \dtlifnumeq{#8}{2}% in column
+  {\DTLadd{\theInTotal}{\theInTotal}{#2}}% 
+ {% 
+  \dtlifnumeq{#8}{3}{\DTLadd{\theOutTotal}{\theOutTotal}{#2}}{}% out column
+ }% 
+ }% 
+ \appto#1{#3{#2}}% 
+ }% 
+ } 
+\begin{document}
+\DTLaction[
+ options={
+  after-head={\midrule},
+  foot={\midrule Totals & \theInTotal & \theOutTotal &}
+ }
+]{display} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example079.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example080.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example080.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example080.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example080.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example080.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example080.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example080.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example080.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example080.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example080.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example080.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example080.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example080.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,85 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 80 Display Two Database Rows Per Tabular Row
+% Label: "ex:displaydbrepeatcols"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage[locales=en]{datatool}
+\DTLsetup{store-datum,default-name=scores}
+% define database:
+\DTLaction{new}
+% add columns in desired order:
+\DTLaction[key=forename,value={First Name}]{add column}
+\DTLaction[key=surname,value={Surname}]{add column}
+\DTLaction[key=regnum,value={Student Number}]{add column}
+\DTLaction[key=gender]{add column}
+\DTLaction[key=parent]{add column}
+\DTLaction[key=score,value={Score (\%)}]{add column}
+\DTLaction[key=award]{add column}
+% 1st row:
+\DTLaction[
+ assign={ forename = Jane, surname = Brown,
+  regnum = 102647, score = 75, award = {\$1,830},
+  gender = F, parent = {Ms Brown}
+ }
+]{new row}
+% 2nd row:
+\DTLaction[
+ assign={ forename = John, surname = {Smith, Jr},
+  regnum = 102689, score = 68, award = {\$1,560},
+  gender = M, parent = {Mr and Mrs Smith}
+ }
+]{new row}
+% 3rd row:
+\DTLaction[
+ assign={ forename = Quinn, surname = Ó Coinn,
+  regnum = 103294, score = 91, award = {\$3,280},
+  parent = {Mr and Mrs Ó Coinn}
+ }
+]{new row}
+% 4th row:
+\DTLaction[
+ assign={ forename = Evelyn, surname = O'Leary,
+  regnum = 107569, score = 81.5, award = {\$2,460},
+  gender = n, parent = {Prof O'Leary}
+ }
+]{new row}
+% 5th row:
+\DTLaction[
+ assign={ forename = Zoë, surname = Adams,
+  regnum = 105987, score = 52, award = {\$1,250},
+  gender = f, parent = {Mr and Mrs Adams}
+ }
+]{new row}
+% 6th row:
+\DTLaction[
+ assign={ forename = Clare, surname = Vernon,
+  regnum = 104356, score = 45, award = {\$500},
+  gender = Female, parent = {Mr Vernon}
+ }
+]{new row}
+% 7th row:
+\DTLaction[
+ assign={ forename = Roger, surname = Brady,
+  regnum = 106872, score = 58, award = {\$1,350},
+  gender = m, parent = {Dr Brady and Dr Mady}
+ }
+]{new row}
+% 8th row:
+\DTLaction[
+ assign={
+  forename = Andy, surname = Brown, regnum = 103569,
+  score = 42, award = {\$980},
+  gender = male, parent = {Mr Brown and Prof Sepia}
+ }
+]{new row} 
+\begin{document}
+\DTLaction[assign={surname,forename}]{sort}
+\DTLaction[
+ options={
+  per-row=2,
+  only-keys={forename,surname,score}
+ }
+]{display} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example080.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example081.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example081.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example081.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example081.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example081.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example081.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example081.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example081.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example081.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example081.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example081.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example081.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example081.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,86 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 81 Display Two Database Rows Per Tabular Row (Top to Bottom)
+% Label: "ex:displaydbttb"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage[locales=en]{datatool}
+\DTLsetup{store-datum,default-name=scores}
+% define database:
+\DTLaction{new}
+% add columns in desired order:
+\DTLaction[key=forename,value={First Name}]{add column}
+\DTLaction[key=surname,value={Surname}]{add column}
+\DTLaction[key=regnum,value={Student Number}]{add column}
+\DTLaction[key=gender]{add column}
+\DTLaction[key=parent]{add column}
+\DTLaction[key=score,value={Score (\%)}]{add column}
+\DTLaction[key=award]{add column}
+% 1st row:
+\DTLaction[
+ assign={ forename = Jane, surname = Brown,
+  regnum = 102647, score = 75, award = {\$1,830},
+  gender = F, parent = {Ms Brown}
+ }
+]{new row}
+% 2nd row:
+\DTLaction[
+ assign={ forename = John, surname = {Smith, Jr},
+  regnum = 102689, score = 68, award = {\$1,560},
+  gender = M, parent = {Mr and Mrs Smith}
+ }
+]{new row}
+% 3rd row:
+\DTLaction[
+ assign={ forename = Quinn, surname = Ó Coinn,
+  regnum = 103294, score = 91, award = {\$3,280},
+  parent = {Mr and Mrs Ó Coinn}
+ }
+]{new row}
+% 4th row:
+\DTLaction[
+ assign={ forename = Evelyn, surname = O'Leary,
+  regnum = 107569, score = 81.5, award = {\$2,460},
+  gender = n, parent = {Prof O'Leary}
+ }
+]{new row}
+% 5th row:
+\DTLaction[
+ assign={ forename = Zoë, surname = Adams,
+  regnum = 105987, score = 52, award = {\$1,250},
+  gender = f, parent = {Mr and Mrs Adams}
+ }
+]{new row}
+% 6th row:
+\DTLaction[
+ assign={ forename = Clare, surname = Vernon,
+  regnum = 104356, score = 45, award = {\$500},
+  gender = Female, parent = {Mr Vernon}
+ }
+]{new row}
+% 7th row:
+\DTLaction[
+ assign={ forename = Roger, surname = Brady,
+  regnum = 106872, score = 58, award = {\$1,350},
+  gender = m, parent = {Dr Brady and Dr Mady}
+ }
+]{new row}
+% 8th row:
+\DTLaction[
+ assign={
+  forename = Andy, surname = Brown, regnum = 103569,
+  score = 42, award = {\$980},
+  gender = male, parent = {Mr Brown and Prof Sepia}
+ }
+]{new row} 
+\begin{document}
+\DTLaction[assign={surname,forename}]{sort}
+\DTLaction[
+ options={
+  per-row=2,
+  row-idx-map-function=\DTLdisplayTBrowidxmap,
+ only-keys={forename,surname,score}
+ }
+]{display} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example081.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example082.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example082.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example082.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example082.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example082.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example082.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example082.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example082.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example082.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example082.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example082.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example082.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example082.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,41 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 82 Display Data in a Stripy Table
+% Label: "ex:displaydbstripytable"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+ \begin{filecontents}[noheader,overwrite]{studentmarks.csv}
+Surname,Forename,StudentNo,Assign1,Assign2,Assign3
+"Smith, Jr",John,102689,68,57,72
+"Brown",Jane,102647,75,84,80
+"Brown",Jane,102646,64,92,79
+"Brown",Andy,103569,42,52,54
+"Adams",Zoë,105987,52,48,57
+"Brady",Roger,106872,68,60,62
+"Verdon",Clare,104356,45,50,48
+\end{filecontents}
+
+\usepackage{colortbl}
+\usepackage{datatool}
+\DTLsetup{store-datum,default-name=marks}
+\DTLread{studentmarks.csv}
+\ExplSyntaxOn
+\RenewDocumentCommand \DTLdisplaydbAddItem { m m m m m m m m }
+{
+ \int_compare:nNnT { #7 } = { \c_one_int }
+ { % first column
+   \int_if_odd:nTF { #5 }
+  { % odd row
+   \tl_put_right:Nn #1 { \rowcolor { blue } }
+  }
+  { % even row
+   \tl_put_right:Nn #1 { \rowcolor { green } }
+  }
+  }
+ \tl_put_right:Nn #1 { #3 { #2 } }
+}
+\ExplSyntaxOff 
+\begin{document}
+\DTLaction{display} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example082.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example083.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example083.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example083.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example083.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example083.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example083.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example083.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example083.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example083.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example083.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example083.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example083.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example083.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,99 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 83 Display Stripy Two Database Rows Per Tabular Row
+% Label: "ex:displaydbstripyrepeatcols"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{colortbl}
+\usepackage{datatool}
+\DTLsetup{store-datum,default-name=scores}
+% define database:
+\DTLaction{new}
+% add columns in desired order:
+\DTLaction[key=forename,value={First Name}]{add column}
+\DTLaction[key=surname,value={Surname}]{add column}
+\DTLaction[key=regnum,value={Student Number}]{add column}
+\DTLaction[key=gender]{add column}
+\DTLaction[key=parent]{add column}
+\DTLaction[key=score,value={Score (\%)}]{add column}
+\DTLaction[key=award]{add column}
+% 1st row:
+\DTLaction[
+ assign={ forename = Jane, surname = Brown,
+  regnum = 102647, score = 75, award = {\$1,830},
+  gender = F, parent = {Ms Brown}
+ }
+]{new row}
+% 2nd row:
+\DTLaction[
+ assign={ forename = John, surname = {Smith, Jr},
+  regnum = 102689, score = 68, award = {\$1,560},
+  gender = M, parent = {Mr and Mrs Smith}
+ }
+]{new row}
+% 3rd row:
+\DTLaction[
+ assign={ forename = Quinn, surname = Ó Coinn,
+  regnum = 103294, score = 91, award = {\$3,280},
+  parent = {Mr and Mrs Ó Coinn}
+ }
+]{new row}
+% 4th row:
+\DTLaction[
+ assign={ forename = Evelyn, surname = O'Leary,
+  regnum = 107569, score = 81.5, award = {\$2,460},
+  gender = n, parent = {Prof O'Leary}
+ }
+]{new row}
+% 5th row:
+\DTLaction[
+ assign={ forename = Zoë, surname = Adams,
+  regnum = 105987, score = 52, award = {\$1,250},
+  gender = f, parent = {Mr and Mrs Adams}
+ }
+]{new row}
+% 6th row:
+\DTLaction[
+ assign={ forename = Clare, surname = Vernon,
+  regnum = 104356, score = 45, award = {\$500},
+  gender = Female, parent = {Mr Vernon}
+ }
+]{new row}
+% 7th row:
+\DTLaction[
+ assign={ forename = Roger, surname = Brady,
+  regnum = 106872, score = 58, award = {\$1,350},
+  gender = m, parent = {Dr Brady and Dr Mady}
+ }
+]{new row}
+% 8th row:
+\DTLaction[
+ assign={
+  forename = Andy, surname = Brown, regnum = 103569,
+  score = 42, award = {\$980},
+  gender = male, parent = {Mr Brown and Prof Sepia}
+ }
+]{new row} 
+\ExplSyntaxOn
+\RenewDocumentCommand \DTLdisplaydbAddItem { m m m m m m m m }
+{
+ \datatool_if_row_start:nnT { #5 } { #7 } 
+ { % first column
+   \int_compare:nNnTF { \int_mod:nn { #5 } { 2 * \l_datatool_display_per_row_int } } = { \c_one_int }
+  { \tl_put_right:Nn #1 { \rowcolor { blue } }
+  }
+  { \tl_put_right:Nn #1 { \rowcolor { green } }
+  }
+  }
+ \tl_put_right:Nn #1 { #3 { #2 } }
+}
+\ExplSyntaxOff 
+\begin{document}
+\DTLaction[
+ options={
+  per-row=2,
+  only-keys={forename,surname,score}
+ }
+]{display} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example083.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example084.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example084.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example084.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example084.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example084.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example084.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example084.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example084.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example084.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example084.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example084.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example084.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example084.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,52 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 84 Display Two Fields in One Column
+% Label: "ex:displaydbmergefields"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+ \begin{filecontents}[noheader,overwrite]{studentmarks.csv}
+Surname,Forename,StudentNo,Assign1,Assign2,Assign3
+"Smith, Jr",John,102689,68,57,72
+"Brown",Jane,102647,75,84,80
+"Brown",Jane,102646,64,92,79
+"Brown",Andy,103569,42,52,54
+"Adams",Zoë,105987,52,48,57
+"Brady",Roger,106872,68,60,62
+"Verdon",Clare,104356,45,50,48
+\end{filecontents}
+
+\usepackage{datatool}
+\DTLsetup{store-datum,default-name=marks}
+\DTLread{studentmarks.csv}
+\ExplSyntaxOn
+\RenewDocumentCommand \DTLdisplaydbAddItem 
+ { m m m m m m m m } 
+{
+ \int_compare:nNnTF
+  { #7 } = { \c_one_int }
+ {
+  \DTLaction[ return={\l_tmpa_tl=Forename} ]
+  { current ~ row ~ values }
+  \datatool_if_null_or_empty:NTF \l_tmpa_tl
+  {
+  \tl_put_right:Nn #1 { #3 { #2 } }
+   }
+  {
+   \tl_put_right:Nx #1 
+    { \exp_not:N #3 { \exp_not:n { #2 }, ~ \exp_not:V \l_tmpa_tl } }
+  }
+  }
+ {
+  \tl_put_right:Nn #1 { #3 { #2 } }
+ }
+}
+\ExplSyntaxOff 
+\begin{document}
+\DTLaction[
+ options={
+  only-keys={Surname,StudentNo,Assign1,Assign2,Assign3},
+  header-row={Name & Reg.\ No., & Mark 1 & Mark 2 & Mark 3}
+  }
+ ]{display} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example084.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example085.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example085.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example085.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example085.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example085.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example085.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example085.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example085.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example085.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example085.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example085.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example085.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example085.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,78 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 85 Displaying Data with Calculations, Filtering and Row Highlighting
+% Label: "ex:displaydbaverages"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+ \begin{filecontents}[noheader,overwrite]{studentmarks.csv}
+Surname,Forename,StudentNo,Assign1,Assign2,Assign3
+"Smith, Jr",John,102689,68,57,72
+"Brown",Jane,102647,75,84,80
+"Brown",Jane,102646,64,92,79
+"Brown",Andy,103569,42,52,54
+"Adams",Zoë,105987,52,48,57
+"Brady",Roger,106872,68,60,62
+"Verdon",Clare,104356,45,50,48
+\end{filecontents}
+
+\usepackage{colortbl}
+\usepackage{datatool}
+\DTLsetup{store-datum,default-name=marks}
+\DTLread{studentmarks.csv}
+\ExplSyntaxOn
+\RenewDocumentCommand \DTLdisplaydbAddItem 
+ { m m m m m m m m } 
+{
+ \int_compare:nNnTF
+  { #7 } = { \c_one_int }
+ {
+  % insert highlight if average greater than 70
+   \fp_compare:nNnT
+  { \DTLdatumvalue \AverageScore } > { 70 }
+  { 
+  \tl_put_right:Nn #1 { \rowcolor {yellow} }
+  }
+  \DTLaction[ return={\l_tmpa_tl=Forename} ]
+  { current ~ row ~ values }
+  \datatool_if_null_or_empty:NTF \l_tmpa_tl
+  {
+  \tl_put_right:Nn #1 { #3 { #2 } }
+   }
+  {
+   \tl_put_right:Nx #1 
+    { \exp_not:N #3 { \exp_not:n { #2 }, ~ \exp_not:V \l_tmpa_tl } }
+  }
+  }
+ {
+  \tl_put_right:Nn #1 { #3 { #2 } }
+ }
+}
+\ExplSyntaxOff 
+
+\newcommand{\rowfilter}[3]{% 
+ \DTLaction[
+  options={mean},datum={round=1},
+  keys={Assign1-},
+  return={\AverageScore=mean}
+  ]{current row aggregate}% calculate average
+ \DTLifnumlt{\AverageScore}{50}% 
+ {}% skip if average less than 50
+ {#3}% include this row otherwise
+} 
+
+\newcommand{\appendaverage}[2]{% 
+ \appto#1{&}% 
+ \eappto#1{\expandonce\AverageScore}% 
+} 
+\begin{document}
+\DTLaction[
+ options={
+  only-keys={Surname,StudentNo},
+  align-specs={lrr},
+  post-row-function={\appendaverage},
+  row-condition-function={\rowfilter},
+  header-row={Name & Reg.\ No. & Average}
+  }
+ ]{display} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example085.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example086.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example086.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example086.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example086.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example086.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example086.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example086.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example086.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example086.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example086.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example086.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example086.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example086.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,91 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 86 Iterating Over Rows with \DTLmapdata and DTLenvmapdata
+% Label: "ex:mapdata"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool}
+\DTLsetup{store-datum,default-name=scores}
+% define database:
+\DTLaction{new}
+% add columns in desired order:
+\DTLaction[key=forename,value={First Name}]{add column}
+\DTLaction[key=surname,value={Surname}]{add column}
+\DTLaction[key=regnum,value={Student Number}]{add column}
+\DTLaction[key=gender]{add column}
+\DTLaction[key=parent]{add column}
+\DTLaction[key=score,value={Score (\%)}]{add column}
+\DTLaction[key=award]{add column}
+% 1st row:
+\DTLaction[
+ assign={ forename = Jane, surname = Brown,
+  regnum = 102647, score = 75, award = {\$1,830},
+  gender = F, parent = {Ms Brown}
+ }
+]{new row}
+% 2nd row:
+\DTLaction[
+ assign={ forename = John, surname = {Smith, Jr},
+  regnum = 102689, score = 68, award = {\$1,560},
+  gender = M, parent = {Mr and Mrs Smith}
+ }
+]{new row}
+% 3rd row:
+\DTLaction[
+ assign={ forename = Quinn, surname = Ó Coinn,
+  regnum = 103294, score = 91, award = {\$3,280},
+  parent = {Mr and Mrs Ó Coinn}
+ }
+]{new row}
+% 4th row:
+\DTLaction[
+ assign={ forename = Evelyn, surname = O'Leary,
+  regnum = 107569, score = 81.5, award = {\$2,460},
+  gender = n, parent = {Prof O'Leary}
+ }
+]{new row}
+% 5th row:
+\DTLaction[
+ assign={ forename = Zoë, surname = Adams,
+  regnum = 105987, score = 52, award = {\$1,250},
+  gender = f, parent = {Mr and Mrs Adams}
+ }
+]{new row}
+% 6th row:
+\DTLaction[
+ assign={ forename = Clare, surname = Vernon,
+  regnum = 104356, score = 45, award = {\$500},
+  gender = Female, parent = {Mr Vernon}
+ }
+]{new row}
+% 7th row:
+\DTLaction[
+ assign={ forename = Roger, surname = Brady,
+  regnum = 106872, score = 58, award = {\$1,350},
+  gender = m, parent = {Dr Brady and Dr Mady}
+ }
+]{new row}
+% 8th row:
+\DTLaction[
+ assign={
+  forename = Andy, surname = Brown, regnum = 103569,
+  score = 42, award = {\$980},
+  gender = male, parent = {Mr Brown and Prof Sepia}
+ }
+]{new row} 
+\begin{document}
+Command: \DTLmapdata{
+ \dtldbname: row \the\dtlrownum.
+ \dtlifnumeq{\dtlrownum}{3}{\DTLmapdatabreak}{}
+ (after break)
+} 
+
+% Note that the leading and trailing spaces are stripped in the environment body
+Environment:
+\begin{DTLenvmapdata}
+ \dtldbname: row \the\dtlrownum.
+ \dtlifnumeq{\dtlrownum}{3}{\DTLmapdatabreak}{}
+ (after break)
+\end{DTLenvmapdata} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example086.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example087.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example087.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example087.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example087.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example087.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example087.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example087.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example087.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example087.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example087.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example087.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example087.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example087.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,42 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 87 Iterating Over Rows with \DTLmapdata to Append a Column
+% Label: "ex:mapdataedit"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+ \begin{filecontents}[noheader,overwrite]{studentmarks.csv}
+Surname,Forename,StudentNo,Assign1,Assign2,Assign3
+"Smith, Jr",John,102689,68,57,72
+"Brown",Jane,102647,75,84,80
+"Brown",Jane,102646,64,92,79
+"Brown",Andy,103569,42,52,54
+"Adams",Zoë,105987,52,48,57
+"Brady",Roger,106872,68,60,62
+"Verdon",Clare,104356,45,50,48
+\end{filecontents}
+
+\usepackage{datatool}
+\DTLsetup{store-datum,default-name=marks}
+\DTLread{studentmarks.csv} 
+\begin{document}
+\DTLaction[key=Average]{add column}
+\DTLmapdata[allow-edits]{% 
+ % an open-ended range may be used as the new column is currently missing from this row:
+ \DTLaction[
+  keys={Assign1-},
+  options={mean},
+  datum={round=1},% round the result
+  return={\Mean=mean}
+ ]
+ {row aggregate}
+ \DTLifnull{\Mean}% test the return value
+ {}% row aggregate failed!
+ {% average calculated successfully
+ \DTLsetentry{key=Average,expand-value=\Mean}
+ }
+} 
+
+\DTLaction[assign={{Average=desc}}]{sort}
+\DTLaction{display} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example087.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example088.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example088.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example088.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example088.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example088.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example088.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example088.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example088.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example088.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example088.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example088.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example088.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example088.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,128 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 88 Display Data in a Table with \DTLforeach
+% Label: "ex:foreachdisplay"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datatool}
+\DTLsetup{store-datum,default-name=products}
+% define database:
+\DTLaction{new}
+% add columns in desired order:
+\DTLaction[key=Title]{add column}
+\DTLaction[key=Author]{add column}
+\DTLaction[key=Format]{add column}
+\DTLaction[key=Quantity]{add column}
+\DTLaction[key=Price,value={Price (\$)}]{add column}
+% 1st row:
+\DTLaction[
+ assign={
+  Title = {The Adventures of Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = paperback,
+  Quantity = 3, Price = {10.99}
+ }
+]{new row}
+% 2nd row:
+\DTLaction[
+ assign={
+  Title = {The Return of Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = paperback,
+  Quantity = 5, Price = {19.99}
+ }
+]{new row}
+% 3rd row:
+\DTLaction[
+ assign={
+  Title = {More Fun with Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = paperback,
+  Quantity = 1, Price = {12.99}
+ }
+]{new row}
+% 4th row:
+\DTLaction[
+ assign={
+  Title = {Duck and Goose on Holiday},
+  Author = {Sir Quackalot},
+  Format = paperback,
+  Quantity = 3, Price = {11.99}
+ }
+]{new row}
+% 5th row:
+\DTLaction[
+ assign={
+  Title = {The Return of Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = hardback,
+  Quantity = 3, Price = {19.99}
+ }
+]{new row}
+% 6th row:
+\DTLaction[
+ assign={
+  Title = {The Adventures of Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = hardback,
+  Quantity = 9, Price = {18.99}
+ }
+]{new row}
+% 7th row:
+\DTLaction[
+ assign={
+  Title = {My Friend is a Duck},
+  Author = {A. Parrot},
+  Format = paperback,
+  Quantity = 20, Price = {14.99}
+ }
+]{new row}
+% 8th row:
+\DTLaction[
+ assign={
+  Title = {Annotated Notes on the ‘Duck and Goose’ chronicles},
+  Author = {Prof Macaw},
+  Format = ebook,
+  Quantity = 10, Price = {8.99}
+ }
+]{new row}
+% 9th row:
+\DTLaction[
+ assign={
+  Title = {‘Duck and Goose’ Cheat Sheet for Students},
+  Author = {Polly Parrot},
+  Format = ebook,
+  Quantity = 50, Price = {5.99}
+ }
+]{new row}
+% 10th row:
+\DTLaction[
+ assign={
+  Title = {‘Duck and Goose’: an allegory for modern times?},
+  Author = {Bor Ing},
+  Format = hardback,
+  Quantity = 0, Price = {59.99}
+ }
+]{new row}
+% 11th row:
+\DTLaction[
+ assign={
+  Title = {Oh No! The Chickens have Escaped!},
+  Author = {Dickie Duck},
+  Format = ebook,
+  Quantity = 11, Price = {2.0}
+ }
+]{new row} 
+\begin{document}
+\begin{tabular}{llr}
+\bfseries Author &
+\bfseries Title &
+\bfseries Price (\$)% 
+\DTLforeach*{products}% database
+{\Author=Author,\Title=Title,\Price=Price}% assignment list
+ {\\% start new row
+ \Author & \Title & \Price
+}
+\end{tabular} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example088.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example089.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example089.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example089.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example089.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example089.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example089.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example089.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example089.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example089.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example089.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example089.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example089.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example089.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,44 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 89 Using \DTLforeach to Display a Stripy Table
+% Label: "ex:foreachstripy"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+ \begin{filecontents}[noheader,overwrite]{studentmarks.csv}
+Surname,Forename,StudentNo,Assign1,Assign2,Assign3
+"Smith, Jr",John,102689,68,57,72
+"Brown",Jane,102647,75,84,80
+"Brown",Jane,102646,64,92,79
+"Brown",Andy,103569,42,52,54
+"Adams",Zoë,105987,52,48,57
+"Brady",Roger,106872,68,60,62
+"Verdon",Clare,104356,45,50,48
+\end{filecontents}
+
+\usepackage{colortbl}
+\usepackage{datatool}
+\DTLsetup{default-name=marks}
+\DTLread{studentmarks.csv}
+
+\begin{document}
+\begin{tabular}{llrrrr}
+\bfseries Surname &
+\bfseries Forename &
+\bfseries StudentNo &
+\bfseries Assign1 &
+\bfseries Assign2 &
+\bfseries Assign3% 
+\DTLforeach*{marks}
+{\Surname=Surname, \Forename=Forename, \StudentNo=StudentNo,
+\AssignI=Assign1, \AssignII=Assign2, \AssignIII=Assign3}
+{% 
+ \DTLifoddrow{\\\rowcolor{blue}}{\\\rowcolor{green}} \Surname &
+ \Forename &
+ \StudentNo &
+ \AssignI &
+ \AssignII &
+ \AssignIII
+}% 
+\end{tabular} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example089.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example090.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example090.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example090.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example090.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example090.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example090.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example090.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example090.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example090.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example090.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example090.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example090.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example090.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,62 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 90 Displaying Data with Row Numbers Using \DTLforeach
+% Label: "ex:foreachinsertcol"
+% arara: pdflatex
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+ \begin{filecontents}[noheader,overwrite]{studentmarks.csv}
+Surname,Forename,StudentNo,Assign1,Assign2,Assign3
+"Smith, Jr",John,102689,68,57,72
+"Brown",Jane,102647,75,84,80
+"Brown",Jane,102646,64,92,79
+"Brown",Andy,103569,42,52,54
+"Adams",Zoë,105987,52,48,57
+"Brady",Roger,106872,68,60,62
+"Verdon",Clare,104356,45,50,48
+\end{filecontents}
+
+\usepackage{datatool}
+\DTLsetup{default-name=marks}
+\DTLread{studentmarks.csv}
+
+\begin{document}
+\begin{tabular}{rllrrrr}
+\bfseries Row &
+\bfseries Surname &
+\bfseries Forename &
+\bfseries StudentNo &
+\bfseries Assign1 &
+\bfseries Assign2 &
+\bfseries Assign3% 
+\DTLforeach*{marks}
+{\Surname=Surname, \Forename=Forename, \StudentNo=StudentNo,
+\AssignI=Assign1, \AssignII=Assign2, \AssignIII=Assign3}
+{% 
+ \label{\StudentNo}
+ \\ \theDTLrowi &
+ \Surname &
+ \Forename &
+ \StudentNo &
+ \AssignI &
+ \AssignII &
+ \AssignIII
+}% 
+\end{tabular} 
+
+\DTLaction[
+ assign={
+  \Surname=Surname,
+  \Forename=Forename,
+  \StudentNo=StudentNo
+ },
+ options={
+  inline={% 
+  \DTLifstringeq{\Surname}{Brown}
+  {\DTLifstringeq{\Forename}{Andy}{#1}{}}{}% 
+  }
+ }
+]{find}
+Row \ref{\StudentNo} shows the details for Andy Brown. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example090.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example091.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example091.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example091.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example091.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example091.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example091.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example091.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example091.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example091.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example091.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example091.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example091.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example091.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,135 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 91 Using \DTLforeach to Display Data in a Table with a Running Total Column
+% Label: "ex:foreachextracol"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{booktabs}
+\usepackage{datatool}
+\DTLsetup{store-datum,default-name=products}
+% define database:
+\DTLaction{new}
+% add columns in desired order:
+\DTLaction[key=Title]{add column}
+\DTLaction[key=Author]{add column}
+\DTLaction[key=Format]{add column}
+\DTLaction[key=Quantity]{add column}
+\DTLaction[key=Price,value={Price (\$)}]{add column}
+% 1st row:
+\DTLaction[
+ assign={
+  Title = {The Adventures of Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = paperback,
+  Quantity = 3, Price = {10.99}
+ }
+]{new row}
+% 2nd row:
+\DTLaction[
+ assign={
+  Title = {The Return of Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = paperback,
+  Quantity = 5, Price = {19.99}
+ }
+]{new row}
+% 3rd row:
+\DTLaction[
+ assign={
+  Title = {More Fun with Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = paperback,
+  Quantity = 1, Price = {12.99}
+ }
+]{new row}
+% 4th row:
+\DTLaction[
+ assign={
+  Title = {Duck and Goose on Holiday},
+  Author = {Sir Quackalot},
+  Format = paperback,
+  Quantity = 3, Price = {11.99}
+ }
+]{new row}
+% 5th row:
+\DTLaction[
+ assign={
+  Title = {The Return of Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = hardback,
+  Quantity = 3, Price = {19.99}
+ }
+]{new row}
+% 6th row:
+\DTLaction[
+ assign={
+  Title = {The Adventures of Duck and Goose},
+  Author = {Sir Quackalot},
+  Format = hardback,
+  Quantity = 9, Price = {18.99}
+ }
+]{new row}
+% 7th row:
+\DTLaction[
+ assign={
+  Title = {My Friend is a Duck},
+  Author = {A. Parrot},
+  Format = paperback,
+  Quantity = 20, Price = {14.99}
+ }
+]{new row}
+% 8th row:
+\DTLaction[
+ assign={
+  Title = {Annotated Notes on the ‘Duck and Goose’ chronicles},
+  Author = {Prof Macaw},
+  Format = ebook,
+  Quantity = 10, Price = {8.99}
+ }
+]{new row}
+% 9th row:
+\DTLaction[
+ assign={
+  Title = {‘Duck and Goose’ Cheat Sheet for Students},
+  Author = {Polly Parrot},
+  Format = ebook,
+  Quantity = 50, Price = {5.99}
+ }
+]{new row}
+% 10th row:
+\DTLaction[
+ assign={
+  Title = {‘Duck and Goose’: an allegory for modern times?},
+  Author = {Bor Ing},
+  Format = hardback,
+  Quantity = 0, Price = {59.99}
+ }
+]{new row}
+% 11th row:
+\DTLaction[
+ assign={
+  Title = {Oh No! The Chickens have Escaped!},
+  Author = {Dickie Duck},
+  Format = ebook,
+  Quantity = 11, Price = {2.0}
+ }
+]{new row} 
+\begin{document}
+\newcommand{\runningtotal}{0}
+\begin{tabular}{lrrr}
+\toprule
+\bfseries Title &
+\bfseries Quantity &
+\bfseries Price &
+\bfseries Total% 
+ \DTLforeach*{products}% database
+{\theTitle=Title,\theQuantity=Quantity,\thePrice=Price}% assignments
+{% 
+ \DTLiffirstrow{\\\midrule}{\\}\theTitle & \theQuantity & \thePrice & \DTLmul{\theTotal}{\theQuantity}{\thePrice}% 
+ \DTLround{\theTotal}{\theTotal}{2}% 
+ \DTLgadd{\runningtotal}{\runningtotal}{\theTotal}% 
+ \theTotal }% 
+\\\midrule & & & \runningtotal
+\end{tabular} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example091.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example092.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example092.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example092.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example092.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example092.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example092.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example092.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example092.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example092.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example092.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example092.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example092.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example092.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,40 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 92 Editing a Database with \DTLforeach
+% Label: "ex:foreachedit"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+ \begin{filecontents}[noheader,overwrite]{studentmarks.csv}
+Surname,Forename,StudentNo,Assign1,Assign2,Assign3
+"Smith, Jr",John,102689,68,57,72
+"Brown",Jane,102647,75,84,80
+"Brown",Jane,102646,64,92,79
+"Brown",Andy,103569,42,52,54
+"Adams",Zoë,105987,52,48,57
+"Brady",Roger,106872,68,60,62
+"Verdon",Clare,104356,45,50,48
+\end{filecontents}
+
+\usepackage{datatool}
+\DTLsetup{store-datum,default-name=marks}
+\DTLread{studentmarks.csv} 
+\begin{document}
+\DTLforeach{marks}{}{% 
+ \DTLaction[
+  keys={Assign1-},
+  options={mean},
+  datum={round=1},% round the result
+  return={\Mean=mean}
+ ]
+ {current row aggregate}
+ \DTLifnull{\Mean}% test the return value
+ {}% row aggregate failed!
+ {% average calculated successfully
+ \DTLappendtorow{Average}{\Mean}% 
+ }
+} 
+
+\DTLsortdata{marks}{Average=desc}
+\DTLdisplaydb{marks} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example092.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example093.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example093.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example093.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example093.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example093.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example093.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example093.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example093.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example093.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example093.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example093.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example093.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example093.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,94 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 93 Loops and Alignment
+% Label: "ex:constructtab"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{studentmarks.csv}
+Surname,Forename,StudentNo,Assign1,Assign2,Assign3
+"Smith, Jr",John,102689,68,57,72
+"Brown",Jane,102647,75,84,80
+"Brown",Jane,102646,64,92,79
+"Brown",Andy,103569,42,52,54
+"Adams",Zoë,105987,52,48,57
+"Brady",Roger,106872,68,60,62
+"Verdon",Clare,104356,45,50,48
+\end{filecontents}
+
+\usepackage{colortbl}
+\usepackage{datatool} 
+
+% Load data from studentmarks.csv file:
+\DTLsetup{store-datum,default-name=marks}
+\DTLread{studentmarks.csv}
+% Commands to construct the tabular content:
+\ExplSyntaxOn
+% define variables:
+\int_new:N \l_my_row_int
+\tl_new:N \l_my_content_tl
+\tl_new:N \l_my_forename_tl
+\tl_new:N \l_my_surname_tl
+\tl_new:N \l_my_mean_tl
+% command to initialise:
+\cs_new:Nn \my_init_content: 
+{
+ \tl_set:Nn \l_my_content_tl { \begin{tabular} { lr } }
+ \int_zero:N \l_my_row_int
+}
+% command to finish off:
+\cs_new:Nn \my_finish_content: 
+ {
+  \tl_put_right:Nn \l_my_content_tl { \end{tabular} }
+ }
+% command to append a row:
+\cs_new:Nn \my_add_row:nn 
+{
+ \fp_compare:nNnF { #2 } < { 50 } 
+ { \int_if_zero:nF { \l_my_row_int }
+ {
+  \tl_put_right:Nn \l_my_content_tl { \\ }
+  }
+  \int_incr:N \l_my_row_int
+  \fp_compare:nNnT { #2 } > { 70 } 
+  {
+  \tl_put_right:Nn \l_my_content_tl { \rowcolor { yellow } }
+  }
+  \tl_put_right:Nx \l_my_content_tl { #1 & #2 }
+  }
+}
+% define document command:
+\NewDocumentCommand { \meanscorestab } { } 
+{
+% construct tabular:
+ \my_init_content:
+% iterate over the default database:
+ \DTLmapdata
+ {
+% get the surname and forename for the current row:
+  \DTLmapgetvalues
+  {
+  \l_my_surname_tl = Surname ,
+  \l_my_forename_tl = Forename
+  }
+% calculate the mean:
+   \DTLaction
+  [
+  keys={Assign1-},
+  datum={round=1},
+  return={ \l_my_mean_tl = mean },
+  options=mean
+  ]
+  {row ~ aggregate}
+  \my_add_row:nn
+  { \l_my_forename_tl \c_space_tl \l_my_surname_tl }
+  { \l_my_mean_tl }
+  }
+% finish construction:
+ \my_finish_content: % expand the content:
+ \l_my_content_tl }
+\ExplSyntaxOff 
+\begin{document}
+\meanscorestab 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example093.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example094.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example094.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example094.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example094.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example094.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example094.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example094.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example094.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example094.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example094.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example094.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example094.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example094.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,29 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 94 CSV Data Containing Empty Cells and Missing Final Cells
+% Label: "ex:nullcsv"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+ \begin{filecontents}[noheader,overwrite]{customers.csv}
+Id,Organisation,Surname,Forename,Email,Age
+1,,Parrot,Polly,pp at example.com,42
+2,University of Somewhere,Canary,Mabel,mc at example.com
+3,University of Somewhere,Zebra,Zoë,zz at example.com,21
+4,Zinnia Florestry,Arara,José,ja at example.com,42
+5,,Duck,Dickie,dd at example.com,
+6,Newt Fellowship,Axolotl,Lizzie,la at example.com
+7,Avian Emporium,Canary,Fred,fc at example.com,19
+8,Newt Fellowship,,Molgina,m at example.com
+9,,Mander,Sally
+10,Élite Emporium,Fant,Eli,ef at example.com,101
+\end{filecontents}
+
+\usepackage{datatool}
+\DTLsetup{default-name=customers}
+\DTLread{customers.csv} 
+\begin{document}
+Empty values show as a blank. Missing values show as NULL in string columns and 0 in numeric columns. 
+
+\DTLaction{display} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example094.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example095.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example095.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example095.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example095.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example095.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example095.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example095.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example095.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example095.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example095.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example095.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example095.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example095.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,106 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 95 Constructed Data With Missing (Null) Values
+% Label: "ex:nulldb"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+ \usepackage{datatool}
+\DTLsetup{default-name=customers}
+% define database:
+\DTLaction{new}
+% add columns in desired order:
+\DTLaction[key=Id]{add column}
+\DTLaction[key=Organisation]{add column}
+\DTLaction[key=Surname]{add column}
+\DTLaction[key=Forename]{add column}
+\DTLaction[key=Email]{add column}
+\DTLaction[key=Age]{add column}
+% 1st row:
+\DTLaction[
+ assign={
+  % Organisation not set
+  Id = 1, Email = {pp at example.com},
+  Surname = {Parrot}, Forename = {Polly}, Age = 42
+ }
+]{new row}
+% 2nd row:
+\DTLaction[
+ assign={
+  % Age not set
+  Id = 2, Organisation = {University of Somewhere},
+  Email = {mc at example.com}, Surname = {Canary}, 
+  Forename = {Mabel}
+ }
+]{new row}
+% 3rd row:
+\DTLaction[
+ assign={
+  Id = 3, Organisation = {University of Somewhere}, 
+  Age = 21, Email = {zz at example.com}, Surname = {Zebra},
+  Forename = {Zoë}
+ }
+]{new row}
+% 4th row:
+\DTLaction[
+ assign={
+  Id = 4, Organisation = {Zinnia Florestry}, Age = 42,
+  Email = {ja at example.com}, Surname = {Arara},
+  Forename = {José}
+ }
+]{new row}
+% 5th row:
+\DTLaction[
+ assign={
+  % Organisation and Age not set
+  Id = 5, Surname = {Duck}, Forename = {Dickie},
+  Email = {dd at example.com}
+ }
+]{new row}
+% 6th row:
+\DTLaction[
+ assign={
+  % Age not set
+  Id = 6, Organisation = {Newt Fellowship},
+  Email = {la at example.com}, Surname = {Axolotl},
+  Forename = {Lizzie}
+ }
+]{new row}
+% 7th row:
+\DTLaction[
+ assign={
+  Id = 7, Organisation = {Avian Emporium}, Age =19,
+  Email = {fc at example.com}, Surname = {Canary},
+  Forename = {Fred}
+ }
+]{new row}
+% 8th row:
+\DTLaction[
+ assign={
+  % Age and Surname not set
+  Id = 8, Organisation = {Newt Fellowship},
+  Email = {m at example.com}, Forename = {Molgina}
+ }
+]{new row}
+% 9th row:
+\DTLaction[
+ assign={
+  % Organisation empty and Age and Email not set
+  Id = 9, Organisation = {},
+  Surname = {Mander}, Forename = {Sally}
+ }
+]{new row}
+% 10th row:
+\DTLaction[
+ assign={
+  Id = 10, Organisation = {Élite Emporium}, Age = 101,
+  Email = {ef at example.com}, Surname = {Fant},
+  Forename = {Eli}
+ }
+]{new row}
+
+\begin{document}
+Empty values show as a blank. Missing values show as NULL in string columns and 0 in numeric columns. 
+
+\DTLaction{display} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example095.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example096.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example096.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example096.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example096.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example096.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example096.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example096.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example096.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example096.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example096.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example096.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example096.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example096.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,110 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 96 Display Data With Missing (Null) Values Shown as a Dash
+% Label: "ex:displaydbnullmissing"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+ \usepackage{datatool}
+\DTLsetup{default-name=customers}
+% define database:
+\DTLaction{new}
+% add columns in desired order:
+\DTLaction[key=Id]{add column}
+\DTLaction[key=Organisation]{add column}
+\DTLaction[key=Surname]{add column}
+\DTLaction[key=Forename]{add column}
+\DTLaction[key=Email]{add column}
+\DTLaction[key=Age]{add column}
+% 1st row:
+\DTLaction[
+ assign={
+  % Organisation not set
+  Id = 1, Email = {pp at example.com},
+  Surname = {Parrot}, Forename = {Polly}, Age = 42
+ }
+]{new row}
+% 2nd row:
+\DTLaction[
+ assign={
+  % Age not set
+  Id = 2, Organisation = {University of Somewhere},
+  Email = {mc at example.com}, Surname = {Canary}, 
+  Forename = {Mabel}
+ }
+]{new row}
+% 3rd row:
+\DTLaction[
+ assign={
+  Id = 3, Organisation = {University of Somewhere}, 
+  Age = 21, Email = {zz at example.com}, Surname = {Zebra},
+  Forename = {Zoë}
+ }
+]{new row}
+% 4th row:
+\DTLaction[
+ assign={
+  Id = 4, Organisation = {Zinnia Florestry}, Age = 42,
+  Email = {ja at example.com}, Surname = {Arara},
+  Forename = {José}
+ }
+]{new row}
+% 5th row:
+\DTLaction[
+ assign={
+  % Organisation and Age not set
+  Id = 5, Surname = {Duck}, Forename = {Dickie},
+  Email = {dd at example.com}
+ }
+]{new row}
+% 6th row:
+\DTLaction[
+ assign={
+  % Age not set
+  Id = 6, Organisation = {Newt Fellowship},
+  Email = {la at example.com}, Surname = {Axolotl},
+  Forename = {Lizzie}
+ }
+]{new row}
+% 7th row:
+\DTLaction[
+ assign={
+  Id = 7, Organisation = {Avian Emporium}, Age =19,
+  Email = {fc at example.com}, Surname = {Canary},
+  Forename = {Fred}
+ }
+]{new row}
+% 8th row:
+\DTLaction[
+ assign={
+  % Age and Surname not set
+  Id = 8, Organisation = {Newt Fellowship},
+  Email = {m at example.com}, Forename = {Molgina}
+ }
+]{new row}
+% 9th row:
+\DTLaction[
+ assign={
+  % Organisation empty and Age and Email not set
+  Id = 9, Organisation = {},
+  Surname = {Mander}, Forename = {Sally}
+ }
+]{new row}
+% 10th row:
+\DTLaction[
+ assign={
+  Id = 10, Organisation = {Élite Emporium}, Age = 101,
+  Email = {ef at example.com}, Surname = {Fant},
+  Forename = {Eli}
+ }
+]{new row}
+
+% Empty values are not the same as null values!
+\newcommand{\checkmissing}[1]{\DTLifnull{#1}{---}{#1}}
+\renewcommand{\dtlstringformat}[1]{\checkmissing{#1}}
+\renewcommand{\dtlnumericformat}[1]{\checkmissing{#1}} 
+\begin{document}
+Missing values are shown as a dash. 
+
+\DTLaction{display} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example096.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example097.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example097.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example097.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example097.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example097.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example097.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example097.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example097.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example097.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example097.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example097.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example097.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example097.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,115 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 97 Iterating Through Data with Empty or Missing Values
+% Label: "ex:mapnullemptymissing"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+ \usepackage{datatool}
+\DTLsetup{default-name=customers}
+% define database:
+\DTLaction{new}
+% add columns in desired order:
+\DTLaction[key=Id]{add column}
+\DTLaction[key=Organisation]{add column}
+\DTLaction[key=Surname]{add column}
+\DTLaction[key=Forename]{add column}
+\DTLaction[key=Email]{add column}
+\DTLaction[key=Age]{add column}
+% 1st row:
+\DTLaction[
+ assign={
+  % Organisation not set
+  Id = 1, Email = {pp at example.com},
+  Surname = {Parrot}, Forename = {Polly}, Age = 42
+ }
+]{new row}
+% 2nd row:
+\DTLaction[
+ assign={
+  % Age not set
+  Id = 2, Organisation = {University of Somewhere},
+  Email = {mc at example.com}, Surname = {Canary}, 
+  Forename = {Mabel}
+ }
+]{new row}
+% 3rd row:
+\DTLaction[
+ assign={
+  Id = 3, Organisation = {University of Somewhere}, 
+  Age = 21, Email = {zz at example.com}, Surname = {Zebra},
+  Forename = {Zoë}
+ }
+]{new row}
+% 4th row:
+\DTLaction[
+ assign={
+  Id = 4, Organisation = {Zinnia Florestry}, Age = 42,
+  Email = {ja at example.com}, Surname = {Arara},
+  Forename = {José}
+ }
+]{new row}
+% 5th row:
+\DTLaction[
+ assign={
+  % Organisation and Age not set
+  Id = 5, Surname = {Duck}, Forename = {Dickie},
+  Email = {dd at example.com}
+ }
+]{new row}
+% 6th row:
+\DTLaction[
+ assign={
+  % Age not set
+  Id = 6, Organisation = {Newt Fellowship},
+  Email = {la at example.com}, Surname = {Axolotl},
+  Forename = {Lizzie}
+ }
+]{new row}
+% 7th row:
+\DTLaction[
+ assign={
+  Id = 7, Organisation = {Avian Emporium}, Age =19,
+  Email = {fc at example.com}, Surname = {Canary},
+  Forename = {Fred}
+ }
+]{new row}
+% 8th row:
+\DTLaction[
+ assign={
+  % Age and Surname not set
+  Id = 8, Organisation = {Newt Fellowship},
+  Email = {m at example.com}, Forename = {Molgina}
+ }
+]{new row}
+% 9th row:
+\DTLaction[
+ assign={
+  % Organisation empty and Age and Email not set
+  Id = 9, Organisation = {},
+  Surname = {Mander}, Forename = {Sally}
+ }
+]{new row}
+% 10th row:
+\DTLaction[
+ assign={
+  Id = 10, Organisation = {Élite Emporium}, Age = 101,
+  Email = {ef at example.com}, Surname = {Fant},
+  Forename = {Eli}
+ }
+]{new row}
+
+\newcommand{\checkmissing}[1]{% 
+ \DTLifnullorempty{#1}{\emph{Missing}}{#1}}
+\newcommand{\showvalue}[1]{% 
+ \DTLmapget{key={#1},return=\myReturnVal}% fetch value
+ \checkmissing{\myReturnVal}% 
+} 
+\begin{document}
+\DTLmapdata{
+ \showvalue{Forename}.
+ Surname: \showvalue{Surname}.
+ Organisation: \showvalue{Organisation}.
+ \par
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example097.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example098.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example098.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example098.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example098.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example098.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example098.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example098.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example098.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example098.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example098.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example098.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example098.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example098.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,45 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 98 Editing a Row of Data
+% Label: "ex:selectandeditrow"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+ \begin{filecontents}[noheader,overwrite]{customers.csv}
+Id,Organisation,Surname,Forename,Email,Age
+1,,Parrot,Polly,pp at example.com,42
+2,University of Somewhere,Canary,Mabel,mc at example.com
+3,University of Somewhere,Zebra,Zoë,zz at example.com,21
+4,Zinnia Florestry,Arara,José,ja at example.com,42
+5,,Duck,Dickie,dd at example.com,
+6,Newt Fellowship,Axolotl,Lizzie,la at example.com
+7,Avian Emporium,Canary,Fred,fc at example.com,19
+8,Newt Fellowship,,Molgina,m at example.com
+9,,Mander,Sally
+10,Élite Emporium,Fant,Eli,ef at example.com,101
+\end{filecontents}
+
+\usepackage{datatool}
+\DTLsetup{default-name=customers}
+\DTLread{customers.csv} 
+\begin{document}
+% Edit ID 9
+\DTLaction[key=Id,value=9]{select row}
+\dtlreplaceentryincurrentrow
+{Newt Fellowship}% new value
+{\dtlcolumnindex{customers}{Organisation}}% column index
+\dtlappendentrytocurrentrow
+{Email}% column key
+{sally.mander at example.com}% value
+\dtlupdateentryincurrentrow
+{Age}% column key
+{23}% value
+\dtlrecombine 
+
+% Remove ID 2
+\dtlgetrowforvalue{customers} {\dtlcolumnindex{customers}{Id}}% column index
+{2}% value
+\dtlrecombineomitcurrent 
+
+\DTLaction{display} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example098.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example099.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example099.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example099.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example099.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example099.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example099.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example099.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example099.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example099.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example099.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example099.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example099.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example099.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,30 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 99 Sorting CSV Data Using \DTLsortdata by Organisation, Surname and Forename With No Replacements
+% Label: "ex:sortcsvnorepl"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+ \begin{filecontents}[noheader,overwrite]{customers.csv}
+Id,Organisation,Surname,Forename,Email,Age
+1,,Parrot,Polly,pp at example.com,42
+2,University of Somewhere,Canary,Mabel,mc at example.com
+3,University of Somewhere,Zebra,Zoë,zz at example.com,21
+4,Zinnia Florestry,Arara,José,ja at example.com,42
+5,,Duck,Dickie,dd at example.com,
+6,Newt Fellowship,Axolotl,Lizzie,la at example.com
+7,Avian Emporium,Canary,Fred,fc at example.com,19
+8,Newt Fellowship,,Molgina,m at example.com
+9,,Mander,Sally
+10,Élite Emporium,Fant,Eli,ef at example.com,101
+\end{filecontents}
+
+\usepackage{datatool}
+\DTLsetup{store-datum,default-name=customers}
+\DTLread{customers.csv} 
+\begin{document}
+% sort data by Organisation, then Surname, then Forename
+\DTLsortdata{customers}{Organisation,Surname,Forename} 
+
+\DTLaction{display} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example099.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example100.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example100.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example100.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example100.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example100.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example100.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example100.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example100.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example100.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example100.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example100.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example100.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example100.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,34 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 100 Sorting CSV Data Using \DTLsortdata by Organisation, Surname and Forename With Replacements
+% Label: "ex:sortcsvrepl"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\begin{filecontents}[noheader,overwrite]{customers.csv}
+Id,Organisation,Surname,Forename,Email,Age
+1,,Parrot,Polly,pp at example.com,42
+2,University of Somewhere,Canary,Mabel,mc at example.com
+3,University of Somewhere,Zebra,Zoë,zz at example.com,21
+4,Zinnia Florestry,Arara,José,ja at example.com,42
+5,,Duck,Dickie,dd at example.com,
+6,Newt Fellowship,Axolotl,Lizzie,la at example.com
+7,Avian Emporium,Canary,Fred,fc at example.com,19
+8,Newt Fellowship,,Molgina,m at example.com
+9,,Mander,Sally
+10,Élite Emporium,Fant,Eli,ef at example.com,101
+\end{filecontents}
+
+\usepackage{datatool}
+\DTLsetup{store-datum,default-name=customers}
+\DTLread{customers.csv} 
+\begin{document}
+\DTLsortdata{customers}
+{
+ Organisation={replacements={Surname,Forename}},
+ Surname={replacements={Forename}},
+ Forename
+} 
+
+\DTLaction{display} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example100.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example101.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example101.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example101.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example101.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example101.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example101.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example101.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example101.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example101.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example101.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example101.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example101.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example101.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,125 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 101 Sorting Data Using \DTLsortdata With Replacements (Null vs Empty)
+% Label: "ex:sortdbrepl"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+ \usepackage{datatool}
+\DTLsetup{default-name=customers}
+% define database:
+\DTLaction{new}
+% add columns in desired order:
+\DTLaction[key=Id]{add column}
+\DTLaction[key=Organisation]{add column}
+\DTLaction[key=Surname]{add column}
+\DTLaction[key=Forename]{add column}
+\DTLaction[key=Email]{add column}
+\DTLaction[key=Age]{add column}
+% 1st row:
+\DTLaction[
+ assign={
+  % Organisation not set
+  Id = 1, Email = {pp at example.com},
+  Surname = {Parrot}, Forename = {Polly}, Age = 42
+ }
+]{new row}
+% 2nd row:
+\DTLaction[
+ assign={
+  % Age not set
+  Id = 2, Organisation = {University of Somewhere},
+  Email = {mc at example.com}, Surname = {Canary}, 
+  Forename = {Mabel}
+ }
+]{new row}
+% 3rd row:
+\DTLaction[
+ assign={
+  Id = 3, Organisation = {University of Somewhere}, 
+  Age = 21, Email = {zz at example.com}, Surname = {Zebra},
+  Forename = {Zoë}
+ }
+]{new row}
+% 4th row:
+\DTLaction[
+ assign={
+  Id = 4, Organisation = {Zinnia Florestry}, Age = 42,
+  Email = {ja at example.com}, Surname = {Arara},
+  Forename = {José}
+ }
+]{new row}
+% 5th row:
+\DTLaction[
+ assign={
+  % Organisation and Age not set
+  Id = 5, Surname = {Duck}, Forename = {Dickie},
+  Email = {dd at example.com}
+ }
+]{new row}
+% 6th row:
+\DTLaction[
+ assign={
+  % Age not set
+  Id = 6, Organisation = {Newt Fellowship},
+  Email = {la at example.com}, Surname = {Axolotl},
+  Forename = {Lizzie}
+ }
+]{new row}
+% 7th row:
+\DTLaction[
+ assign={
+  Id = 7, Organisation = {Avian Emporium}, Age =19,
+  Email = {fc at example.com}, Surname = {Canary},
+  Forename = {Fred}
+ }
+]{new row}
+% 8th row:
+\DTLaction[
+ assign={
+  % Age and Surname not set
+  Id = 8, Organisation = {Newt Fellowship},
+  Email = {m at example.com}, Forename = {Molgina}
+ }
+]{new row}
+% 9th row:
+\DTLaction[
+ assign={
+  % Organisation empty and Age and Email not set
+  Id = 9, Organisation = {},
+  Surname = {Mander}, Forename = {Sally}
+ }
+]{new row}
+% 10th row:
+\DTLaction[
+ assign={
+  Id = 10, Organisation = {Élite Emporium}, Age = 101,
+  Email = {ef at example.com}, Surname = {Fant},
+  Forename = {Eli}
+ }
+]{new row}
+
+\begin{document}
+{% scope to limit the change
+ \DTLsetup {global=false}
+Sort replacing null or empty values.
+\DTLsortdata[replace=null or empty]{customers}
+{
+ Organisation={replacements={Surname,Forename}},
+ Surname={replacements={Forename}},
+ Forename
+} 
+
+\DTLdisplaydb{customers}
+} 
+
+Sort replacing null (not empty) values.
+\DTLsortdata[replace=null]{customers}
+{
+ Organisation={replacements={Surname,Forename}},
+ Surname={replacements={Forename}},
+ Forename
+} 
+
+\DTLaction{display} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example101.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example102.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example102.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example102.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example102.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example102.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example102.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example102.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example102.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example102.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example102.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example102.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example102.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example102.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,30 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 102 Sorting CSV Data Using \DTLsortdata With Language Support
+% Label: "ex:sortlocale"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+ \begin{filecontents}[noheader,overwrite]{customers.csv}
+Id,Organisation,Surname,Forename,Email,Age
+1,,Parrot,Polly,pp at example.com,42
+2,University of Somewhere,Canary,Mabel,mc at example.com
+3,University of Somewhere,Zebra,Zoë,zz at example.com,21
+4,Zinnia Florestry,Arara,José,ja at example.com,42
+5,,Duck,Dickie,dd at example.com,
+6,Newt Fellowship,Axolotl,Lizzie,la at example.com
+7,Avian Emporium,Canary,Fred,fc at example.com,19
+8,Newt Fellowship,,Molgina,m at example.com
+9,,Mander,Sally
+10,Élite Emporium,Fant,Eli,ef at example.com,101
+\end{filecontents}
+
+\usepackage[locales=en-GB]{datatool}
+\DTLsetup{store-datum,default-name=customers}
+\DTLread{customers.csv} 
+\begin{document}
+% sort data by Organisation, then Surname, then Forename
+\DTLsortdata{customers}{Organisation,Surname,Forename} 
+
+\DTLaction{display} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example102.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example103.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example103.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example103.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example103.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example103.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example103.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example103.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example103.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example103.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example103.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example103.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example103.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example103.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,29 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 103 Sorting Data Using \DTLsortdata on Age then Surname (Empty or Null Values)
+% Label: "ex:sortcsvage"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+ \begin{filecontents}[noheader,overwrite]{customers.csv}
+Id,Organisation,Surname,Forename,Email,Age
+1,,Parrot,Polly,pp at example.com,42
+2,University of Somewhere,Canary,Mabel,mc at example.com
+3,University of Somewhere,Zebra,Zoë,zz at example.com,21
+4,Zinnia Florestry,Arara,José,ja at example.com,42
+5,,Duck,Dickie,dd at example.com,
+6,Newt Fellowship,Axolotl,Lizzie,la at example.com
+7,Avian Emporium,Canary,Fred,fc at example.com,19
+8,Newt Fellowship,,Molgina,m at example.com
+9,,Mander,Sally
+10,Élite Emporium,Fant,Eli,ef at example.com,101
+\end{filecontents}
+
+\usepackage{datatool}
+\DTLsetup{store-datum,default-name=customers}
+\DTLread{customers.csv} 
+\begin{document}
+\DTLsortdata{customers}{Age,Surname} 
+
+\DTLaction{display} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example103.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example104.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example104.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example104.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example104.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example104.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example104.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example104.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example104.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example104.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example104.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example104.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example104.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example104.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,106 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 104 Sorting Data Using \DTLsortdata on Age then Surname (No Empty Sort Values)
+% Label: "ex:sortdbage"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+ \usepackage{datatool}
+\DTLsetup{default-name=customers}
+% define database:
+\DTLaction{new}
+% add columns in desired order:
+\DTLaction[key=Id]{add column}
+\DTLaction[key=Organisation]{add column}
+\DTLaction[key=Surname]{add column}
+\DTLaction[key=Forename]{add column}
+\DTLaction[key=Email]{add column}
+\DTLaction[key=Age]{add column}
+% 1st row:
+\DTLaction[
+ assign={
+  % Organisation not set
+  Id = 1, Email = {pp at example.com},
+  Surname = {Parrot}, Forename = {Polly}, Age = 42
+ }
+]{new row}
+% 2nd row:
+\DTLaction[
+ assign={
+  % Age not set
+  Id = 2, Organisation = {University of Somewhere},
+  Email = {mc at example.com}, Surname = {Canary}, 
+  Forename = {Mabel}
+ }
+]{new row}
+% 3rd row:
+\DTLaction[
+ assign={
+  Id = 3, Organisation = {University of Somewhere}, 
+  Age = 21, Email = {zz at example.com}, Surname = {Zebra},
+  Forename = {Zoë}
+ }
+]{new row}
+% 4th row:
+\DTLaction[
+ assign={
+  Id = 4, Organisation = {Zinnia Florestry}, Age = 42,
+  Email = {ja at example.com}, Surname = {Arara},
+  Forename = {José}
+ }
+]{new row}
+% 5th row:
+\DTLaction[
+ assign={
+  % Organisation and Age not set
+  Id = 5, Surname = {Duck}, Forename = {Dickie},
+  Email = {dd at example.com}
+ }
+]{new row}
+% 6th row:
+\DTLaction[
+ assign={
+  % Age not set
+  Id = 6, Organisation = {Newt Fellowship},
+  Email = {la at example.com}, Surname = {Axolotl},
+  Forename = {Lizzie}
+ }
+]{new row}
+% 7th row:
+\DTLaction[
+ assign={
+  Id = 7, Organisation = {Avian Emporium}, Age =19,
+  Email = {fc at example.com}, Surname = {Canary},
+  Forename = {Fred}
+ }
+]{new row}
+% 8th row:
+\DTLaction[
+ assign={
+  % Age and Surname not set
+  Id = 8, Organisation = {Newt Fellowship},
+  Email = {m at example.com}, Forename = {Molgina}
+ }
+]{new row}
+% 9th row:
+\DTLaction[
+ assign={
+  % Organisation empty and Age and Email not set
+  Id = 9, Organisation = {},
+  Surname = {Mander}, Forename = {Sally}
+ }
+]{new row}
+% 10th row:
+\DTLaction[
+ assign={
+  Id = 10, Organisation = {Élite Emporium}, Age = 101,
+  Email = {ef at example.com}, Surname = {Fant},
+  Forename = {Eli}
+ }
+]{new row}
+
+\begin{document}
+\DTLsortdata{customers}{Age,Surname} 
+
+\DTLaction{display} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example104.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example105.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example105.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example105.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example105.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example105.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example105.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example105.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example105.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example105.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example105.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example105.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example105.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example105.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,26 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 105 Sorting Data Using \DTLsortdata by Descending Numeric and Ascending String Values
+% Label: "ex:sortmarksdes"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+ \begin{filecontents}[noheader,overwrite]{studentmarks.csv}
+Surname,Forename,StudentNo,Assign1,Assign2,Assign3
+"Smith, Jr",John,102689,68,57,72
+"Brown",Jane,102647,75,84,80
+"Brown",Jane,102646,64,92,79
+"Brown",Andy,103569,42,52,54
+"Adams",Zoë,105987,52,48,57
+"Brady",Roger,106872,68,60,62
+"Verdon",Clare,104356,45,50,48
+\end{filecontents}
+
+\usepackage{datatool}
+\DTLsetup{store-datum,default-name=marks}
+\DTLread{studentmarks.csv} 
+\begin{document}
+\DTLsortdata{marks}{Assign1=descending,Surname} 
+
+\DTLaction{display} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example105.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example106.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example106.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example106.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example106.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example106.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example106.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example106.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example106.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example106.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example106.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example106.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example106.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example106.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,30 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 106 Sorting CSV Data Using \dtlsort by Organisation, Surname and Forename With Replacements
+% Label: "ex:dtlsortcsvrepl"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\begin{filecontents}[noheader,overwrite]{customers.csv}
+Id,Organisation,Surname,Forename,Email,Age
+1,,Parrot,Polly,pp at example.com,42
+2,University of Somewhere,Canary,Mabel,mc at example.com
+3,University of Somewhere,Zebra,Zoë,zz at example.com,21
+4,Zinnia Florestry,Arara,José,ja at example.com,42
+5,,Duck,Dickie,dd at example.com,
+6,Newt Fellowship,Axolotl,Lizzie,la at example.com
+7,Avian Emporium,Canary,Fred,fc at example.com,19
+8,Newt Fellowship,,Molgina,m at example.com
+9,,Mander,Sally
+10,Élite Emporium,Fant,Eli,ef at example.com,101
+\end{filecontents}
+
+\usepackage{datatool}
+\DTLsetup{store-datum,default-name=customers}
+\DTLread{customers.csv} 
+\begin{document}
+% replacements are only used for null not empy values. Compare with example "ex:sortcsvrepl" that uses \DTLsortdata
+\dtlsort[Surname,Forename]{Organisation,Surname,Forename}{customers}{\dtlwordindexcompare} 
+
+\DTLaction{display} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example106.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example107.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example107.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example107.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example107.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example107.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example107.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example107.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example107.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example107.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example107.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example107.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example107.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example107.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,50 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 107 Loading and Saving Data (Be Careful of Category Codes)
+% Label: "ex:loadcustomers"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\begin{filecontents}[noheader,overwrite]{customers.csv}
+Id,Organisation,Surname,Forename,Email,Age
+1,,Parrot,Polly,pp at example.com,42
+2,University of Somewhere,Canary,Mabel,mc at example.com
+3,University of Somewhere,Zebra,Zoë,zz at example.com,21
+4,Zinnia Florestry,Arara,José,ja at example.com,42
+5,,Duck,Dickie,dd at example.com,
+6,Newt Fellowship,Axolotl,Lizzie,la at example.com
+7,Avian Emporium,Canary,Fred,fc at example.com,19
+8,Newt Fellowship,,Molgina,m at example.com
+9,,Mander,Sally
+10,Élite Emporium,Fant,Eli,ef at example.com,101
+\end{filecontents}
+
+\usepackage{datatool}
+\DTLsetup{default-name=customers}
+\DTLread{customers} 
+\begin{document}
+\DTLaction[key=Email,value=fc at example.com]{select row}
+Row: \number\dtlrownum.
+% Save as DBTEX v3.0:
+\DTLwrite[format=dbtex-3,overwrite=allow]{customers-v3} 
+
+% Read this new file back:
+\DTLread[format=dbtex,name=customers-v3]{customers-v3}
+\DTLaction[
+ name=customers-v3,
+ key=Email,value=fc at example.com
+]{select row}
+Row: \number\dtlrownum.
+
+
+% Save original as DBTEX v2.0:
+\DTLwrite[format=dbtex-2,overwrite=allow]{customers-v2} 
+
+% `customers' database needs to be deleted as DBTEX v2.0 has the name hard-coded:
+\DTLaction{delete}
+% Read this new file back:
+\DTLread[format=dbtex]{customers-v2}
+% Row will no longer be found as DBTEX v2.0 changes category code of `@':
+\DTLaction[key=Email,value=fc at example.com]{select row}
+Row: \number\dtlrownum. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example107.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example108.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example108.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example108.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example108.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example108.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example108.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example108.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example108.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example108.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example108.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example108.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example108.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example108.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,27 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 108 Loading a TSV File
+% Label: "ex:loadtsv"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{scontents}% to write test file with TABs preserved
+\begin{scontents}[write-out={growth.tsv},overwrite]
+Experiment 1		Experiment 2		Experiment 3	
+Time	Log Count	Time	Log Count	Time	Log Count
+0	3.21	0	3.39	0	3.28
+15	3.43	10	3.51	10	3.45
+30	3.68	25	3.65	20	3.57
+45	4.4	40	3.84	30	3.64
+60	4.8	55	3.92	40	3.95
+\end{scontents}
+
+\usepackage{datatool}
+\DTLsetup{store-datum,default-name=growthdata}
+\DTLread[
+ format=tsv,csv-skip-lines=1,
+ keys={Exp1Time,Exp1Count,Exp2Time,Exp2Count}
+]{growth} 
+\begin{document}
+\DTLaction{display} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example108.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example109.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example109.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example109.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example109.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example109.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example109.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example109.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example109.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example109.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example109.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example109.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example109.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example109.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,31 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 109 Automatically Reformatting Data While Loading a CSV file
+% Label: "ex:auto-reformat-csv"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{scontents}% to write test file with TABs preserved
+\begin{scontents}[write-out={profits.csv},overwrite]
+Year,Profit,Units
+1999,"-\$4,673",12467
+2000,"\$2,525.49",8965
+2001,"\$1,673.52",14750
+2002,"-\$1,320.01",14572
+2003,"\$5,694.83",13312
+2004,"\$-451.67",9764
+2005,"\$6,785.20",11235
+\end{scontents}
+
+% This document additionally required datatool-english and datatool-regions to be installed
+ \usepackage[locales={en-US}]{datatool}
+\DTLsetup{store-datum,default-name=profits}
+\DTLread[
+ format=csv,
+ csv-content=tex,
+ only-reformat-columns={2,3},
+]{profits.csv}
+\DTLsetLocaleOptions{US}{currency-symbol-sep=thin-space} 
+\begin{document}
+\DTLaction{display} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example109.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example110.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example110.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example110.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example110.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example110.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example110.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example110.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example110.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example110.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example110.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example110.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example110.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example110.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,29 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 110 Pie Chart
+% Label: "ex:piechart"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{fruit.csv}
+Name,Quantity
+"Apples",30
+"Pears",25
+"Lemons,Limes",40.5
+"Peaches",34.5
+"Cherries",20
+\end{filecontents}
+
+
+\usepackage{datapie}
+% Load data from fruit.csv file:
+\DTLsetup{store-datum,default-name=fruit}
+\DTLread{fruit.csv} 
+\begin{document}
+\DTLpiechart
+ {variable=\Quantity}% variable required
+ {fruit}% database
+ {\Quantity=Quantity}% assignment list
+ 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example110.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example111.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example111.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example111.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example111.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example111.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example111.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example111.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example111.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example111.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example111.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example111.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example111.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example111.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,29 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 111 Pie Chart (Action `pie chart')
+% Label: "ex:piechartaction"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{fruit.csv}
+Name,Quantity
+"Apples",30
+"Pears",25
+"Lemons,Limes",40.5
+"Peaches",34.5
+"Cherries",20
+\end{filecontents}
+
+
+\usepackage{datapie}
+% Load data from fruit.csv file:
+\DTLsetup{store-datum,default-name=fruit}
+\DTLread{fruit.csv} 
+\begin{document}
+\DTLaction
+ [
+  key=Quantity% variable
+ ]
+ {pie chart} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example111.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example112.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example112.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example112.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example112.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example112.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example112.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example112.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example112.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example112.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example112.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example112.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example112.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example112.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,32 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 112 Pie Chart (Filtering)
+% Label: "ex:piechartcondition"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{fruit.csv}
+Name,Quantity
+"Apples",30
+"Pears",25
+"Lemons,Limes",40.5
+"Peaches",34.5
+"Cherries",20
+\end{filecontents}
+
+
+\usepackage{datapie}
+% Load data from fruit.csv file:
+\DTLsetup{store-datum,default-name=fruit}
+\DTLread{fruit.csv} 
+\begin{document}
+\DTLpiechart
+{
+ variable=\Quantity,% variable required
+ include-if={\DTLifstringeq{\Name}{Pears}{}{#1}}
+}
+{fruit}% database
+{\Quantity=Quantity,\Name=Name}% assignment list
+ 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example112.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example113.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example113.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example113.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example113.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example113.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example113.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example113.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example113.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example113.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example113.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example113.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example113.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example113.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,36 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 113 Separating Segments from a Pie Chart
+% Label: "ex:piechartcutaway"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{fruit.csv}
+Name,Quantity
+"Apples",30
+"Pears",25
+"Lemons,Limes",40.5
+"Peaches",34.5
+"Cherries",20
+\end{filecontents}
+
+
+\usepackage{datapie}
+% Load data from fruit.csv file:
+\DTLsetup{store-datum,default-name=fruit}
+\DTLread{fruit.csv} 
+\begin{document}
+\DTLpiechart
+{
+ variable=\Quantity,
+ outer-label=\Name,
+ cutaway={1,3},
+ start=45,
+ radius=3cm,
+ outline-width=1pt
+}
+{fruit}% database
+{\Quantity=Quantity,\Name=Name}% assignment list
+ 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example113.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example114.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example114.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example114.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example114.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example114.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example114.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example114.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example114.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example114.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example114.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example114.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example114.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example114.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,33 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 114 Separating a Range of Segments from a Pie Chart
+% Label: "ex:piechartcutaway2"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{fruit.csv}
+Name,Quantity
+"Apples",30
+"Pears",25
+"Lemons,Limes",40.5
+"Peaches",34.5
+"Cherries",20
+\end{filecontents}
+
+
+\usepackage{datapie}
+% Load data from fruit.csv file:
+\DTLsetup{store-datum,default-name=fruit}
+\DTLread{fruit.csv} 
+\begin{document}
+\DTLpiechart
+{
+ variable=\Quantity,
+ outer-label=\Name,
+ cutaway={1-2}
+}
+{fruit}% database
+{\Quantity=Quantity,\Name=Name}% assignment list
+ 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example114.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example115.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example115.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example115.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example115.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example115.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example115.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example115.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example115.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example115.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example115.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example115.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example115.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example115.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,33 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 115 Separating Individual Consecutive Segments from a Pie Chart
+% Label: "ex:piechartcutaway3"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{fruit.csv}
+Name,Quantity
+"Apples",30
+"Pears",25
+"Lemons,Limes",40.5
+"Peaches",34.5
+"Cherries",20
+\end{filecontents}
+
+
+\usepackage{datapie}
+% Load data from fruit.csv file:
+\DTLsetup{store-datum,default-name=fruit}
+\DTLread{fruit.csv} 
+\begin{document}
+\DTLpiechart
+{
+ variable=\Quantity,
+ outer-label=\Name,
+ cutaway={1,2}
+}
+{fruit}% database
+{\Quantity=Quantity,\Name=Name}% assignment list
+ 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example115.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example116.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example116.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example116.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example116.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example116.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example116.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example116.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example116.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example116.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example116.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example116.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example116.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example116.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,32 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 116 Pie Chart (Inner and Outer Labels)
+% Label: "ex:piechartlabels"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{fruit.csv}
+Name,Quantity
+"Apples",30
+"Pears",25
+"Lemons,Limes",40.5
+"Peaches",34.5
+"Cherries",20
+\end{filecontents}
+
+
+\usepackage{datapie}
+% Load data from fruit.csv file:
+\DTLsetup{store-datum,default-name=fruit}
+\DTLread{fruit.csv} 
+\begin{document}
+\DTLpiechart
+{
+ variable=\Quantity,
+ inner-label=\DTLpiepercent,
+ outer-label=\Name
+}
+{fruit}% database
+{\Quantity=Quantity,\Name=Name} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example116.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example117.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example117.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example117.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example117.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example117.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example117.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example117.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example117.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example117.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example117.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example117.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example117.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example117.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,34 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 117 Pie Chart (Labels Rotated)
+% Label: "ex:piechartrotatelabels"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{fruit.csv}
+Name,Quantity
+"Apples",30
+"Pears",25
+"Lemons,Limes",40.5
+"Peaches",34.5
+"Cherries",20
+\end{filecontents}
+
+
+\usepackage{datapie}
+% Load data from fruit.csv file:
+\DTLsetup{store-datum,default-name=fruit}
+\DTLread{fruit.csv} 
+\begin{document}
+\DTLpiechart
+{
+ variable=\Quantity,
+ rotate-inner,
+ rotate-outer,
+ inner-label=\DTLpiepercent,
+ outer-label=\Name
+}
+{fruit}% database
+{\Quantity=Quantity,\Name=Name} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example117.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example118.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example118.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example118.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example118.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example118.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example118.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example118.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example118.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example118.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example118.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example118.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example118.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example118.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,33 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 118 Pie Chart (Percentage Rounding)
+% Label: "ex:piechartpercentlabels"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{fruit.csv}
+Name,Quantity
+"Apples",30
+"Pears",25
+"Lemons,Limes",40.5
+"Peaches",34.5
+"Cherries",20
+\end{filecontents}
+
+
+\usepackage{datapie}
+% Load data from fruit.csv file:
+\DTLsetup{store-datum,default-name=fruit}
+\DTLread{fruit.csv} 
+\begin{document}
+\DTLpiechart
+{
+ variable=\Quantity,
+ round=0,
+ inner-label=\DTLpiepercent\%,
+ outer-label=\Name\ (\DTLpievariable)
+}
+{fruit}% database
+{\Quantity=Quantity,\Name=Name} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example118.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example119.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example119.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example119.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example119.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example119.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example119.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example119.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example119.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example119.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example119.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example119.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example119.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example119.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,38 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 119 Pie Chart (Changing the Label Format)
+% Label: "ex:piechartlabelfmt"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{fruit.csv}
+Name,Quantity
+"Apples",30
+"Pears",25
+"Lemons,Limes",40.5
+"Peaches",34.5
+"Cherries",20
+\end{filecontents}
+
+
+\usepackage{datapie}
+% Load data from fruit.csv file:
+\DTLsetup{store-datum,default-name=fruit}
+\DTLread{fruit.csv}
+% customize the label format:
+\renewcommand{\DTLdisplayinnerlabel}[1]{% 
+ \textcolor{lightgray}{\bfseries #1}% 
+}
+\renewcommand{\DTLdisplayouterlabel}[1]{\textsf{#1}} 
+\begin{document}
+\DTLpiechart
+{
+ variable=\Quantity,
+ round=0,
+ inner-label=\DTLpiepercent\%,
+ outer-label=\Name\ (\DTLpievariable)
+}
+{fruit}% database
+{\Quantity=Quantity,\Name=Name} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example119.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example120.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example120.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example120.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example120.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example120.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example120.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example120.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example120.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example120.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example120.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example120.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example120.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example120.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,54 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 120 Pie Chart (Changing and Referencing the Segment Colours)
+% Label: "ex:piechartcolors"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{fruit.csv}
+Name,Quantity
+"Apples",30
+"Pears",25
+"Lemons,Limes",40.5
+"Peaches",34.5
+"Cherries",20
+\end{filecontents}
+
+
+\usepackage{datapie}
+% Load data from fruit.csv file:
+\DTLsetup{store-datum,default-name=fruit}
+\DTLread{fruit.csv}
+% change the colours for the third and fourth segments:
+\DTLsetpiesegmentcolor{3}{yellow}
+\DTLsetpiesegmentcolor{4}{pink}
+% customize the label format:
+\renewcommand{\DTLdisplayinnerlabel}[1]{% 
+ \textcolor{lightgray}{\bfseries #1}% 
+}
+\renewcommand{\DTLdisplayouterlabel}[1]{% 
+ \DTLdocurrentpiesegmentcolor
+ \textsf{\shortstack{#1}}}
+
+\begin{document}
+\DTLpiechart
+{
+ variable=\Quantity,
+ outline-width=2pt,
+ round=0,
+ inner-label=\DTLpiepercent\%,
+ outer-label=\Name\\(\DTLpievariable)
+}
+{fruit}% database
+{\Quantity=Quantity,\Name=Name}
+% legend:
+\begin{tabular}[b]{ll}
+\DTLforeach{fruit}{\Name=Name}{% 
+ \DTLiffirstrow{}{\\}% 
+ \DTLdocurrentpiesegmentcolor 
+ \rule{10pt}{10pt} & 
+ \Name
+}
+\end{tabular} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example120.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example121.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example121.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example121.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example121.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example121.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example121.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example121.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example121.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example121.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example121.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example121.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example121.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example121.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,29 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 121 Vertical Bar Chart
+% Label: "ex:barchartfruit"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{fruit.csv}
+Name,Quantity
+"Apples",30
+"Pears",25
+"Lemons,Limes",40.5
+"Peaches",34.5
+"Cherries",20
+\end{filecontents}
+
+
+\usepackage{databar}
+% Load data from fruit.csv file:
+\DTLsetup{store-datum,default-name=fruit}
+\DTLread{fruit.csv} 
+\begin{document}
+\DTLbarchart
+ {variable=\Quantity}% variable required
+{fruit}% database name
+{\Quantity=Quantity}% assignment list
+ 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example121.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example122.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example122.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example122.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example122.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example122.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example122.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example122.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example122.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example122.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example122.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example122.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example122.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example122.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,25 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 122 Vertical Bar Chart (Action `bar chart')
+% Label: "ex:barchartfruitaction"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{fruit.csv}
+Name,Quantity
+"Apples",30
+"Pears",25
+"Lemons,Limes",40.5
+"Peaches",34.5
+"Cherries",20
+\end{filecontents}
+
+
+\usepackage{databar}
+% Load data from fruit.csv file:
+\DTLsetup{store-datum,default-name=fruit}
+\DTLread{fruit.csv} 
+\begin{document}
+\DTLaction[key=Quantity]{bar chart} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example122.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example123.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example123.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example123.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example123.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example123.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example123.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example123.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example123.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example123.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example123.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example123.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example123.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example123.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,37 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 123 Horizontal Bar Chart
+% Label: "ex:barchartprofits"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{profits.csv}
+Year,Profit,Units
+1999,"-\$4,673",12467
+2000,"\$2,525.49",8965
+2001,"\$1,673.52",14750
+2002,"-\$1,320.01",14572
+2003,"\$5,694.83",13312
+2004,"\$-451.67",9764
+2005,"\$6,785.20",11235
+\end{filecontents}
+
+
+\usepackage{databar}
+% Load data from profits.csv file:
+\DTLsetup{store-datum,default-name=profits}
+\DTLread[csv-content=tex]{profits.csv} 
+\begin{document}
+\DTLbarchart
+{
+ variable=\theProfit,
+ horizontal,
+ bar-width=20pt 
+ }
+{profits}% database name
+ {% assignment list
+\theYear=Year,
+ \theProfit=Profit
+ } 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example123.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example124.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example124.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example124.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example124.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example124.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example124.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example124.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example124.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example124.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example124.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example124.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example124.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example124.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,37 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 124 Multi Bar Chart
+% Label: "ex:barchartmarks"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{studentmarks.csv}
+Surname,Forename,StudentNo,Assign1,Assign2,Assign3
+"Smith, Jr",John,102689,68,57,72
+"Brown",Jane,102647,75,84,80
+"Brown",Jane,102646,64,92,79
+"Brown",Andy,103569,42,52,54
+"Adams",Zoë,105987,52,48,57
+"Brady",Roger,106872,68,60,62
+"Verdon",Clare,104356,45,50,48
+\end{filecontents}
+
+
+\usepackage{databar}
+% Load data from studentmarks.csv file:
+\DTLsetup{store-datum,default-name=marks}
+\DTLread{studentmarks.csv} 
+\begin{document}
+\DTLmultibarchart
+{
+ variables={\assignI,\assignII,\assignIII},
+ barwidth=10pt
+}
+{marks}% database name
+{
+ \assignI=Assign1,
+ \assignII=Assign2,
+ \assignIII=Assign3
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example124.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example125.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example125.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example125.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example125.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example125.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example125.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example125.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example125.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example125.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example125.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example125.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example125.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example125.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,36 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 125 Multi Bar Chart (Action `multibar chart')
+% Label: "ex:barchartmarksaction"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{studentmarks.csv}
+Surname,Forename,StudentNo,Assign1,Assign2,Assign3
+"Smith, Jr",John,102689,68,57,72
+"Brown",Jane,102647,75,84,80
+"Brown",Jane,102646,64,92,79
+"Brown",Andy,103569,42,52,54
+"Adams",Zoë,105987,52,48,57
+"Brady",Roger,106872,68,60,62
+"Verdon",Clare,104356,45,50,48
+\end{filecontents}
+
+
+\usepackage{databar}
+% Load data from studentmarks.csv file:
+\DTLsetup{store-datum,default-name=marks}
+\DTLread{studentmarks.csv} 
+\begin{document}
+\DTLaction
+[
+ % either:
+ keys={Assign1,Assign2,Assign3}, % or:
+ %  columns={4-},
+ options={
+  barwidth=10pt
+ }
+]
+{multibar chart} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example125.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example126.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example126.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example126.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example126.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example126.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example126.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example126.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example126.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example126.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example126.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example126.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example126.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example126.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,33 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 126 Bar Chart With Labels
+% Label: "ex:barchartfruitlabels"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{fruit.csv}
+Name,Quantity
+"Apples",30
+"Pears",25
+"Lemons,Limes",40.5
+"Peaches",34.5
+"Cherries",20
+\end{filecontents}
+
+
+\usepackage{databar}
+% Load data from fruit.csv file:
+\DTLsetup{store-datum,default-name=fruit}
+\DTLread{fruit.csv} 
+\begin{document}
+\DTLbarchart
+{
+ variable=\Quantity,% variable required
+ bar-label=\Name,
+ upper-bar-label=\Quantity,
+}
+{fruit}% database
+{\Quantity=Quantity,\Name=Name}% assignment list
+ 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example126.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example127.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example127.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example127.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example127.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example127.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example127.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example127.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example127.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example127.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example127.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example127.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example127.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example127.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,34 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 127 Bar Chart With Labels (Action `bar chart')
+% Label: "ex:barchartfruitactionlabels"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{fruit.csv}
+Name,Quantity
+"Apples",30
+"Pears",25
+"Lemons,Limes",40.5
+"Peaches",34.5
+"Cherries",20
+\end{filecontents}
+
+
+\usepackage{databar}
+
+% Load data from fruit.csv file:
+\DTLsetup{store-datum,default-name=fruit}
+\DTLread{fruit.csv} 
+\begin{document}
+\DTLaction
+[
+ key=Quantity,
+ options={
+  bar-label={\DTLmapget{key=Name}},
+  upper-bar-label=\DTLbarvalue
+ }
+]
+{bar chart} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example127.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example128.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example128.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example128.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example128.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example128.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example128.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example128.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example128.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example128.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example128.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example128.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example128.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example128.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,33 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 128 Bar Chart (Filtering)
+% Label: "ex:barchartcondition"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{fruit.csv}
+Name,Quantity
+"Apples",30
+"Pears",25
+"Lemons,Limes",40.5
+"Peaches",34.5
+"Cherries",20
+\end{filecontents}
+
+
+\usepackage{databar}
+% Load data from fruit.csv file:
+\DTLsetup{store-datum,default-name=fruit}
+\DTLread{fruit.csv} 
+\begin{document}
+\DTLbarchart
+{
+ variable=\Quantity,% variable required
+ bar-label=\Name,
+ include-if={\DTLifstringeq{\Name}{Pears}{}{#1}}
+}
+{fruit}% database
+{\Quantity=Quantity,\Name=Name}% assignment list
+ 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example128.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example129.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example129.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example129.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example129.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example129.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example129.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example129.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example129.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example129.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example129.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example129.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example129.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example129.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,40 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 129 Horizontal Bar Chart with Labels (Default Alignment)
+% Label: "ex:barchartlabelsdefalign"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{profits.csv}
+Year,Profit,Units
+1999,"-\$4,673",12467
+2000,"\$2,525.49",8965
+2001,"\$1,673.52",14750
+2002,"-\$1,320.01",14572
+2003,"\$5,694.83",13312
+2004,"\$-451.67",9764
+2005,"\$6,785.20",11235
+\end{filecontents}
+
+
+\usepackage{databar}
+% Load data from profits.csv file:
+\DTLsetup{store-datum,default-name=profits}
+\DTLread[csv-content=tex]{profits.csv} 
+\begin{document}
+\DTLbarchart
+{
+ variable=\theProfit,
+ horizontal,
+ bar-width=20pt, 
+ bar-label=\theYear,
+ round=0,
+ upper-bar-label=\DTLbarvalue
+}
+{profits}% database name
+ {% assignment list
+ \theYear=Year,
+ \theProfit=Profit
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example129.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example130.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example130.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example130.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example130.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example130.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example130.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example130.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example130.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example130.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example130.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example130.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example130.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example130.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,43 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 130 Horizontal Bar Chart with Labels (lower-label-style=same)
+% Label: "ex:barchartlabelsalignsame"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{profits.csv}
+Year,Profit,Units
+1999,"-\$4,673",12467
+2000,"\$2,525.49",8965
+2001,"\$1,673.52",14750
+2002,"-\$1,320.01",14572
+2003,"\$5,694.83",13312
+2004,"\$-451.67",9764
+2005,"\$6,785.20",11235
+\end{filecontents}
+
+
+\usepackage{databar}
+% Load data from profits.csv file:
+\DTLsetup{store-datum,default-name=profits}
+\DTLread[csv-content=tex]{profits.csv} 
+\begin{document}
+Beware of short bars! 
+
+\DTLbarchart
+{
+ variable=\theProfit,
+ horizontal,
+ bar-width=20pt, 
+ bar-label=\theYear,
+ round=0,
+ upper-bar-label=\DTLbarvalue,
+ lower-label-style=same
+}
+{profits}% database name
+ {% assignment list
+ \theYear=Year,
+ \theProfit=Profit
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example130.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example131.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example131.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example131.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example131.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example131.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example131.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example131.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example131.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example131.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example131.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example131.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example131.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example131.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,43 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 131 Horizontal Bar Chart with Labels (lower-label-style=below)
+% Label: "ex:barchartlabelsalignbelow"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{profits.csv}
+Year,Profit,Units
+1999,"-\$4,673",12467
+2000,"\$2,525.49",8965
+2001,"\$1,673.52",14750
+2002,"-\$1,320.01",14572
+2003,"\$5,694.83",13312
+2004,"\$-451.67",9764
+2005,"\$6,785.20",11235
+\end{filecontents}
+
+
+\usepackage{databar}
+% Load data from profits.csv file:
+\DTLsetup{store-datum,default-name=profits}
+\DTLread[csv-content=tex]{profits.csv} 
+\begin{document}
+Beware of short bars! 
+
+\DTLbarchart
+{
+ variable=\theProfit,
+ horizontal,
+ bar-width=20pt, 
+ bar-label=\theYear,
+ round=0,
+ upper-bar-label=\DTLbarvalue,
+ lower-label-style=below
+}
+{profits}% database name
+ {% assignment list
+ \theYear=Year,
+ \theProfit=Profit
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example131.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example132.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example132.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example132.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example132.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example132.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example132.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example132.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example132.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example132.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example132.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example132.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example132.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example132.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,43 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 132 Horizontal Bar Chart with Labels (lower-label-style=above)
+% Label: "ex:barchartlabelsalignabove"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{profits.csv}
+Year,Profit,Units
+1999,"-\$4,673",12467
+2000,"\$2,525.49",8965
+2001,"\$1,673.52",14750
+2002,"-\$1,320.01",14572
+2003,"\$5,694.83",13312
+2004,"\$-451.67",9764
+2005,"\$6,785.20",11235
+\end{filecontents}
+
+
+\usepackage{databar}
+% Load data from profits.csv file:
+\DTLsetup{store-datum,default-name=profits}
+\DTLread[csv-content=tex]{profits.csv} 
+\begin{document}
+Beware of short bars! 
+
+\DTLbarchart
+{
+ variable=\theProfit,
+ horizontal,
+ bar-width=20pt, 
+ bar-label=\theYear,
+ round=0,
+ upper-bar-label=\DTLbarvalue,
+ lower-label-style=above
+}
+{profits}% database name
+ {% assignment list
+ \theYear=Year,
+ \theProfit=Profit
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example132.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example133.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example133.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example133.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example133.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example133.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example133.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example133.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example133.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example133.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example133.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example133.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example133.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example133.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,44 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 133 Horizontal Bar Chart with Upper Labels Over the Bars (negative upper-label-offset)
+% Label: "ex:barchartupperlabelsalign"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{profits.csv}
+Year,Profit,Units
+1999,"-\$4,673",12467
+2000,"\$2,525.49",8965
+2001,"\$1,673.52",14750
+2002,"-\$1,320.01",14572
+2003,"\$5,694.83",13312
+2004,"\$-451.67",9764
+2005,"\$6,785.20",11235
+\end{filecontents}
+
+
+\usepackage{databar}
+% Load data from profits.csv file:
+\DTLsetup{store-datum,default-name=profits}
+\DTLread[csv-content=tex]{profits.csv} 
+\begin{document}
+Beware of short bars! 
+
+\DTLbarchart
+{
+ variable=\theProfit,
+ horizontal,
+ bar-width=20pt, 
+ bar-label=\theYear,
+ round=0,
+ upper-bar-label=\DTLbarvalue,
+ upper-label-offset={ -\DTLbarlabeloffset },
+ upper-label-align={[left]right}
+}
+{profits}% database name
+ {% assignment list
+ \theYear=Year,
+ \theProfit=Profit
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example133.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example134.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example134.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example134.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example134.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example134.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example134.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example134.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example134.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example134.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example134.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example134.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example134.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example134.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,44 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 134 Multi Bar Chart With Group Labels
+% Label: "ex:barchartgrouplabel"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{studentmarks.csv}
+Surname,Forename,StudentNo,Assign1,Assign2,Assign3
+"Smith, Jr",John,102689,68,57,72
+"Brown",Jane,102647,75,84,80
+"Brown",Jane,102646,64,92,79
+"Brown",Andy,103569,42,52,54
+"Adams",Zoë,105987,52,48,57
+"Brady",Roger,106872,68,60,62
+"Verdon",Clare,104356,45,50,48
+\end{filecontents}
+
+
+\usepackage{databar}
+% Load data from studentmarks.csv file:
+\DTLsetup{store-datum,default-name=marks}
+\DTLread{studentmarks.csv} 
+\begin{document}
+\DTLmultibarchart
+{
+ variables={\assignI,\assignII,\assignIII},
+ round=0,
+ bar-width=12pt,
+ group-label-align={center,top},
+ bar-label={\xDTLinitials{\Forename}\xDTLinitials{\Surname}},
+ multi-bar-labels={A1,A2,A3},
+ upper-multi-bar-labels={\DTLbarvalue,\DTLbarvalue,\DTLbarvalue},
+}
+{marks}% database name
+{
+ \assignI=Assign1,
+ \assignII=Assign2,
+ \assignIII=Assign3,
+ \Surname=Surname,
+ \Forename=Forename
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example134.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example135.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example135.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example135.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example135.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example135.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example135.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example135.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example135.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example135.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example135.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example135.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example135.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example135.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,46 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 135 Bar Chart With Axes
+% Label: "ex:barchartaxes"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{profits.csv}
+Year,Profit,Units
+1999,"-\$4,673",12467
+2000,"\$2,525.49",8965
+2001,"\$1,673.52",14750
+2002,"-\$1,320.01",14572
+2003,"\$5,694.83",13312
+2004,"\$-451.67",9764
+2005,"\$6,785.20",11235
+\end{filecontents}
+
+
+\usepackage{databar}
+% Load data from profits.csv file:
+\DTLsetup{store-datum,default-name=profits}
+\DTLread[csv-content=tex]{profits.csv} 
+\begin{document}
+\DTLbarchart
+{
+ variable=\theProfit,
+ horizontal,
+ color-style=single,
+ max-depth=-5000,
+ max=10000,
+ bar-width=20pt,bar-gap=0.5,
+ axes,y-ticks,y-tick-gap=2500,
+ ylabel=Profits,
+ bar-label=\theYear,
+ upper-bar-label=\DTLbarvalue,
+ round=2,
+ y-tick-round=0
+}
+{profits}% database
+ {% assignment list
+ \theYear=Year,
+ \theProfit=Profit
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example135.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example136.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example136.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example136.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example136.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example136.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example136.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example136.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example136.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example136.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example136.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example136.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example136.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example136.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,49 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 136 Bar Chart With Rotated Tick Labels
+% Label: "ex:barchartrotateyticlabels"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{profits.csv}
+Year,Profit,Units
+1999,"-\$4,673",12467
+2000,"\$2,525.49",8965
+2001,"\$1,673.52",14750
+2002,"-\$1,320.01",14572
+2003,"\$5,694.83",13312
+2004,"\$-451.67",9764
+2005,"\$6,785.20",11235
+\end{filecontents}
+
+
+\usepackage{databar}
+% Load data from profits.csv file:
+\DTLsetup{store-datum,default-name=profits}
+\DTLread[csv-content=tex]{profits.csv} 
+\begin{document}
+\renewcommand{\DTLbardisplayYticklabel}[1]{\rotatebox{45}{#1}}
+\DTLbarchart
+{
+ variable=\theProfit,
+ horizontal,
+ color-style=single,
+ max-depth=-5000,
+ max=10000,
+ bar-width=20pt,bar-gap=0.5,
+ axes,y-ticks,y-tick-gap=1000,
+ ylabel={Loss / Profits},
+ ylabel-position=zero,
+ bar-label={\theYear},
+ upper-bar-label={\DTLbarvalue},
+ round=2,
+ y-tick-round=0,
+ ytic-label-align={right,top}
+}
+{profits}% database
+ {% assignment list
+ \theYear=Year,
+ \theProfit=Profit
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example136.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example137.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example137.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example137.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example137.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example137.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example137.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example137.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example137.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example137.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example137.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example137.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example137.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example137.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,35 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 137 Bar Chart With a Limited Set of Custom Colours
+% Label: "ex:barchartclearcols"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{fruit.csv}
+Name,Quantity
+"Apples",30
+"Pears",25
+"Lemons,Limes",40.5
+"Peaches",34.5
+"Cherries",20
+\end{filecontents}
+
+
+\usepackage{databar}
+% Load data from fruit.csv file:
+\DTLsetup{store-datum,default-name=fruit}
+\DTLread{fruit.csv} 
+\begin{document}
+\DTLbarchart
+{
+ variable=\Quantity,% variable required
+ bar-label=\Name,
+ pre-init={\DTLclearbarcolors},
+ outline-width=1pt,
+ bar-colors={cyan,magenta,yellow}
+}
+{fruit}% database
+{\Quantity=Quantity,\Name=Name}% assignment list
+ 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example137.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example138.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example138.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example138.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example138.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example138.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example138.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example138.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example138.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example138.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example138.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example138.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example138.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example138.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,35 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 138 Bar Chart Cycling through the Colour Set
+% Label: "ex:barchartcyclecols"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{fruit.csv}
+Name,Quantity
+"Apples",30
+"Pears",25
+"Lemons,Limes",40.5
+"Peaches",34.5
+"Cherries",20
+\end{filecontents}
+
+
+\usepackage{databar}
+% Load data from fruit.csv file:
+\DTLsetup{store-datum,default-name=fruit}
+\DTLread{fruit.csv} 
+\begin{document}
+\DTLbarchart
+{
+ variable=\Quantity,% variable required
+ bar-label=\Name,
+ pre-init={\DTLclearbarcolors},
+ bar-colors={cyan,magenta,yellow},
+ color-style=cycle,
+}
+{fruit}% database
+{\Quantity=Quantity,\Name=Name}% assignment list
+ 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example138.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example139.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example139.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example139.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example139.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example139.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example139.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example139.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example139.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example139.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example139.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example139.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example139.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example139.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,43 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 139 Single Colours for Positive and Negative Bars
+% Label: "ex:barchartnegcol"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{profits.csv}
+Year,Profit,Units
+1999,"-\$4,673",12467
+2000,"\$2,525.49",8965
+2001,"\$1,673.52",14750
+2002,"-\$1,320.01",14572
+2003,"\$5,694.83",13312
+2004,"\$-451.67",9764
+2005,"\$6,785.20",11235
+\end{filecontents}
+
+
+\usepackage{databar}
+% Load data from profits.csv file:
+\DTLsetup{store-datum,default-name=profits}
+\DTLread[csv-content=tex]{profits.csv} 
+\begin{document}
+\DTLbarchart
+{
+ variable=\theProfit,
+ horizontal,
+ bar-width=20pt, 
+ bar-label={\theYear}, 
+ upper-bar-label={\DTLbarvalue}, 
+ round=0,
+ color-style=single,
+ bar-colors={blue},
+ negative-bar-colors={red}
+}
+{profits}% database
+ {% assignment list
+ \theYear=Year,
+ \theProfit=Profit
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example139.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example140.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example140.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example140.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example140.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example140.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example140.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example140.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example140.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example140.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example140.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example140.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example140.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example140.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,50 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 140 Shaded Bar
+% Label: "ex:barcharteverybarshading"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{profits.csv}
+Year,Profit,Units
+1999,"-\$4,673",12467
+2000,"\$2,525.49",8965
+2001,"\$1,673.52",14750
+2002,"-\$1,320.01",14572
+2003,"\$5,694.83",13312
+2004,"\$-451.67",9764
+2005,"\$6,785.20",11235
+\end{filecontents}
+
+
+\usepackage{databar}
+% Load data from profits.csv file:
+\DTLsetup{store-datum,default-name=profits}
+\DTLread[csv-content=tex]{profits.csv} 
+\begin{document}
+\renewcommand\DTLBarStyle{% 
+ draw,shade,shading=axis,left color=red,right color=blue
+ }
+\DTLsetbarcolor{1}{}% no fill for bar 1
+ \DTLbarchart
+{
+ variable=\theProfit,
+ horizontal,
+ color-style=single,
+ max-depth=-5000,
+ max=10000,
+ bar-width=20pt,bar-gap=0.5,
+ axes,y-ticks,y-tick-gap=2500,
+ ylabel={Profits},
+ bar-label={\theYear},
+ upper-bar-label={\DTLbarvalue},
+ round=2,
+ y-tick-round=0
+}
+{profits}% database
+ {% assignment list
+ \theYear=Year,
+ \theProfit=Profit
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example140.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example141.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example141.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example141.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example141.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example141.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example141.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example141.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example141.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example141.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example141.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example141.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example141.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example141.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,46 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 141 Hook at Every Bar
+% Label: "ex:barcharteverybarpts"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{profits.csv}
+Year,Profit,Units
+1999,"-\$4,673",12467
+2000,"\$2,525.49",8965
+2001,"\$1,673.52",14750
+2002,"-\$1,320.01",14572
+2003,"\$5,694.83",13312
+2004,"\$-451.67",9764
+2005,"\$6,785.20",11235
+\end{filecontents}
+
+
+\usepackage{databar}
+% Load data from profits.csv file:
+\DTLsetup{store-datum,default-name=profits}
+\DTLread[csv-content=tex]{profits.csv} 
+\begin{document}
+\renewcommand\DTLeverybarhook{% 
+ \pgfpathmoveto{\DTLstartpt}
+ \pgfpathlineto{\DTLendpt}
+ \pgfpathcircle{\DTLstartpt}{2pt}
+ \pgfpathcircle{\DTLmidpt}{2pt}
+ \pgfpathcircle{\DTLendpt}{2pt}
+ \pgfusepath{draw}
+}% 
+\DTLbarchart
+{
+ variable=\theProfit,
+ horizontal,
+ color-style=single,
+ bar-colors={pink},
+}
+{profits}% database
+ {% assignment list
+ \theYear=Year,
+ \theProfit=Profit
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example141.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example142.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example142.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example142.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example142.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example142.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example142.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example142.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example142.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example142.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example142.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example142.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example142.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example142.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,34 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 142 Every Bar Hook (Filtering)
+% Label: "ex:barcharteverybar"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{fruit.csv}
+Name,Quantity
+"Apples",30
+"Pears",25
+"Lemons,Limes",40.5
+"Peaches",34.5
+"Cherries",20
+\end{filecontents}
+
+
+\usepackage{databar}
+% Load data from fruit.csv file:
+\DTLsetup{store-datum,default-name=fruit}
+\DTLread{fruit.csv} 
+\begin{document}
+\DTLbarchart
+{
+ init={\renewcommand{\DTLeverybarhook}{\pgftext[at=\DTLmidpt]{\DTLbarindex/\number\dtlrownum}}},
+ variable=\Quantity,% variable required
+ bar-label={\Name},
+ include-if={\DTLifstringeq{\Name}{Pears}{}{#1}}
+}
+{fruit}% database
+{\Quantity=Quantity,\Name=Name}% assignment list
+ 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example142.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example143.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example143.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example143.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example143.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example143.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example143.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example143.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example143.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example143.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example143.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example143.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example143.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example143.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,51 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 143 Bar Chart With a Legend
+% Label: "ex:barchartlegend"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{fruit.csv}
+Name,Quantity
+"Apples",30
+"Pears",25
+"Lemons,Limes",40.5
+"Peaches",34.5
+"Cherries",20
+\end{filecontents}
+
+
+\usepackage{databar}
+% Load data from fruit.csv file:
+\DTLsetup{store-datum,default-name=fruit}
+\DTLread{fruit.csv} 
+\begin{document}
+\DTLbarchart
+{
+ init={% 
+ \def\mychartlegend{}% 
+ \renewcommand{\DTLeverybarhook}{% 
+  \ifdefempty{\mychartlegend}{}{\appto\mychartlegend{\\}}% 
+  \eappto\mychartlegend{% 
+    {\noexpand\DTLdobarcolor{\DTLbarindex}
+    \noexpand\rule{\noexpand\DTLbarwidth}{\noexpand\DTLbarwidth}}
+    \expandonce\Name
+  }% 
+  }% 
+ \renewcommand{\DTLbaratendtikz}{% 
+ \node[at={(\DTLbarchartwidth,0pt)},anchor=south west] 
+  {
+    \begin{tabular}{l}
+    \mychartlegend
+    \end{tabular}
+  };
+  }% 
+ },
+ variable=\Quantity,% variable required
+ y-ticks,ylabel=Quantity
+}
+{fruit}% database
+{\Quantity=Quantity,\Name=Name}% assignment list
+ 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example143.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example144.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example144.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example144.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example144.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example144.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example144.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example144.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example144.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example144.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example144.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example144.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example144.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example144.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,55 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 144 Multi Bar Chart With a Legend
+% Label: "ex:barchartgrouplegend"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% sample CSV file:
+\begin{filecontents}[noheader,overwrite]{studentmarks.csv}
+Surname,Forename,StudentNo,Assign1,Assign2,Assign3
+"Smith, Jr",John,102689,68,57,72
+"Brown",Jane,102647,75,84,80
+"Brown",Jane,102646,64,92,79
+"Brown",Andy,103569,42,52,54
+"Adams",Zoë,105987,52,48,57
+"Brady",Roger,106872,68,60,62
+"Verdon",Clare,104356,45,50,48
+\end{filecontents}
+
+
+\usepackage{databar}
+% Load data from studentmarks.csv file:
+\DTLsetup{store-datum,default-name=marks}
+\DTLread{studentmarks.csv} 
+\begin{document}
+\DTLmultibarchart
+{
+ init={
+  \renewcommand{\DTLbaratendtikz}{% 
+    \node[at={(\DTLbarchartwidth,0pt)},anchor=south west] 
+    {\begin{tabular}{l}
+      {\DTLdobarcolor{1}\rule{\DTLbarwidth}{\DTLbarwidth}}
+      Assignment 1\\
+      {\DTLdobarcolor{2}\rule{\DTLbarwidth}{\DTLbarwidth}}
+      Assignment 2\\
+      {\DTLdobarcolor{3}\rule{\DTLbarwidth}{\DTLbarwidth}}
+      Assignment 3
+      \end{tabular}};
+    }
+  },
+ variables={\assignI,\assignII,\assignIII},
+ bar-width=12pt,
+ group-label-align={center,top},
+ bar-label={\xDTLinitials{\Forename}\xDTLinitials{\Surname}},
+ y-ticks,axes=both
+}
+{marks}% database name
+{
+ \assignI=Assign1,
+ \assignII=Assign2,
+ \assignIII=Assign3,
+ \Surname=Surname,
+ \Forename=Forename
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example144.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example145.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example145.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example145.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example145.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example145.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example145.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example145.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example145.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example145.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example145.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example145.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example145.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example145.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,28 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 145 Scatter Plot (One Database)
+% Label: "ex:growthscatter1"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\begin{filecontents}[noheader,overwrite]{growth1.csv}
+Time,Experiment 1,Experiment 2
+0,3.13,3.4
+15,3.42,3.45
+30,3.67,3.5
+45,4.2,3.64
+60,4.9,3.8
+\end{filecontents}
+
+\usepackage{dataplot}
+\DTLsetup{store-datum}
+\DTLread[name=growth1]{growth1.csv} 
+\begin{document}
+ \DTLplot{growth1}{
+ x=Time,
+ y={Experiment 1,Experiment 2},
+ x-label={Time ($t$)}, y-label={Log Count},
+ legend,
+ width=2.5in, height=2.5in
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example145.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example146.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example146.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example146.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example146.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example146.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example146.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example146.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example146.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example146.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example146.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example146.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example146.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example146.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,38 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 146 Scatter Plot (Two Databases)
+% Label: "ex:growthscatter2"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\begin{filecontents}[noheader,overwrite]{growth1.csv}
+Time,Experiment 1,Experiment 2
+0,3.13,3.4
+15,3.42,3.45
+30,3.67,3.5
+45,4.2,3.64
+60,4.9,3.8
+\end{filecontents}
+
+\begin{filecontents}[noheader,overwrite]{growth2.csv}
+Time,Experiment 1,Experiment 2
+0,3.14,3.2
+15,3.51,3.53
+30,3.79,3.61
+45,4.5,4.25
+60,5.1,4.9
+\end{filecontents}
+
+\usepackage{dataplot}
+\DTLsetup{store-datum}
+\DTLread[name=growth1]{growth1.csv}
+\DTLread[name=growth2]{growth2.csv} 
+\begin{document}
+ \DTLplot{growth1,growth2}{
+ x=Time,
+ y={Experiment 1,Experiment 2},
+ x-label={Time ($t$)}, y-label={Log Count},
+ legend,
+ width=2.5in, height=2.5in
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example146.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example147.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example147.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example147.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example147.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example147.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example147.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example147.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example147.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example147.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example147.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example147.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example147.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example147.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,49 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 147 Scatter Plot (Action)
+% Label: "ex:growthscatteraction"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\begin{filecontents}[noheader,overwrite]{growth1.csv}
+Time,Experiment 1,Experiment 2
+0,3.13,3.4
+15,3.42,3.45
+30,3.67,3.5
+45,4.2,3.64
+60,4.9,3.8
+\end{filecontents}
+
+\begin{filecontents}[noheader,overwrite]{growth2.csv}
+Time,Experiment 1,Experiment 2
+0,3.14,3.2
+15,3.51,3.53
+30,3.79,3.61
+45,4.5,4.25
+60,5.1,4.9
+\end{filecontents}
+
+\usepackage{dataplot}
+\DTLsetup{store-datum}
+\DTLread[name=growth1]{growth1.csv}
+\DTLread[name=growth2]{growth2.csv} 
+\begin{document}
+\DTLaction[name={growth1,growth2},
+ options={
+  x=Time,
+  y={Experiment 1,Experiment 2},
+  x-label={Time ($t$)}, y-label={Log Count},
+  legend,
+  width=2.5in,height=2.5in
+ }
+]{plot} 
+
+Number of streams: \DTLuse{stream-count}.
+
+
+Minimum X: \DTLuse{min-x}.
+Minimum Y: \DTLuse{min-y}.
+Maximum X: \DTLuse{max-x}.
+Maximum Y: \DTLuse{max-y}.
+
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example147.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example148.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example148.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example148.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example148.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example148.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example148.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example148.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example148.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example148.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example148.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example148.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example148.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example148.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,33 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 148 Scatter Plot (One Database, Two Sets of Data)
+% Label: "ex:growthscatter4col"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{scontents}% to write test file with TABs preserved
+\begin{scontents}[write-out={growth.tsv},overwrite]
+Experiment 1		Experiment 2	
+Time	Log Count	Time	Log Count
+0	2.9	0	3.31
+15	3.14	10	3.45
+30	3.26	25	3.61
+45	4.01	40	3.76
+60	4.2	55	3.89
+\end{scontents}
+
+\usepackage{dataplot}
+\DTLsetup{store-datum,default-name=growthdata}
+\DTLread[
+ format=tsv,csv-skip-lines=1,
+ keys={Exp1Time,Exp1Count,Exp2Time,Exp2Count}
+]{growth} 
+\begin{document}
+ \DTLplot{growthdata}{
+ x={Exp1Time,Exp2Time},
+ y={Exp1Count,Exp2Count},
+ x-label={Time ($t$)}, y-label={Log Count},
+ legend,
+ width=2.5in, height=2.5in
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example148.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example149.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example149.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example149.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example149.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example149.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example149.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example149.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example149.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example149.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example149.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example149.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example149.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example149.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,48 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 149 Scatter Plot (Two Databases, Two Sets of Data)
+% Label: "ex:growthscatter4col2db"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{scontents}% to write test file with TABs preserved
+\begin{scontents}[write-out={growth.tsv},overwrite]
+Experiment 1		Experiment 2	
+Time	Log Count	Time	Log Count
+0	2.9	0	3.31
+15	3.14	10	3.45
+30	3.26	25	3.61
+45	4.01	40	3.76
+60	4.2	55	3.89
+\end{scontents}
+
+\begin{scontents}[write-out={growth2.tsv},overwrite]
+Experiment 1		Experiment 2		Experiment 3	
+Time	Log Count	Time	Log Count	Time	Log Count
+0	3.21	0	3.39	0	3.28
+15	3.43	10	3.51	10	3.45
+30	3.68	25	3.65	20	3.57
+45	4.4	40	3.84	30	3.64
+60	4.8	55	3.92	40	3.95
+\end{scontents}
+
+\usepackage{dataplot}
+\DTLsetup{store-datum}
+\DTLread[
+ name=growthdata, format=tsv,csv-skip-lines=1,
+ keys={Exp1Time,Exp1Count,Exp2Time,Exp2Count}
+]{growth}% growth.tsv
+ \DTLread[
+ name=growthdata2, format=tsv,csv-skip-lines=1,
+ keys={Exp1Time,Exp1Count,Exp2Time,Exp2Count,Exp3Time,Exp3Count}
+]{growth2}% growth2.tsv
+ 
+\begin{document}
+ \DTLplot{growthdata,growthdata2}{
+ x={Exp1Time,Exp2Time},
+ y={Exp1Count,Exp2Count},
+ x-label={Time ($t$)},y-label={Log Count},
+ legend,
+ width=2.5in,height=2.5in
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example149.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example150.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example150.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example150.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example150.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example150.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example150.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example150.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example150.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example150.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example150.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example150.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example150.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example150.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,54 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 150 Scatter Plot (Two Databases, Multiple Sets of Data)
+% Label: "ex:growthscatter6col2db"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{scontents}% to write test file with TABs preserved
+\begin{scontents}[write-out={growth.tsv},overwrite]
+Experiment 1		Experiment 2	
+Time	Log Count	Time	Log Count
+0	2.9	0	3.31
+15	3.14	10	3.45
+30	3.26	25	3.61
+45	4.01	40	3.76
+60	4.2	55	3.89
+\end{scontents}
+
+\begin{scontents}[write-out={growth2.tsv},overwrite]
+Experiment 1		Experiment 2		Experiment 3	
+Time	Log Count	Time	Log Count	Time	Log Count
+0	3.21	0	3.39	0	3.28
+15	3.43	10	3.51	10	3.45
+30	3.68	25	3.65	20	3.57
+45	4.4	40	3.84	30	3.64
+60	4.8	55	3.92	40	3.95
+\end{scontents}
+
+\usepackage{dataplot}
+\DTLsetup{store-datum}
+\DTLread[
+ name=growthdata, format=tsv,csv-skip-lines=1,
+ keys={Exp1Time,Exp1Count,Exp2Time,Exp2Count}
+]{growth}% growth.tsv
+ \DTLread[
+ name=growthdata2, format=tsv,csv-skip-lines=1,
+ keys={Exp1Time,Exp1Count,Exp2Time,Exp2Count,Exp3Time,Exp3Count}
+]{growth2}% growth2.tsv
+ 
+\begin{document}
+% useful for debugging, this will show the column keys instead of the headers in the legend:
+\RenewDocumentCommand \DTLplotlegendx { O{0} m O{0} m }{#4}
+\RenewDocumentCommand \DTLplotlegendy { O{0} m O{0} m }{#4}
+
+
+% now draw the plot:
+ \DTLplot{growthdata,growthdata2}{
+ x={Exp1Time,Exp2Time,Exp3Time},
+ y={Exp1Count,Exp2Count,Exp3Count},
+ x-label={Time ($t$)},y-label={Log Count},
+ legend,
+ width=2.5in,height=2.5in
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example150.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example151.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example151.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example151.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example151.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example151.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example151.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example151.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example151.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example151.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example151.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example151.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example151.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example151.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,54 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 151 Scatter Plot With Mismatched X and Y Columns
+% Label: "ex:growthscatter6col2db2x3y"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{scontents}% to write test file with TABs preserved
+\begin{scontents}[write-out={growth.tsv},overwrite]
+Experiment 1		Experiment 2	
+Time	Log Count	Time	Log Count
+0	2.9	0	3.31
+15	3.14	10	3.45
+30	3.26	25	3.61
+45	4.01	40	3.76
+60	4.2	55	3.89
+\end{scontents}
+
+\begin{scontents}[write-out={growth2.tsv},overwrite]
+Experiment 1		Experiment 2		Experiment 3	
+Time	Log Count	Time	Log Count	Time	Log Count
+0	3.21	0	3.39	0	3.28
+15	3.43	10	3.51	10	3.45
+30	3.68	25	3.65	20	3.57
+45	4.4	40	3.84	30	3.64
+60	4.8	55	3.92	40	3.95
+\end{scontents}
+
+\usepackage{dataplot}
+\DTLsetup{store-datum}
+\DTLread[
+ name=growthdata, format=tsv,csv-skip-lines=1,
+ keys={Exp1Time,Exp1Count,Exp2Time,Exp2Count}
+]{growth}% growth.tsv
+ \DTLread[
+ name=growthdata2, format=tsv,csv-skip-lines=1,
+ keys={Exp1Time,Exp1Count,Exp2Time,Exp2Count,Exp3Time,Exp3Count}
+]{growth2}% growth2.tsv
+ 
+\begin{document}
+% useful for debugging, this will show the column keys instead of the headers in the legend:
+\RenewDocumentCommand \DTLplotlegendx { O{0} m O{0} m }{#4}
+\RenewDocumentCommand \DTLplotlegendy { O{0} m O{0} m }{#4}
+
+
+% now draw the plot:
+ \DTLplot{growthdata,growthdata2}{
+ x={Exp1Time,Exp2Time},
+ y={Exp1Count,Exp2Count,Exp3Count},
+ x-label={Time ($t$)},y-label={Log Count},
+ legend,
+ width=2.5in,height=2.5in
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example151.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example152.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example152.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example152.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example152.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example152.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example152.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example152.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example152.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example152.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example152.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example152.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example152.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example152.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,33 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 152 Scatter Plot with Custom Legend Labels (One Database, Two Sets of Data)
+% Label: "ex:growthscatter4col-legend"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{scontents}% to write test file with TABs preserved
+\begin{scontents}[write-out={growth.tsv},overwrite]
+Experiment 1		Experiment 2	
+Time	Log Count	Time	Log Count
+0	2.9	0	3.31
+15	3.14	10	3.45
+30	3.26	25	3.61
+45	4.01	40	3.76
+60	4.2	55	3.89
+\end{scontents}
+
+\usepackage{dataplot}
+\DTLsetup{store-datum,default-name=growthdata}
+\DTLread[
+ format=tsv,csv-skip-lines=1,
+ keys={Exp1Time,Exp1Count,Exp2Time,Exp2Count}
+]{growth} 
+\begin{document}
+ \DTLplot{growthdata}{
+ x={Exp1Time,Exp2Time},
+ y={Exp1Count,Exp2Count},
+ x-label={Time ($t$)},y-label={Log Count},
+ legend, legend-labels={Experiment 1,Experiment 2},
+ width=2.5in, height=2.5in
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example152.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example153.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example153.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example153.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example153.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example153.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example153.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example153.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example153.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example153.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example153.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example153.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example153.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example153.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,33 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 153 Scatter Plot with Custom and Default Legend Labels (One Database, Two Sets of Data)
+% Label: "ex:growthscatter4col-legend2"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{scontents}% to write test file with TABs preserved
+\begin{scontents}[write-out={growth.tsv},overwrite]
+Experiment 1		Experiment 2	
+Time	Log Count	Time	Log Count
+0	2.9	0	3.31
+15	3.14	10	3.45
+30	3.26	25	3.61
+45	4.01	40	3.76
+60	4.2	55	3.89
+\end{scontents}
+
+\usepackage{dataplot}
+\DTLsetup{store-datum,default-name=growthdata}
+\DTLread[
+ format=tsv,csv-skip-lines=1,
+ keys={Exp1Time,Exp1Count,Exp2Time,Exp2Count}
+]{growth} 
+\begin{document}
+ \DTLplot{growthdata}{
+ x={Exp1Time,Exp2Time},
+ y={Exp1Count,Exp2Count},
+ x-label={Time ($t$)},y-label={Log Count},
+ legend, legend-labels={Experiment 1},
+ width=2.5in, height=2.5in
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example153.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example154.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example154.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example154.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example154.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example154.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example154.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example154.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example154.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example154.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example154.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example154.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example154.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example154.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,33 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 154 Scatter Plot with an Omitted Legend Label (One Database, Two Sets of Data)
+% Label: "ex:growthscatter4col-legend3"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{scontents}% to write test file with TABs preserved
+\begin{scontents}[write-out={growth.tsv},overwrite]
+Experiment 1		Experiment 2	
+Time	Log Count	Time	Log Count
+0	2.9	0	3.31
+15	3.14	10	3.45
+30	3.26	25	3.61
+45	4.01	40	3.76
+60	4.2	55	3.89
+\end{scontents}
+
+\usepackage{dataplot}
+\DTLsetup{store-datum,default-name=growthdata}
+\DTLread[
+ format=tsv,csv-skip-lines=1,
+ keys={Exp1Time,Exp1Count,Exp2Time,Exp2Count}
+]{growth} 
+\begin{document}
+ \DTLplot{growthdata}{
+ x={Exp1Time,Exp2Time},
+ y={Exp1Count,Exp2Count},
+ x-label={Time ($t$)},y-label={Log Count},
+ legend,legend-labels={Experiment 1,{}},
+ width=2.5in,height=2.5in
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example154.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example155.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example155.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example155.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example155.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example155.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example155.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example155.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example155.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example155.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example155.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example155.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example155.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example155.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,43 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 155 Scatter Plot (Two Databases with Name Map)
+% Label: "ex:growthscatter2namemap"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\begin{filecontents}[noheader,overwrite]{growth1.csv}
+Time,Experiment 1,Experiment 2
+0,3.13,3.4
+15,3.42,3.45
+30,3.67,3.5
+45,4.2,3.64
+60,4.9,3.8
+\end{filecontents}
+
+\begin{filecontents}[noheader,overwrite]{growth2.csv}
+Time,Experiment 1,Experiment 2
+0,3.14,3.2
+15,3.51,3.53
+30,3.79,3.61
+45,4.5,4.25
+60,5.1,4.9
+\end{filecontents}
+
+\usepackage{dataplot}
+\usepackage{siunitx}
+\DTLsetup{store-datum}
+\DTLread[name=growth1]{growth1.csv}
+\DTLread[name=growth2]{growth2.csv}
+
+
+\DTLplotlegendsetname{growth1}{\qty{6}{\degreeCelsius}}
+\DTLplotlegendsetname{growth2}{\qty{8}{\degreeCelsius}} 
+\begin{document}
+ \DTLplot{growth1,growth2}{
+ x=Time,
+ y={Experiment 1,Experiment 2},
+ x-label={Time ($t$)},y-label=Log Count,
+ legend,
+ width=2.5in,height=2.5in
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example155.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example156.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example156.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example156.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example156.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example156.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example156.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example156.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example156.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example156.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example156.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example156.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example156.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example156.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,58 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 156 Scatter Plot with Legend Label Mappings (Two Databases, Multiple Sets of Data)
+% Label: "ex:growthscatter6col2dbmap"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{scontents}% to write test file with TABs preserved
+\begin{scontents}[write-out={growth.tsv},overwrite]
+Experiment 1		Experiment 2	
+Time	Log Count	Time	Log Count
+0	2.9	0	3.31
+15	3.14	10	3.45
+30	3.26	25	3.61
+45	4.01	40	3.76
+60	4.2	55	3.89
+\end{scontents}
+
+\begin{scontents}[write-out={growth2.tsv},overwrite]
+Experiment 1		Experiment 2		Experiment 3	
+Time	Log Count	Time	Log Count	Time	Log Count
+0	3.21	0	3.39	0	3.28
+15	3.43	10	3.51	10	3.45
+30	3.68	25	3.65	20	3.57
+45	4.4	40	3.84	30	3.64
+60	4.8	55	3.92	40	3.95
+\end{scontents}
+
+\usepackage{dataplot}
+\usepackage{siunitx}
+\DTLsetup{store-datum}
+\DTLread[
+ name=growthdata, format=tsv,csv-skip-lines=1,
+ keys={Exp1Time,Exp1Count,Exp2Time,Exp2Count}
+]{growth}% growth.tsv
+ \DTLread[
+ name=growthdata2, format=tsv,csv-skip-lines=1,
+ keys={Exp1Time,Exp1Count,Exp2Time,Exp2Count,Exp3Time,Exp3Count}
+]{growth2}% growth2.tsv
+ 
+
+\DTLplotlegendsetname{growthdata}{\qty{6}{\degreeCelsius}}
+\DTLplotlegendsetname{growthdata2}{\qty{8}{\degreeCelsius}}
+\DTLplotlegendsetxlabel{Exp1Time}{$t_1$}
+\DTLplotlegendsetxlabel{Exp2Time}{$t_2$}
+\DTLplotlegendsetxlabel{Exp3Time}{$t_3$}
+\DTLplotlegendsetylabel{Exp1Count}{$N_1$}
+\DTLplotlegendsetylabel{Exp2Count}{$N_2$}
+\DTLplotlegendsetylabel{Exp3Count}{$N_3$} 
+\begin{document}
+\DTLplot{growthdata,growthdata2}{
+ x={Exp1Time,Exp2Time,Exp3Time},
+ y={Exp1Count,Exp2Count,Exp3Count},
+ x-label={Time ($t$)},y-label={Log Count},
+ legend,
+ width=2.5in,height=2.5in
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example156.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example157.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example157.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example157.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example157.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example157.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example157.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example157.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example157.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example157.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example157.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example157.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example157.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example157.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,62 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 157 Scatter Plot with Legend Label Mappings and Custom formatting (Two Databases, Multiple Sets of Data)
+% Label: "ex:growthscatter6col2dbmapxy"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{scontents}% to write test file with TABs preserved
+\begin{scontents}[write-out={growth.tsv},overwrite]
+Experiment 1		Experiment 2	
+Time	Log Count	Time	Log Count
+0	2.9	0	3.31
+15	3.14	10	3.45
+30	3.26	25	3.61
+45	4.01	40	3.76
+60	4.2	55	3.89
+\end{scontents}
+
+\begin{scontents}[write-out={growth2.tsv},overwrite]
+Experiment 1		Experiment 2		Experiment 3	
+Time	Log Count	Time	Log Count	Time	Log Count
+0	3.21	0	3.39	0	3.28
+15	3.43	10	3.51	10	3.45
+30	3.68	25	3.65	20	3.57
+45	4.4	40	3.84	30	3.64
+60	4.8	55	3.92	40	3.95
+\end{scontents}
+
+\usepackage{dataplot}
+\usepackage{siunitx}
+\DTLsetup{store-datum}
+\DTLread[
+ name=growthdata, format=tsv,csv-skip-lines=1,
+ keys={Exp1Time,Exp1Count,Exp2Time,Exp2Count}
+]{growth}% growth.tsv
+ \DTLread[
+ name=growthdata2, format=tsv,csv-skip-lines=1,
+ keys={Exp1Time,Exp1Count,Exp2Time,Exp2Count,Exp3Time,Exp3Count}
+]{growth2}% growth2.tsv
+ 
+
+\DTLplotlegendsetname{growthdata}{\qty{6}{\degreeCelsius}}
+\DTLplotlegendsetname{growthdata2}{\qty{8}{\degreeCelsius}}
+\DTLplotlegendsetxlabel{Exp1Time}{$t_1$}
+\DTLplotlegendsetxlabel{Exp2Time}{$t_2$}
+\DTLplotlegendsetxlabel{Exp3Time}{$t_3$}
+\DTLplotlegendsetylabel{Exp1Count}{$N_1$}
+\DTLplotlegendsetylabel{Exp2Count}{$N_2$}
+\DTLplotlegendsetylabel{Exp3Count}{$N_3$} \RenewDocumentCommand \DTLplotlegendxy { O{0} m O{0} m O{0} m }
+{% 
+ (\DTLplotlegendx[#1]{#2}[#3]{#4}, 
+ \DTLplotlegendy[#1]{#2}[#5]{#6})% 
+ } 
+\begin{document}
+\DTLplot{growthdata,growthdata2}{
+ x={Exp1Time,Exp2Time,Exp3Time},
+ y={Exp1Count,Exp2Count,Exp3Count},
+ x-label={Time ($t$)},y-label={Log Count},
+ legend,
+ width=2.5in,height=2.5in
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example157.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example158.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example158.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example158.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example158.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example158.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example158.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example158.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example158.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example158.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example158.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example158.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example158.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example158.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,56 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 158 Scatter Plot with Custom Legend Labels (Two Databases, Multiple Sets of Data)
+% Label: "ex:growthscatter6col2dbmap2"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{scontents}% to write test file with TABs preserved
+\begin{scontents}[write-out={growth.tsv},overwrite]
+Experiment 1		Experiment 2	
+Time	Log Count	Time	Log Count
+0	2.9	0	3.31
+15	3.14	10	3.45
+30	3.26	25	3.61
+45	4.01	40	3.76
+60	4.2	55	3.89
+\end{scontents}
+
+\begin{scontents}[write-out={growth2.tsv},overwrite]
+Experiment 1		Experiment 2		Experiment 3	
+Time	Log Count	Time	Log Count	Time	Log Count
+0	3.21	0	3.39	0	3.28
+15	3.43	10	3.51	10	3.45
+30	3.68	25	3.65	20	3.57
+45	4.4	40	3.84	30	3.64
+60	4.8	55	3.92	40	3.95
+\end{scontents}
+
+\usepackage{dataplot}
+\DTLsetup{store-datum}
+\DTLread[
+ name=growthdata, format=tsv,csv-skip-lines=1,
+ keys={Exp1Time,Exp1Count,Exp2Time,Exp2Count}
+]{growth}% growth.tsv
+ \DTLread[
+ name=growthdata2, format=tsv,csv-skip-lines=1,
+ keys={Exp1Time,Exp1Count,Exp2Time,Exp2Count,Exp3Time,Exp3Count}
+]{growth2}% growth2.tsv
+ 
+
+\RenewDocumentCommand \DTLplotlegendxy { O{0} m O{0} m O{0} m }
+{% 
+ \DTLplotlegendy[#1]{#2}[#5]{#6}% 
+}
+\DTLplotlegendsetname{growthdata}{$T=6$}
+\DTLplotlegendsetname{growthdata2}{$T=8$}
+\RenewDocumentCommand \DTLplotlegendy { O{0} m O{0} m }{Experiment #3} 
+\begin{document}
+\DTLplot{growthdata,growthdata2}{
+ x={Exp1Time,Exp2Time,Exp3Time},
+ y={Exp1Count,Exp2Count,Exp3Count},
+ x-label={Time ($t$)},y-label={Log Count},
+ legend,
+ width=2.5in,height=2.5in
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example158.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example159.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example159.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example159.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example159.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example159.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example159.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example159.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example159.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example159.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example159.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example159.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example159.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example159.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,56 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 159 Scatter Plot with Shifted Legend (Two Databases, Multiple Sets of Data)
+% Label: "ex:growthscatter6col2dbmap2shiftlegend"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{scontents}% to write test file with TABs preserved
+\begin{scontents}[write-out={growth.tsv},overwrite]
+Experiment 1		Experiment 2	
+Time	Log Count	Time	Log Count
+0	2.9	0	3.31
+15	3.14	10	3.45
+30	3.26	25	3.61
+45	4.01	40	3.76
+60	4.2	55	3.89
+\end{scontents}
+
+\begin{scontents}[write-out={growth2.tsv},overwrite]
+Experiment 1		Experiment 2		Experiment 3	
+Time	Log Count	Time	Log Count	Time	Log Count
+0	3.21	0	3.39	0	3.28
+15	3.43	10	3.51	10	3.45
+30	3.68	25	3.65	20	3.57
+45	4.4	40	3.84	30	3.64
+60	4.8	55	3.92	40	3.95
+\end{scontents}
+
+\usepackage{dataplot}
+\DTLsetup{store-datum}
+\DTLread[
+ name=growthdata, format=tsv,csv-skip-lines=1,
+ keys={Exp1Time,Exp1Count,Exp2Time,Exp2Count}
+]{growth}% growth.tsv
+ \DTLread[
+ name=growthdata2, format=tsv,csv-skip-lines=1,
+ keys={Exp1Time,Exp1Count,Exp2Time,Exp2Count,Exp3Time,Exp3Count}
+]{growth2}% growth2.tsv
+ 
+
+\RenewDocumentCommand \DTLplotlegendxy { O{0} m O{0} m O{0} m }
+{% 
+ \DTLplotlegendy[#1]{#2}[#5]{#6}% 
+}
+\DTLplotlegendsetname{growthdata}{$T=6$}
+\DTLplotlegendsetname{growthdata2}{$T=8$}
+\RenewDocumentCommand \DTLplotlegendy { O{0} m O{0} m }{Experiment #3} 
+\begin{document}
+\DTLplot{growthdata,growthdata2}{
+ x={Exp1Time,Exp2Time,Exp3Time},
+ y={Exp1Count,Exp2Count,Exp3Count},
+ x-label={Time ($t$)},y-label={Log Count},
+ legend,legend-offset={-10pt,0pt},
+ width=2.5in,height=2.5in
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example159.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example160.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example160.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example160.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example160.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example160.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example160.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example160.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example160.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example160.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example160.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example160.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example160.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example160.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,64 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 160 Scatter Plot with Custom Legend (Two Databases, Multiple Sets of Data)
+% Label: "ex:growthscatter6col2dbmap2customlegend"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{scontents}% to write test file with TABs preserved
+\begin{scontents}[write-out={growth.tsv},overwrite]
+Experiment 1		Experiment 2	
+Time	Log Count	Time	Log Count
+0	2.9	0	3.31
+15	3.14	10	3.45
+30	3.26	25	3.61
+45	4.01	40	3.76
+60	4.2	55	3.89
+\end{scontents}
+
+\begin{scontents}[write-out={growth2.tsv},overwrite]
+Experiment 1		Experiment 2		Experiment 3	
+Time	Log Count	Time	Log Count	Time	Log Count
+0	3.21	0	3.39	0	3.28
+15	3.43	10	3.51	10	3.45
+30	3.68	25	3.65	20	3.57
+45	4.4	40	3.84	30	3.64
+60	4.8	55	3.92	40	3.95
+\end{scontents}
+
+\usepackage{dataplot}
+\usetikzlibrary{shapes.callouts}
+\DTLsetup{store-datum}
+\DTLread[
+ name=growthdata, format=tsv,csv-skip-lines=1,
+ keys={Exp1Time,Exp1Count,Exp2Time,Exp2Count}
+]{growth}% growth.tsv
+ \DTLread[
+ name=growthdata2, format=tsv,csv-skip-lines=1,
+ keys={Exp1Time,Exp1Count,Exp2Time,Exp2Count,Exp3Time,Exp3Count}
+]{growth2}% growth2.tsv
+ 
+
+\RenewDocumentCommand \DTLplotlegendxy { O{0} m O{0} m O{0} m }
+{% 
+ \DTLplotlegendy[#1]{#2}[#5]{#6}% 
+}
+\DTLplotlegendsetname{growthdata}{$T=6$}
+\DTLplotlegendsetname{growthdata2}{$T=8$}
+\RenewDocumentCommand \DTLplotlegendy { O{0} m O{0} m }{Experiment #3} % for the custom legend:
+ \renewcommand{\DTLcustomlegend}[1]{% 
+ \node
+ [rectangle callout,fill=green!10,anchor=west,outer sep=10pt,
+ callout relative pointer={(-40pt,10pt)}
+ ] at (\DTLplotwidth,0.25\DTLplotheight)
+ {#1} ;
+} 
+\begin{document}
+\DTLplot{growthdata,growthdata2}{
+ x={Exp1Time,Exp2Time,Exp3Time},
+ y={Exp1Count,Exp2Count,Exp3Count},
+ x-label={Time ($t$)},y-label={Log Count},
+ legend=custom,
+ width=2.5in,height=2.5in
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example160.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example161.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example161.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example161.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example161.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example161.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example161.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example161.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example161.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example161.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example161.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example161.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example161.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example161.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,39 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 161 Line and Scatter Plot (Two Databases)
+% Label: "ex:growthscatterboth"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\begin{filecontents}[noheader,overwrite]{growth1.csv}
+Time,Experiment 1,Experiment 2
+0,3.13,3.4
+15,3.42,3.45
+30,3.67,3.5
+45,4.2,3.64
+60,4.9,3.8
+\end{filecontents}
+
+\begin{filecontents}[noheader,overwrite]{growth2.csv}
+Time,Experiment 1,Experiment 2
+0,3.14,3.2
+15,3.51,3.53
+30,3.79,3.61
+45,4.5,4.25
+60,5.1,4.9
+\end{filecontents}
+
+\usepackage{dataplot}
+\DTLsetup{store-datum}
+\DTLread[name=growth1]{growth1.csv}
+\DTLread[name=growth2]{growth2.csv} 
+\begin{document}
+ \DTLplot{growth1,growth2}{
+ style=both,
+ x=Time,
+ y={Experiment 1,Experiment 2},
+ x-label={Time ($t$)},y-label={Log Count},
+ legend, legend-offset={-10pt,0pt},
+ width=2.5in,height=2.5in
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example161.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example162.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example162.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example162.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example162.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example162.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example162.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example162.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example162.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example162.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example162.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example162.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example162.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example162.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,79 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 162 Scatter Plot with Custom Colours and Styles (Two Databases, Multiple Sets of Data)
+% Label: "ex:growthscatter6col2dbstyles"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{scontents}% to write test file with TABs preserved
+\begin{scontents}[write-out={growth.tsv},overwrite]
+Experiment 1		Experiment 2	
+Time	Log Count	Time	Log Count
+0	2.9	0	3.31
+15	3.14	10	3.45
+30	3.26	25	3.61
+45	4.01	40	3.76
+60	4.2	55	3.89
+\end{scontents}
+
+\begin{scontents}[write-out={growth2.tsv},overwrite]
+Experiment 1		Experiment 2		Experiment 3	
+Time	Log Count	Time	Log Count	Time	Log Count
+0	3.21	0	3.39	0	3.28
+15	3.43	10	3.51	10	3.45
+30	3.68	25	3.65	20	3.57
+45	4.4	40	3.84	30	3.64
+60	4.8	55	3.92	40	3.95
+\end{scontents}
+
+\usepackage{dataplot}
+\usepackage{siunitx}
+\DTLsetup{store-datum}
+\DTLread[
+ name=growthdata, format=tsv,csv-skip-lines=1,
+ keys={Exp1Time,Exp1Count,Exp2Time,Exp2Count}
+]{growth}% growth.tsv
+ \DTLread[
+ name=growthdata2, format=tsv,csv-skip-lines=1,
+ keys={Exp1Time,Exp1Count,Exp2Time,Exp2Count,Exp3Time,Exp3Count}
+]{growth2}% growth2.tsv
+ 
+
+\DTLplotlegendsetname{growthdata}{\qty{6}{\degreeCelsius}}
+\DTLplotlegendsetname{growthdata2}{\qty{8}{\degreeCelsius}}
+\DTLplotlegendsetxlabel{Exp1Time}{$t_1$}
+\DTLplotlegendsetxlabel{Exp2Time}{$t_2$}
+\DTLplotlegendsetxlabel{Exp3Time}{$t_3$}
+\DTLplotlegendsetylabel{Exp1Count}{$N_1$}
+\DTLplotlegendsetylabel{Exp2Count}{$N_2$}
+\DTLplotlegendsetylabel{Exp3Count}{$N_3$} \RenewDocumentCommand \DTLplotlegendxy { O{0} m O{0} m O{0} m }
+{% 
+ (\DTLplotlegendx[#1]{#2}[#3]{#4}, 
+ \DTLplotlegendy[#1]{#2}[#5]{#6})% 
+ } 
+\begin{document}
+\DTLplot{growthdata,growthdata2}{
+ style=both,% lines and markers
+ line-colors={brown,blue,lime,black,orange},
+ mark-colors={magenta,teal,green,violet,cyan},
+ lines={
+  \pgfsetdash{}{0pt},% solid line
+  \pgfsetdash{{1pt}{3pt}}{0pt},
+  \pgfsetdash{{5pt}{5pt}{1pt}{5pt}}{0pt},
+  \pgfsetdash{{4pt}{2pt}}{0pt},
+  \pgfsetdash{{1pt}{1pt}{2pt}{2pt}{2pt}{1pt}}{0pt}
+ },
+ marks={
+  \pgfuseplotmark{o},
+  \pgfuseplotmark{square},
+  \pgfuseplotmark{diamond},
+  \pgfuseplotmark{asterisk},
+  \pgfuseplotmark{star}
+ },
+ x={Exp1Time,Exp2Time,Exp3Time},
+ y={Exp1Count,Exp2Count,Exp3Count},
+ x-label={Time ($t$)},y-label={Log Count},
+ legend, legend-offset={-10pt,0pt},
+ width=2.5in,height=2.5in
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example162.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example163.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example163.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example163.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example163.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example163.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example163.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example163.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example163.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example163.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example163.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example163.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example163.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example163.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,79 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 163 Scatter Plot with the Same Line Colour for Each Stream in a Given Database (Two Databases, Multiple Sets of Data)
+% Label: "ex:growthscatter6col2dbgroupstyles"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{scontents}% to write test file with TABs preserved
+\begin{scontents}[write-out={growth.tsv},overwrite]
+Experiment 1		Experiment 2	
+Time	Log Count	Time	Log Count
+0	2.9	0	3.31
+15	3.14	10	3.45
+30	3.26	25	3.61
+45	4.01	40	3.76
+60	4.2	55	3.89
+\end{scontents}
+
+\begin{scontents}[write-out={growth2.tsv},overwrite]
+Experiment 1		Experiment 2		Experiment 3	
+Time	Log Count	Time	Log Count	Time	Log Count
+0	3.21	0	3.39	0	3.28
+15	3.43	10	3.51	10	3.45
+30	3.68	25	3.65	20	3.57
+45	4.4	40	3.84	30	3.64
+60	4.8	55	3.92	40	3.95
+\end{scontents}
+
+\usepackage{dataplot}
+\usepackage{siunitx}
+\DTLsetup{store-datum}
+\DTLread[
+ name=growthdata, format=tsv,csv-skip-lines=1,
+ keys={Exp1Time,Exp1Count,Exp2Time,Exp2Count}
+]{growth}% growth.tsv
+ \DTLread[
+ name=growthdata2, format=tsv,csv-skip-lines=1,
+ keys={Exp1Time,Exp1Count,Exp2Time,Exp2Count,Exp3Time,Exp3Count}
+]{growth2}% growth2.tsv
+ 
+
+\DTLplotlegendsetname{growthdata}{\qty{6}{\degreeCelsius}}
+\DTLplotlegendsetname{growthdata2}{\qty{8}{\degreeCelsius}}
+\DTLplotlegendsetxlabel{Exp1Time}{$t_1$}
+\DTLplotlegendsetxlabel{Exp2Time}{$t_2$}
+\DTLplotlegendsetxlabel{Exp3Time}{$t_3$}
+\DTLplotlegendsetylabel{Exp1Count}{$N_1$}
+\DTLplotlegendsetylabel{Exp2Count}{$N_2$}
+\DTLplotlegendsetylabel{Exp3Count}{$N_3$} \RenewDocumentCommand \DTLplotlegendxy { O{0} m O{0} m O{0} m }
+{% 
+ (\DTLplotlegendx[#1]{#2}[#3]{#4}, 
+ \DTLplotlegendy[#1]{#2}[#5]{#6})% 
+ } 
+\begin{document}
+\DTLplot{growthdata,growthdata2}{
+ style=both, group-styles={line-color},
+ line-colors={brown,blue,lime,black,orange},
+ mark-colors={magenta,teal,green,violet,cyan},
+ lines={
+  \pgfsetdash{}{0pt},% solid line
+  \pgfsetdash{{1pt}{3pt}}{0pt},
+  \pgfsetdash{{5pt}{5pt}{1pt}{5pt}}{0pt},
+  \pgfsetdash{{4pt}{2pt}}{0pt},
+  \pgfsetdash{{1pt}{1pt}{2pt}{2pt}{2pt}{1pt}}{0pt}
+ },
+ marks={
+  \pgfuseplotmark{o},
+  \pgfuseplotmark{square},
+  \pgfuseplotmark{diamond},
+  \pgfuseplotmark{asterisk},
+  \pgfuseplotmark{star}
+ },
+ x={Exp1Time,Exp2Time,Exp3Time},
+ y={Exp1Count,Exp2Count,Exp3Count},
+ x-label={Time ($t$)},y-label={Log Count},
+ legend, legend-offset={-10pt,0pt},
+ width=2.5in,height=2.5in
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example163.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example164.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example164.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example164.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example164.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example164.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example164.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example164.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example164.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example164.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example164.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example164.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example164.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example164.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,76 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 164 Scatter Plot with Plot Marks Reset (Two Databases, Multiple Sets of Data)
+% Label: "ex:growthscatter6col2dbresetstyles"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{scontents}% to write test file with TABs preserved
+\begin{scontents}[write-out={growth.tsv},overwrite]
+Experiment 1		Experiment 2	
+Time	Log Count	Time	Log Count
+0	2.9	0	3.31
+15	3.14	10	3.45
+30	3.26	25	3.61
+45	4.01	40	3.76
+60	4.2	55	3.89
+\end{scontents}
+
+\begin{scontents}[write-out={growth2.tsv},overwrite]
+Experiment 1		Experiment 2		Experiment 3	
+Time	Log Count	Time	Log Count	Time	Log Count
+0	3.21	0	3.39	0	3.28
+15	3.43	10	3.51	10	3.45
+30	3.68	25	3.65	20	3.57
+45	4.4	40	3.84	30	3.64
+60	4.8	55	3.92	40	3.95
+\end{scontents}
+
+\usepackage{dataplot}
+\usepackage{siunitx}
+\DTLsetup{store-datum}
+\DTLread[
+ name=growthdata, format=tsv,csv-skip-lines=1,
+ keys={Exp1Time,Exp1Count,Exp2Time,Exp2Count}
+]{growth}% growth.tsv
+ \DTLread[
+ name=growthdata2, format=tsv,csv-skip-lines=1,
+ keys={Exp1Time,Exp1Count,Exp2Time,Exp2Count,Exp3Time,Exp3Count}
+]{growth2}% growth2.tsv
+ 
+
+\DTLplotlegendsetname{growthdata}{\qty{6}{\degreeCelsius}}
+\DTLplotlegendsetname{growthdata2}{\qty{8}{\degreeCelsius}}
+\DTLplotlegendsetxlabel{Exp1Time}{$t_1$}
+\DTLplotlegendsetxlabel{Exp2Time}{$t_2$}
+\DTLplotlegendsetxlabel{Exp3Time}{$t_3$}
+\DTLplotlegendsetylabel{Exp1Count}{$N_1$}
+\DTLplotlegendsetylabel{Exp2Count}{$N_2$}
+\DTLplotlegendsetylabel{Exp3Count}{$N_3$} \RenewDocumentCommand \DTLplotlegendxy { O{0} m O{0} m O{0} m }
+{% 
+ (\DTLplotlegendx[#1]{#2}[#3]{#4}, 
+ \DTLplotlegendy[#1]{#2}[#5]{#6})% 
+ } 
+\begin{document}
+\DTLplot{growthdata,growthdata2}{
+ style=both, group-styles={line-color},
+ style-resets={mark-style},
+ line-colors={brown,blue,lime,black,orange},
+ mark-colors={magenta,teal,green,violet,cyan},
+ lines={
+  \pgfsetdash{}{0pt}% solid line
+  },
+ marks={
+  \pgfuseplotmark{o},
+  \pgfuseplotmark{square},
+  \pgfuseplotmark{diamond},
+  \pgfuseplotmark{asterisk},
+  \pgfuseplotmark{star}
+ },
+ x={Exp1Time,Exp2Time,Exp3Time},
+ y={Exp1Count,Exp2Count,Exp3Count},
+ x-label={Time ($t$)},y-label={Log Count},
+ legend, legend-offset={-10pt,0pt},
+ width=2.5in,height=2.5in
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example164.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example165.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example165.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example165.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example165.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example165.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example165.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example165.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example165.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example165.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example165.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example165.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example165.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example165.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,38 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 165 Setting the Plot Bounds
+% Label: "ex:plotbounds"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\begin{filecontents}[noheader,overwrite]{growth1.csv}
+Time,Experiment 1,Experiment 2
+0,3.13,3.4
+15,3.42,3.45
+30,3.67,3.5
+45,4.2,3.64
+60,4.9,3.8
+\end{filecontents}
+
+\begin{filecontents}[noheader,overwrite]{growth2.csv}
+Time,Experiment 1,Experiment 2
+0,3.14,3.2
+15,3.51,3.53
+30,3.79,3.61
+45,4.5,4.25
+60,5.1,4.9
+\end{filecontents}
+
+\usepackage{dataplot}
+\DTLsetup{store-datum}
+\DTLread[name=growth1]{growth1.csv}
+\DTLread[name=growth2]{growth2.csv} 
+\begin{document}
+ \DTLplot{growth1,growth2}{
+ x=Time,
+ y={Experiment 1,Experiment 2},
+ x-label={Time ($t$)}, y-label={Log Count},
+ min-y=3,max-y=6,
+ style=lines, width=2.5in, height=2.5in
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example165.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example166.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example166.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example166.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example166.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example166.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example166.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example166.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example166.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example166.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example166.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example166.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example166.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example166.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,39 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 166 Rounding the Tick Labels
+% Label: "ex:plotround"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\begin{filecontents}[noheader,overwrite]{growth1.csv}
+Time,Experiment 1,Experiment 2
+0,3.13,3.4
+15,3.42,3.45
+30,3.67,3.5
+45,4.2,3.64
+60,4.9,3.8
+\end{filecontents}
+
+\begin{filecontents}[noheader,overwrite]{growth2.csv}
+Time,Experiment 1,Experiment 2
+0,3.14,3.2
+15,3.51,3.53
+30,3.79,3.61
+45,4.5,4.25
+60,5.1,4.9
+\end{filecontents}
+
+\usepackage{dataplot}
+\DTLsetup{store-datum}
+\DTLread[name=growth1]{growth1.csv}
+\DTLread[name=growth2]{growth2.csv} 
+\begin{document}
+\DTLplot{growth1,growth2}{
+ x=Time,
+ y={Experiment 1,Experiment 2},
+ x-label={Time ($t$)}, y-label={Log Count},
+ min-y=3,max-y=6,
+ round-x=0, round-y=1,
+ style=lines, width=2.5in, height=2.5in
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example166.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example167.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example167.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example167.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example167.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example167.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example167.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example167.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example167.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example167.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example167.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example167.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example167.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example167.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,44 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 167 Changing the Axis Style
+% Label: "ex:plotaxisstyle"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\begin{filecontents}[noheader,overwrite]{growth1.csv}
+Time,Experiment 1,Experiment 2
+0,3.13,3.4
+15,3.42,3.45
+30,3.67,3.5
+45,4.2,3.64
+60,4.9,3.8
+\end{filecontents}
+
+\begin{filecontents}[noheader,overwrite]{growth2.csv}
+Time,Experiment 1,Experiment 2
+0,3.14,3.2
+15,3.51,3.53
+30,3.79,3.61
+45,4.5,4.25
+60,5.1,4.9
+\end{filecontents}
+
+\usepackage{dataplot}
+\DTLsetup{store-datum}
+\DTLread[name=growth1]{growth1.csv}
+\DTLread[name=growth2]{growth2.csv} 
+\begin{document}
+\DTLplot{growth1,growth2}{
+ x=Time,
+ y={Experiment 1,Experiment 2},
+ x-label={Time ($t$)}, y-label={Log Count},
+ min-y=3,max-y=6,
+ round-x=0, round-y=1,
+ tick-dir=out, minor-ticks, 
+% this will add an arrow head at the end of the axes but it will clash with the end tick mark:
+ axis-style={->,thick},
+% extend the axes to avoid a clash:
+ % extend-x-axis=0.5, extend-y-axis=0.5,
+ style=lines, width=3in, height=2.5in
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example167.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example168.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example168.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example168.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example168.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example168.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example168.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example168.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example168.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example168.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example168.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example168.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example168.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example168.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,40 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 168 Grid
+% Label: "ex:plotgrid"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\begin{filecontents}[noheader,overwrite]{growth1.csv}
+Time,Experiment 1,Experiment 2
+0,3.13,3.4
+15,3.42,3.45
+30,3.67,3.5
+45,4.2,3.64
+60,4.9,3.8
+\end{filecontents}
+
+\begin{filecontents}[noheader,overwrite]{growth2.csv}
+Time,Experiment 1,Experiment 2
+0,3.14,3.2
+15,3.51,3.53
+30,3.79,3.61
+45,4.5,4.25
+60,5.1,4.9
+\end{filecontents}
+
+\usepackage{dataplot}
+\DTLsetup{store-datum}
+\DTLread[name=growth1]{growth1.csv}
+\DTLread[name=growth2]{growth2.csv} 
+\begin{document}
+\DTLplot{growth1,growth2}{
+ x=Time,
+ y={Experiment 1,Experiment 2},
+ x-label={Time ($t$)}, y-label={Log Count},
+ min-y=3,max-y=6,
+ round-x=0, round-y=1,
+ grid, minor-ticks,
+ style=lines, width=3in, height=2.5in
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example168.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example169.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example169.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example169.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example169.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example169.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example169.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example169.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example169.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example169.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example169.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example169.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example169.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example169.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,41 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 169 Custom Grid Lines
+% Label: "ex:plotcustomgrid"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\begin{filecontents}[noheader,overwrite]{growth1.csv}
+Time,Experiment 1,Experiment 2
+0,3.13,3.4
+15,3.42,3.45
+30,3.67,3.5
+45,4.2,3.64
+60,4.9,3.8
+\end{filecontents}
+
+\begin{filecontents}[noheader,overwrite]{growth2.csv}
+Time,Experiment 1,Experiment 2
+0,3.14,3.2
+15,3.51,3.53
+30,3.79,3.61
+45,4.5,4.25
+60,5.1,4.9
+\end{filecontents}
+
+\usepackage{dataplot}
+\DTLsetup{store-datum}
+\DTLread[name=growth1]{growth1.csv}
+\DTLread[name=growth2]{growth2.csv} 
+\begin{document}
+\DTLplot{growth1,growth2}{
+ x=Time,
+ y={Experiment 1,Experiment 2},
+ x-label={Time ($t$)}, y-label={Log Count},
+ min-y=3,max-y=6,
+ round-x=0, round-y=1,
+ grid, major-grid-style={gray,ultra thick}, minor-grid-style={}, 
+ minor-ticks,
+ style=lines, width=3in, height=2.5in
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example169.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example170.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example170.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example170.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example170.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example170.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example170.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example170.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example170.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example170.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example170.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example170.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example170.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example170.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,30 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 170 Plot Encapsulated in a Box
+% Label: "ex:plotbox"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\begin{filecontents}[noheader,overwrite]{growth1.csv}
+Time,Experiment 1,Experiment 2
+0,3.13,3.4
+15,3.42,3.45
+30,3.67,3.5
+45,4.2,3.64
+60,4.9,3.8
+\end{filecontents}
+
+\usepackage{dataplot}
+\DTLsetup{store-datum}
+\DTLread[name=growth1]{growth1.csv} 
+\begin{document}
+\DTLplot{growth1}{
+ x=Time,
+ y={Experiment 1,Experiment 2},
+ x-label={Time ($t$)}, y-label={Log Count},
+ legend, round=0, minor-ticks, 
+ min-y=3,max-y=5,y-tick-gap=1,
+ tick-label-offset=0pt,box,
+ width=2.5in, height=2.5in
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example170.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example171.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example171.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example171.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example171.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example171.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example171.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example171.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example171.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example171.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example171.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example171.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example171.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example171.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,31 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 171 Plot Encapsulated in a Box Without Ticks
+% Label: "ex:plotboxticksnone"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\begin{filecontents}[noheader,overwrite]{growth1.csv}
+Time,Experiment 1,Experiment 2
+0,3.13,3.4
+15,3.42,3.45
+30,3.67,3.5
+45,4.2,3.64
+60,4.9,3.8
+\end{filecontents}
+
+\usepackage{dataplot}
+\DTLsetup{store-datum}
+\DTLread[name=growth1]{growth1.csv} 
+\begin{document}
+\DTLplot{growth1}{
+ x=Time,
+ y={Experiment 1,Experiment 2},
+ x-label={Time ($t$)}, y-label={Log Count},
+ legend, round=0, minor-ticks, 
+ min-y=3,max-y=5,y-tick-gap=1,
+ tick-label-offset=0pt,
+ box, box-ticks=none,
+ width=2.5in, height=2.5in
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example171.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example172.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example172.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example172.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example172.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example172.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example172.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example172.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example172.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example172.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example172.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example172.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example172.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example172.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,34 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 172 Positive and Negative Axes
+% Label: "ex:plotxy"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\begin{filecontents}[noheader,overwrite]{xydata.csv}
+X,Y
+-3.5,-2.75
+-3,3
+-2.5,-1
+-1,1.5
+1,-4.2
+2.6,1.8
+3.2,-0.4
+\end{filecontents}
+
+\usepackage{dataplot}
+\DTLsetup{store-datum}
+\DTLread[name=xydata]{xydata} 
+\begin{document}
+Beware of narrow tick gaps! 
+
+\DTLplot{xydata}{
+ x=X, y={Y},
+ tick-dir=out,
+ % consider switching to max-x-label and max-y-label instead in the following to reduce overlap:
+ x-label={$x$}, y-label={$y$},
+ % consider changing the tick label offset and font size to reduce clutter:
+ % tick-label-style={font=\small}, tick-label-offset=0pt,
+ style=lines, width=3in, height=3in
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example172.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example173.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example173.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example173.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example173.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example173.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example173.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example173.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example173.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example173.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example173.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example173.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example173.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example173.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,31 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 173 Extending the Axes
+% Label: "ex:plotxyextend"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\begin{filecontents}[noheader,overwrite]{xydata.csv}
+X,Y
+-3.5,-2.75
+-3,3
+-2.5,-1
+-1,1.5
+1,-4.2
+2.6,1.8
+3.2,-0.4
+\end{filecontents}
+
+\usepackage{dataplot}
+\DTLsetup{store-datum}
+\DTLread[name=xydata]{xydata} 
+\begin{document}
+ \DTLplot{xydata}{
+ x=X, y={Y},
+ tick-dir=out, x-tick-gap=1, round-x=0, round-y=1,
+ extend-x-axis={0,1}, extend-y-axis={0,0.5},
+ tick-label-style={font=\small}, tick-label-offset=0pt,
+ max-x-label={$x$}, max-y-label={$y$},
+ style=lines, width=3in, height=3in
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example173.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example174.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example174.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example174.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example174.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example174.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example174.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example174.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example174.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example174.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example174.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example174.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example174.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example174.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,35 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 174 Changing the Tick Label Node Style
+% Label: "ex:plotxynodestyle"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\begin{filecontents}[noheader,overwrite]{xydata.csv}
+X,Y
+-3.5,-2.75
+-3,3
+-2.5,-1
+-1,1.5
+1,-4.2
+2.6,1.8
+3.2,-0.4
+\end{filecontents}
+
+\usepackage{dataplot}
+\DTLsetup{store-datum}
+\DTLread[name=xydata]{xydata} 
+
+\renewcommand{\DTLplotdisplayticklabel}[1]{\ensuremath{#1}} 
+\begin{document}
+ \DTLplot{xydata}{
+ x=X, y={Y},
+ tick-dir=out, x-tick-gap=1, round-x=0, round-y=1,
+ extend-x-axis={0,1}, extend-y-axis={0,0.5},
+ x-tick-label-style={font=\small},
+ y-tick-label-style={anchor=south east,inner sep=1pt,rotate=45,font=\small},
+ tick-label-offset=0pt,
+ max-x-label={$x$}, max-y-label={$y$},
+ style=lines, width=3in, height=3in
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example174.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example175.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example175.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example175.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example175.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example175.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example175.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example175.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example175.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example175.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example175.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example175.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example175.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example175.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,34 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 175 Side Axes
+% Label: "ex:plotxysideaxes"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\begin{filecontents}[noheader,overwrite]{xydata.csv}
+X,Y
+-3.5,-2.75
+-3,3
+-2.5,-1
+-1,1.5
+1,-4.2
+2.6,1.8
+3.2,-0.4
+\end{filecontents}
+
+\usepackage{dataplot}
+\DTLsetup{store-datum}
+\DTLread[name=xydata]{xydata} 
+
+\renewcommand{\DTLplotdisplayticklabel}[1]{\ensuremath{#1}}
+
+\begin{document}
+\DTLplot{xydata}{
+ x=X, y={Y},
+ tick-gap=1, round=0,
+ tick-label-style={font=\small},
+ tick-label-offset=0pt,
+ minor-ticks, side-axes,
+ style=lines, width=3in, height=3in
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example175.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example176.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example176.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example176.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example176.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example176.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example176.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example176.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example176.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example176.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example176.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example176.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example176.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example176.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,33 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 176 Side-Axes, Extended Axes and Boxed
+% Label: "ex:plotboxextendedsideaxes"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\begin{filecontents}[noheader,overwrite]{growth1.csv}
+Time,Experiment 1,Experiment 2
+0,3.13,3.4
+15,3.42,3.45
+30,3.67,3.5
+45,4.2,3.64
+60,4.9,3.8
+\end{filecontents}
+
+\usepackage{dataplot}
+\DTLsetup{store-datum}
+\DTLread[name=growth1]{growth1.csv} 
+\begin{document}
+\DTLplot{growth1}{
+ x=Time,
+ y={Experiment 1,Experiment 2},
+ x-label={Time ($t$)}, y-label={Log Count},
+ legend, round=0, minor-ticks,
+ min-y=3,max-y=5,y-tick-gap=1,
+ tick-label-offset=0pt, box,
+ side-axes,
+ extend-x-axis={5},
+ extend-y-axis={0.5},
+ width=2.5in, height=2.5in
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example176.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example177.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example177.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example177.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example177.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example177.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example177.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example177.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example177.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example177.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example177.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example177.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example177.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example177.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,33 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 177 No Side-Axes, Extended Axes and Boxed
+% Label: "ex:plotboxextendednosideaxes"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\begin{filecontents}[noheader,overwrite]{growth1.csv}
+Time,Experiment 1,Experiment 2
+0,3.13,3.4
+15,3.42,3.45
+30,3.67,3.5
+45,4.2,3.64
+60,4.9,3.8
+\end{filecontents}
+
+\usepackage{dataplot}
+\DTLsetup{store-datum}
+\DTLread[name=growth1]{growth1.csv} 
+\begin{document}
+\DTLplot{growth1}{
+ x=Time,
+ y={Experiment 1,Experiment 2},
+ x-label={Time ($t$)}, y-label={Log Count},
+ legend, round=0, minor-ticks,
+ min-y=3,max-y=5,y-tick-gap=1,
+ tick-label-offset=0pt, box,
+ side-axes=false,% default
+ extend-x-axis={5},
+ extend-y-axis={0.5},
+ width=2.5in, height=2.5in
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example177.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example178.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example178.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example178.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example178.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example178.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example178.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example178.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example178.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example178.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example178.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example178.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example178.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example178.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,42 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 178 Redefining the Start and End Hooks
+% Label: "ex:plotxyhooks"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\begin{filecontents}[noheader,overwrite]{xydata.csv}
+X,Y
+-3.5,-2.75
+-3,3
+-2.5,-1
+-1,1.5
+1,-4.2
+2.6,1.8
+3.2,-0.4
+\end{filecontents}
+
+\usepackage{dataplot}
+\DTLsetup{store-datum}
+\DTLread[name=xydata]{xydata} 
+
+\renewcommand{\DTLplotdisplayticklabel}[1]{\ensuremath{#1}}
+\renewcommand{\DTLplotatbegintikz}{\draw (0,0) node[anchor=north east] {0};}
+\renewcommand{\DTLplotatendtikz}{
+ \draw[blue,dotted] (\DTLminX,\DTLminY) -- (\DTLmaxX, \DTLminY)
+ node[right] {$y_{\min} = \DTLminY$};
+ \draw[blue,dotted] (\DTLminX,\DTLmaxY) -- (\DTLmaxX, \DTLmaxY)
+ node[right] {$y_{\max} = \DTLmaxY$};
+ } 
+\begin{document}
+\DTLplot{xydata}{
+ x=X, y={Y},
+ tick-dir=out, tick-gap=1, round=0,
+ extend-axes={0,0.5}, 
+ tick-label-style={font=\small},
+ tick-label-offset=0pt,
+ axis-style={->,thick},
+ max-x-label={$x$}, max-y-label={$y$},
+ style=lines, width=3in, height=3in
+} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example178.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example179.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example179.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example179.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example179.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example179.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example179.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example179.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example179.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example179.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example179.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example179.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example179.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example179.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,105 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 179 Bibliography Sorted by Author
+% Label: "ex:sortauthor"
+% arara: pdflatex
+% arara: bibtex
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\begin{filecontents}[noheader,overwrite]{sample2.bib}
+ at Article{duck2018,
+ Author = {Dickie Duck and José Arara and Polly Parrot},
+ Title = {Avian Friendship},
+ Journal = {Fowl Times},
+ Year = 2018,
+ Volume = 7,
+ Number = 5,
+ Pages = "1032--5"
+}
+ at BOOK{duck2016,
+ AUTHOR = {Dickie Duck},
+ TITLE = {Feathered stunt doubles: \emph{The Birds} and other films},
+ PUBLISHER = {Duck Duck Goose},
+ YEAR = 2016
+}
+ at book{macaw,
+ author = {Prof Macaw},
+ title = {Annotated notes on the \emph{Duck and Goose} chronicles},
+ publisher = {Duck Duck Goose},
+ year = 2012
+ }
+ at inproceedings{parrot2021a,
+ author = {Polly Parrot},
+ title = {Who's a Pretty Polly? {T}he surge of avian chatbots},
+ booktitle = {Avian Intelligence},
+ month = jan,
+ year = 2021
+}
+ at inproceedings{parrot2021b,
+ author = {Polly Parrot},
+ title = {Pollybot: the next generation in avian translators},
+ booktitle = {Avian Advances},
+ month = apr,
+ year = 2021
+}
+ at phdthesis{ing2020,
+ author = {Bor Ing},
+ title = {\emph{Duck and Goose}: an allegory for modern times?},
+ school = {Department of Literature, University of Somewhere},
+ month = mar,
+ year = 2010
+}
+ at booklet{parrots2013,
+ author = {Polly Parrot and Dickie Duck},
+ title = {\emph{Duck and Goose} Cheat Sheet},
+ howpublished = {Limited print run},
+ address = {Dubious Student Resources},
+ year = 2013
+}
+ at book{parrot2012,
+ author = {von Parrot, Jr, Ann},
+ title = {My Friend is a Duck},
+ publisher = {Duck Duck Goose},
+ year = 2012,
+}
+ at book{quackalot,
+ author = {Sir Quackalot},
+ title = {The Adventures of Duck and Goose},
+ publisher = {Duck Duck Goose},
+ year = 2011
+}
+ at techreport{zebra2022,
+ author = {Zoë Zebra and Mabel Canary},
+ title = {Health and Safety when Handling Mind-Controlling Cookies},
+ institution = {Secret Lab of Experimental Stuff},
+ month = {22 } # MAR,
+ year = 2014
+}
+ at manual{canary2015,
+ author = {Mabel Canary},
+ title = {Ray Gun User Guide},
+ organization = {Secret Lab of Experimental Stuff},
+ edition = "2nd",
+ year = 2015
+}
+ at book{fan1992,
+ author = {Éli-Fant, Nellie},
+ title = {The Duckinator},
+ publisher = {Duck Duck Goose},
+ year = 1992,
+ note = {A cyborg from the future travels to the past to scramble some eggs.}
+}
+ at misc{henpecked,
+ title = {Henpecked: Time for a Coup in the Coop!},
+ howpublished = {Flyer}
+} 
+\end{filecontents}
+\usepackage[style=abbrv,locales=en]{databib} 
+\begin{document}
+\nocite{*}
+\DTLloadbbl{mybib}{sample2}
+\DTLsortdata[encap=\DTLbibsortencap]
+ {mybib}{Author={replacements=Title},Title}
+\DTLbibliography{mybib} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example179.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example180.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example180.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example180.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example180.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example180.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example180.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example180.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example180.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example180.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example180.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example180.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example180.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example180.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,116 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 180 Tabulate Bib Data
+% Label: "ex:bibtable"
+% arara: pdflatex
+% arara: bibtex
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[10pt]{article}
+\pagestyle{empty}
+\begin{filecontents}[noheader,overwrite]{sample2.bib}
+ at Article{duck2018,
+ Author = {Dickie Duck and José Arara and Polly Parrot},
+ Title = {Avian Friendship},
+ Journal = {Fowl Times},
+ Year = 2018,
+ Volume = 7,
+ Number = 5,
+ Pages = "1032--5"
+}
+ at BOOK{duck2016,
+ AUTHOR = {Dickie Duck},
+ TITLE = {Feathered stunt doubles: \emph{The Birds} and other films},
+ PUBLISHER = {Duck Duck Goose},
+ YEAR = 2016
+}
+ at book{macaw,
+ author = {Prof Macaw},
+ title = {Annotated notes on the \emph{Duck and Goose} chronicles},
+ publisher = {Duck Duck Goose},
+ year = 2012
+ }
+ at inproceedings{parrot2021a,
+ author = {Polly Parrot},
+ title = {Who's a Pretty Polly? {T}he surge of avian chatbots},
+ booktitle = {Avian Intelligence},
+ month = jan,
+ year = 2021
+}
+ at inproceedings{parrot2021b,
+ author = {Polly Parrot},
+ title = {Pollybot: the next generation in avian translators},
+ booktitle = {Avian Advances},
+ month = apr,
+ year = 2021
+}
+ at phdthesis{ing2020,
+ author = {Bor Ing},
+ title = {\emph{Duck and Goose}: an allegory for modern times?},
+ school = {Department of Literature, University of Somewhere},
+ month = mar,
+ year = 2010
+}
+ at booklet{parrots2013,
+ author = {Polly Parrot and Dickie Duck},
+ title = {\emph{Duck and Goose} Cheat Sheet},
+ howpublished = {Limited print run},
+ address = {Dubious Student Resources},
+ year = 2013
+}
+ at book{parrot2012,
+ author = {von Parrot, Jr, Ann},
+ title = {My Friend is a Duck},
+ publisher = {Duck Duck Goose},
+ year = 2012,
+}
+ at book{quackalot,
+ author = {Sir Quackalot},
+ title = {The Adventures of Duck and Goose},
+ publisher = {Duck Duck Goose},
+ year = 2011
+}
+ at techreport{zebra2022,
+ author = {Zoë Zebra and Mabel Canary},
+ title = {Health and Safety when Handling Mind-Controlling Cookies},
+ institution = {Secret Lab of Experimental Stuff},
+ month = {22 } # MAR,
+ year = 2014
+}
+ at manual{canary2015,
+ author = {Mabel Canary},
+ title = {Ray Gun User Guide},
+ organization = {Secret Lab of Experimental Stuff},
+ edition = "2nd",
+ year = 2015
+}
+ at book{fan1992,
+ author = {Éli-Fant, Nellie},
+ title = {The Duckinator},
+ publisher = {Duck Duck Goose},
+ year = 1992,
+ note = {A cyborg from the future travels to the past to scramble some eggs.}
+}
+ at misc{henpecked,
+ title = {Henpecked: Time for a Coup in the Coop!},
+ howpublished = {Flyer}
+} 
+\end{filecontents}
+\usepackage[style=abbrv,locales=en]{databib} 
+\begin{document}
+\nocite{*}
+\DTLloadbbl{mybib}{sample2}
+\DTLsortdata{mybib}{Author={replacements=Title},Title}
+\RenewDocumentCommand\DTLdisplaydbAddItem{ m m m m m m m m }
+{% 
+ \DTLifnull{#2}% 
+ {\appto#1{---}}% do a dash if null
+ {% 
+   \ifnum#7=1 
+    \appto#1{\DTLformatbibnamelist {#2}{\value{DTLmaxauthors}}{\DTLformatauthor}}% 
+   \else 
+    \appto#1{#3{#2}}% 
+   \fi 
+ }% 
+}
+\DTLdisplaydb*[only-keys={Author,Title}]{mybib} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example180.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example181.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example181.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example181.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example181.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example181.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example181.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example181.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example181.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example181.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example181.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example181.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example181.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example181.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,117 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 181 List of Publications Since a Given Year
+% Label: "ex:bibsince"
+% arara: pdflatex
+% arara: bibtex
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\begin{filecontents}[noheader,overwrite]{sample1.bib}
+ at STRING{TUGBOAT = {TUGboat}}
+ at STRING{PRACTEX = {The Prac\TeX\ Journal}}
+ at ARTICLE{Flom2005,
+ author = {Peter Flom and Hans Hagen and Joe Hogg and Nicola Talbot and Philip Taylor and Christina Thiele and David Walden},
+ title = {What is {\TeX}?},
+ journal = PRACTEX,
+ year = 2005,
+ volume = 3,
+ url = {http://tug.org/pracjourn/2005-3/walden-whatis}
+}
+ at ARTICLE{tugboat2016,
+ title = "Localisation of {\TeX} documents: tracklang",
+ author = "Nicola Talbot",
+ month = NOV,
+ year = 2016,
+ volume = 37,
+ number = 3,
+ journal = TUGBOAT,
+ url = "http://www.tug.org/TUGboat/tb37-3/tb117talbot.pdf"
+}
+ at ARTICLE{tugboat2022,
+ title = "bib2gls: Standalone entries and repeated lists (a little book of poisons)",
+ author = "Nicola Talbot",
+ month = APR,
+ year = 2022,
+ volume = 43,
+ number = 1,
+ journal = TUGBOAT,
+ doi = {10.47397/tb/43-1/tb133talbot-bib2gls-reorder},
+ url = "https://tug.org/TUGboat/tb43-1/tb133talbot-bib2gls-reorder.pdf"
+}
+ at BOOK{Talbot2012a,
+ title = {{\LaTeX} for Complete Novices},
+ publisher = {Dickimaw Books},
+ year = 2012,
+ month = SEP,
+ author = {Nicola L C Talbot},
+ volume = 1,
+ series = {Dickimaw {\LaTeX} Series},
+ isbn = {978-1-909440-00-5},
+ url = {https://www.dickimaw-books.com/latex/novices/}
+}
+ at INPROCEEDINGS{Talbot2020,
+ author = {Nicola L C Talbot},
+ title = {Sorting Glossaries with bib2gls},
+ booktitle = {{LaTeX}.net},
+ year = 2020,
+ month = JUL,
+ url = {https://latex.net/sorting-glossaries-with-bib2gls/}
+}
+ at BOOK{Talbot2013a,
+ title = {Using {\LaTeX} to Write a {PhD} Thesis},
+ publisher = {Dickimaw Books},
+ year = 2013,
+ month = MAR,
+ author = {Nicola L C Talbot},
+ volume = 2,
+ series = {Dickimaw {\LaTeX} Series},
+ isbn = {978-1-909440-02-9},
+ url = {http://www.dickimaw-books.com/latex/thesis/}
+}
+ at INPROCEEDINGS{Talbot2012c,
+ author = {Nicola L C Talbot},
+ title = {Creating a glossary without using an external indexing application},
+ booktitle = {{LaTeX}.net},
+ year = 2012,
+ month = SEP,
+ url = {https://latex.net/glossary-without-external-app/},
+ note={Originally posted on the {\LaTeX} Community's Know How Section}
+}
+ at BOOK{Talbot2014a,
+ title = {{\LaTeX} for Administrative Work},
+ publisher = {Dickimaw Books},
+ month = SEP,
+ year = 2014,
+ author = {Nicola L C Talbot},
+ volume = 3,
+ series = {Dickimaw {\LaTeX} Series},
+ isbn = {978-1-909440-07-4},
+ url = {https://www.dickimaw-books.com/latex/admin/}
+}
+ at BOOK{Talbot2013b,
+ title = {Quack, Quack, Quack. Give My Hat Back!},
+ publisher = {Dickimaw Books},
+ year = 2013,
+ month = MAY,
+ author = {Nicola L C Talbot and Magdalene Pritchett},
+ isbn = {978-1-909440-03-6},
+ url = {https://www.dickimaw-books.com/fiction/kids/duck/}
+}
+ at BOOK{Talbot2012b,
+ title = {The Foolish Hedgehog},
+ publisher = {Dickimaw Books},
+ year = 2012,
+ month = NOV,
+ author = {Nicola L C Talbot and Magdalene Pritchett},
+ isbn = {978-1-909440-01-2},
+ url = {https://www.dickimaw-books.com/fiction/kids/hedgehog/}
+} 
+\end{filecontents}
+\usepackage{databib} 
+\begin{document}
+\nocite{*}
+\DTLloadbbl{mybib}{sample1}
+\DTLsortdata{mybib}{Year=descending,Month=descending}
+\DTLbibliography[\DTLbibfieldisge{Year}{2013}]{mybib} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example181.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example182.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example182.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example182.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example182.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example182.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example182.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example182.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example182.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example182.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example182.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example182.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example182.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example182.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,124 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 182 Five Most Recent Publications
+% Label: "ex:topnbib"
+% arara: pdflatex
+% arara: bibtex
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\begin{filecontents}[noheader,overwrite]{sample1.bib}
+ at STRING{TUGBOAT = {TUGboat}}
+ at STRING{PRACTEX = {The Prac\TeX\ Journal}}
+ at ARTICLE{Flom2005,
+ author = {Peter Flom and Hans Hagen and Joe Hogg and Nicola Talbot and Philip Taylor and Christina Thiele and David Walden},
+ title = {What is {\TeX}?},
+ journal = PRACTEX,
+ year = 2005,
+ volume = 3,
+ url = {http://tug.org/pracjourn/2005-3/walden-whatis}
+}
+ at ARTICLE{tugboat2016,
+ title = "Localisation of {\TeX} documents: tracklang",
+ author = "Nicola Talbot",
+ month = NOV,
+ year = 2016,
+ volume = 37,
+ number = 3,
+ journal = TUGBOAT,
+ url = "http://www.tug.org/TUGboat/tb37-3/tb117talbot.pdf"
+}
+ at ARTICLE{tugboat2022,
+ title = "bib2gls: Standalone entries and repeated lists (a little book of poisons)",
+ author = "Nicola Talbot",
+ month = APR,
+ year = 2022,
+ volume = 43,
+ number = 1,
+ journal = TUGBOAT,
+ doi = {10.47397/tb/43-1/tb133talbot-bib2gls-reorder},
+ url = "https://tug.org/TUGboat/tb43-1/tb133talbot-bib2gls-reorder.pdf"
+}
+ at BOOK{Talbot2012a,
+ title = {{\LaTeX} for Complete Novices},
+ publisher = {Dickimaw Books},
+ year = 2012,
+ month = SEP,
+ author = {Nicola L C Talbot},
+ volume = 1,
+ series = {Dickimaw {\LaTeX} Series},
+ isbn = {978-1-909440-00-5},
+ url = {https://www.dickimaw-books.com/latex/novices/}
+}
+ at INPROCEEDINGS{Talbot2020,
+ author = {Nicola L C Talbot},
+ title = {Sorting Glossaries with bib2gls},
+ booktitle = {{LaTeX}.net},
+ year = 2020,
+ month = JUL,
+ url = {https://latex.net/sorting-glossaries-with-bib2gls/}
+}
+ at BOOK{Talbot2013a,
+ title = {Using {\LaTeX} to Write a {PhD} Thesis},
+ publisher = {Dickimaw Books},
+ year = 2013,
+ month = MAR,
+ author = {Nicola L C Talbot},
+ volume = 2,
+ series = {Dickimaw {\LaTeX} Series},
+ isbn = {978-1-909440-02-9},
+ url = {http://www.dickimaw-books.com/latex/thesis/}
+}
+ at INPROCEEDINGS{Talbot2012c,
+ author = {Nicola L C Talbot},
+ title = {Creating a glossary without using an external indexing application},
+ booktitle = {{LaTeX}.net},
+ year = 2012,
+ month = SEP,
+ url = {https://latex.net/glossary-without-external-app/},
+ note={Originally posted on the {\LaTeX} Community's Know How Section}
+}
+ at BOOK{Talbot2014a,
+ title = {{\LaTeX} for Administrative Work},
+ publisher = {Dickimaw Books},
+ month = SEP,
+ year = 2014,
+ author = {Nicola L C Talbot},
+ volume = 3,
+ series = {Dickimaw {\LaTeX} Series},
+ isbn = {978-1-909440-07-4},
+ url = {https://www.dickimaw-books.com/latex/admin/}
+}
+ at BOOK{Talbot2013b,
+ title = {Quack, Quack, Quack. Give My Hat Back!},
+ publisher = {Dickimaw Books},
+ year = 2013,
+ month = MAY,
+ author = {Nicola L C Talbot and Magdalene Pritchett},
+ isbn = {978-1-909440-03-6},
+ url = {https://www.dickimaw-books.com/fiction/kids/duck/}
+}
+ at BOOK{Talbot2012b,
+ title = {The Foolish Hedgehog},
+ publisher = {Dickimaw Books},
+ year = 2012,
+ month = NOV,
+ author = {Nicola L C Talbot and Magdalene Pritchett},
+ isbn = {978-1-909440-01-2},
+ url = {https://www.dickimaw-books.com/fiction/kids/hedgehog/}
+} 
+\end{filecontents}
+\usepackage{databib}
+\usepackage{url}
+\DTLloadbbl{mybib}{sample1}
+\DTLsortdata{mybib}{Year=descending,Month=descending}
+\renewcommand{\DTLendbibitem}{% 
+ \DTLifbibfieldexists{ISBN}% 
+ { ISBN: \DTLbibfield{ISBN}.}{}% 
+ \DTLifbibfieldexists{Url}% 
+ { \DTLencapbibfield{\url}{Url}}{}% 
+ } 
+\begin{document}
+\nocite{*}
+\DTLbibliography[\value{DTLbibrow}<5]{mybib} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example182.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example183-page1.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example183-page1.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example183-page1.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example183-page1.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example183-page1.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example183.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example183.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example183.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example183.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example183.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example183.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example183.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example183.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,216 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 183 Compact Bibliography
+% Label: "ex:compactbib"
+% arara: pdflatex
+% arara: bibtex
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[10pt]{article}
+\pagestyle{empty}
+\begin{filecontents}[noheader,overwrite]{sample1.bib}
+ at STRING{TUGBOAT = {TUGboat}}
+ at STRING{PRACTEX = {The Prac\TeX\ Journal}}
+ at ARTICLE{Flom2005,
+ author = {Peter Flom and Hans Hagen and Joe Hogg and Nicola Talbot and Philip Taylor and Christina Thiele and David Walden},
+ title = {What is {\TeX}?},
+ journal = PRACTEX,
+ year = 2005,
+ volume = 3,
+ url = {http://tug.org/pracjourn/2005-3/walden-whatis}
+}
+ at ARTICLE{tugboat2016,
+ title = "Localisation of {\TeX} documents: tracklang",
+ author = "Nicola Talbot",
+ month = NOV,
+ year = 2016,
+ volume = 37,
+ number = 3,
+ journal = TUGBOAT,
+ url = "http://www.tug.org/TUGboat/tb37-3/tb117talbot.pdf"
+}
+ at ARTICLE{tugboat2022,
+ title = "bib2gls: Standalone entries and repeated lists (a little book of poisons)",
+ author = "Nicola Talbot",
+ month = APR,
+ year = 2022,
+ volume = 43,
+ number = 1,
+ journal = TUGBOAT,
+ doi = {10.47397/tb/43-1/tb133talbot-bib2gls-reorder},
+ url = "https://tug.org/TUGboat/tb43-1/tb133talbot-bib2gls-reorder.pdf"
+}
+ at BOOK{Talbot2012a,
+ title = {{\LaTeX} for Complete Novices},
+ publisher = {Dickimaw Books},
+ year = 2012,
+ month = SEP,
+ author = {Nicola L C Talbot},
+ volume = 1,
+ series = {Dickimaw {\LaTeX} Series},
+ isbn = {978-1-909440-00-5},
+ url = {https://www.dickimaw-books.com/latex/novices/}
+}
+ at INPROCEEDINGS{Talbot2020,
+ author = {Nicola L C Talbot},
+ title = {Sorting Glossaries with bib2gls},
+ booktitle = {{LaTeX}.net},
+ year = 2020,
+ month = JUL,
+ url = {https://latex.net/sorting-glossaries-with-bib2gls/}
+}
+ at BOOK{Talbot2013a,
+ title = {Using {\LaTeX} to Write a {PhD} Thesis},
+ publisher = {Dickimaw Books},
+ year = 2013,
+ month = MAR,
+ author = {Nicola L C Talbot},
+ volume = 2,
+ series = {Dickimaw {\LaTeX} Series},
+ isbn = {978-1-909440-02-9},
+ url = {http://www.dickimaw-books.com/latex/thesis/}
+}
+ at INPROCEEDINGS{Talbot2012c,
+ author = {Nicola L C Talbot},
+ title = {Creating a glossary without using an external indexing application},
+ booktitle = {{LaTeX}.net},
+ year = 2012,
+ month = SEP,
+ url = {https://latex.net/glossary-without-external-app/},
+ note={Originally posted on the {\LaTeX} Community's Know How Section}
+}
+ at BOOK{Talbot2014a,
+ title = {{\LaTeX} for Administrative Work},
+ publisher = {Dickimaw Books},
+ month = SEP,
+ year = 2014,
+ author = {Nicola L C Talbot},
+ volume = 3,
+ series = {Dickimaw {\LaTeX} Series},
+ isbn = {978-1-909440-07-4},
+ url = {https://www.dickimaw-books.com/latex/admin/}
+}
+ at BOOK{Talbot2013b,
+ title = {Quack, Quack, Quack. Give My Hat Back!},
+ publisher = {Dickimaw Books},
+ year = 2013,
+ month = MAY,
+ author = {Nicola L C Talbot and Magdalene Pritchett},
+ isbn = {978-1-909440-03-6},
+ url = {https://www.dickimaw-books.com/fiction/kids/duck/}
+}
+ at BOOK{Talbot2012b,
+ title = {The Foolish Hedgehog},
+ publisher = {Dickimaw Books},
+ year = 2012,
+ month = NOV,
+ author = {Nicola L C Talbot and Magdalene Pritchett},
+ isbn = {978-1-909440-01-2},
+ url = {https://www.dickimaw-books.com/fiction/kids/hedgehog/}
+} 
+\end{filecontents}
+\begin{filecontents}[noheader,overwrite]{sample2.bib}
+ at Article{duck2018,
+ Author = {Dickie Duck and José Arara and Polly Parrot},
+ Title = {Avian Friendship},
+ Journal = {Fowl Times},
+ Year = 2018,
+ Volume = 7,
+ Number = 5,
+ Pages = "1032--5"
+}
+ at BOOK{duck2016,
+ AUTHOR = {Dickie Duck},
+ TITLE = {Feathered stunt doubles: \emph{The Birds} and other films},
+ PUBLISHER = {Duck Duck Goose},
+ YEAR = 2016
+}
+ at book{macaw,
+ author = {Prof Macaw},
+ title = {Annotated notes on the \emph{Duck and Goose} chronicles},
+ publisher = {Duck Duck Goose},
+ year = 2012
+ }
+ at inproceedings{parrot2021a,
+ author = {Polly Parrot},
+ title = {Who's a Pretty Polly? {T}he surge of avian chatbots},
+ booktitle = {Avian Intelligence},
+ month = jan,
+ year = 2021
+}
+ at inproceedings{parrot2021b,
+ author = {Polly Parrot},
+ title = {Pollybot: the next generation in avian translators},
+ booktitle = {Avian Advances},
+ month = apr,
+ year = 2021
+}
+ at phdthesis{ing2020,
+ author = {Bor Ing},
+ title = {\emph{Duck and Goose}: an allegory for modern times?},
+ school = {Department of Literature, University of Somewhere},
+ month = mar,
+ year = 2010
+}
+ at booklet{parrots2013,
+ author = {Polly Parrot and Dickie Duck},
+ title = {\emph{Duck and Goose} Cheat Sheet},
+ howpublished = {Limited print run},
+ address = {Dubious Student Resources},
+ year = 2013
+}
+ at book{parrot2012,
+ author = {von Parrot, Jr, Ann},
+ title = {My Friend is a Duck},
+ publisher = {Duck Duck Goose},
+ year = 2012,
+}
+ at book{quackalot,
+ author = {Sir Quackalot},
+ title = {The Adventures of Duck and Goose},
+ publisher = {Duck Duck Goose},
+ year = 2011
+}
+ at techreport{zebra2022,
+ author = {Zoë Zebra and Mabel Canary},
+ title = {Health and Safety when Handling Mind-Controlling Cookies},
+ institution = {Secret Lab of Experimental Stuff},
+ month = {22 } # MAR,
+ year = 2014
+}
+ at manual{canary2015,
+ author = {Mabel Canary},
+ title = {Ray Gun User Guide},
+ organization = {Secret Lab of Experimental Stuff},
+ edition = "2nd",
+ year = 2015
+}
+ at book{fan1992,
+ author = {Éli-Fant, Nellie},
+ title = {The Duckinator},
+ publisher = {Duck Duck Goose},
+ year = 1992,
+ note = {A cyborg from the future travels to the past to scramble some eggs.}
+}
+ at misc{henpecked,
+ title = {Henpecked: Time for a Coup in the Coop!},
+ howpublished = {Flyer}
+} 
+\end{filecontents}
+\usepackage[style=abbrv]{databib}
+\renewcommand*{\DTLtwoand}{ \& }
+\renewcommand*{\DTLandlast}{, \& }
+\renewcommand*{\editorname}{ed.}
+\renewcommand*{\editorsname}{eds.}
+\renewcommand*{\pagesname}{pp.}
+\renewcommand*{\pagename}{p.}
+\renewcommand*{\volumename}{vol.}
+\renewcommand*{\numbername}{no.}
+\renewcommand*{\editionname}{ed.}
+\renewcommand*{\techreportname}{T.R.}
+\renewcommand*{\mscthesisname}{MSc thesis}
+\DTLloadbbl{mybib}{sample1,sample2}
+\DTLsortdata{mybib}{Title} 
+\begin{document}
+\nocite{*}
+\DTLbibliography{mybib} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example183.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example184.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example184.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example184.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example184.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example184.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example184.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example184.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example184.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example184.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example184.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example184.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example184.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example184.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,125 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 184 Highlighting a given author
+% Label: "ex:highlightauthor"
+% arara: pdflatex
+% arara: bibtex
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\begin{filecontents}[noheader,overwrite]{sample1.bib}
+ at STRING{TUGBOAT = {TUGboat}}
+ at STRING{PRACTEX = {The Prac\TeX\ Journal}}
+ at ARTICLE{Flom2005,
+ author = {Peter Flom and Hans Hagen and Joe Hogg and Nicola Talbot and Philip Taylor and Christina Thiele and David Walden},
+ title = {What is {\TeX}?},
+ journal = PRACTEX,
+ year = 2005,
+ volume = 3,
+ url = {http://tug.org/pracjourn/2005-3/walden-whatis}
+}
+ at ARTICLE{tugboat2016,
+ title = "Localisation of {\TeX} documents: tracklang",
+ author = "Nicola Talbot",
+ month = NOV,
+ year = 2016,
+ volume = 37,
+ number = 3,
+ journal = TUGBOAT,
+ url = "http://www.tug.org/TUGboat/tb37-3/tb117talbot.pdf"
+}
+ at ARTICLE{tugboat2022,
+ title = "bib2gls: Standalone entries and repeated lists (a little book of poisons)",
+ author = "Nicola Talbot",
+ month = APR,
+ year = 2022,
+ volume = 43,
+ number = 1,
+ journal = TUGBOAT,
+ doi = {10.47397/tb/43-1/tb133talbot-bib2gls-reorder},
+ url = "https://tug.org/TUGboat/tb43-1/tb133talbot-bib2gls-reorder.pdf"
+}
+ at BOOK{Talbot2012a,
+ title = {{\LaTeX} for Complete Novices},
+ publisher = {Dickimaw Books},
+ year = 2012,
+ month = SEP,
+ author = {Nicola L C Talbot},
+ volume = 1,
+ series = {Dickimaw {\LaTeX} Series},
+ isbn = {978-1-909440-00-5},
+ url = {https://www.dickimaw-books.com/latex/novices/}
+}
+ at INPROCEEDINGS{Talbot2020,
+ author = {Nicola L C Talbot},
+ title = {Sorting Glossaries with bib2gls},
+ booktitle = {{LaTeX}.net},
+ year = 2020,
+ month = JUL,
+ url = {https://latex.net/sorting-glossaries-with-bib2gls/}
+}
+ at BOOK{Talbot2013a,
+ title = {Using {\LaTeX} to Write a {PhD} Thesis},
+ publisher = {Dickimaw Books},
+ year = 2013,
+ month = MAR,
+ author = {Nicola L C Talbot},
+ volume = 2,
+ series = {Dickimaw {\LaTeX} Series},
+ isbn = {978-1-909440-02-9},
+ url = {http://www.dickimaw-books.com/latex/thesis/}
+}
+ at INPROCEEDINGS{Talbot2012c,
+ author = {Nicola L C Talbot},
+ title = {Creating a glossary without using an external indexing application},
+ booktitle = {{LaTeX}.net},
+ year = 2012,
+ month = SEP,
+ url = {https://latex.net/glossary-without-external-app/},
+ note={Originally posted on the {\LaTeX} Community's Know How Section}
+}
+ at BOOK{Talbot2014a,
+ title = {{\LaTeX} for Administrative Work},
+ publisher = {Dickimaw Books},
+ month = SEP,
+ year = 2014,
+ author = {Nicola L C Talbot},
+ volume = 3,
+ series = {Dickimaw {\LaTeX} Series},
+ isbn = {978-1-909440-07-4},
+ url = {https://www.dickimaw-books.com/latex/admin/}
+}
+ at BOOK{Talbot2013b,
+ title = {Quack, Quack, Quack. Give My Hat Back!},
+ publisher = {Dickimaw Books},
+ year = 2013,
+ month = MAY,
+ author = {Nicola L C Talbot and Magdalene Pritchett},
+ isbn = {978-1-909440-03-6},
+ url = {https://www.dickimaw-books.com/fiction/kids/duck/}
+}
+ at BOOK{Talbot2012b,
+ title = {The Foolish Hedgehog},
+ publisher = {Dickimaw Books},
+ year = 2012,
+ month = NOV,
+ author = {Nicola L C Talbot and Magdalene Pritchett},
+ isbn = {978-1-909440-01-2},
+ url = {https://www.dickimaw-books.com/fiction/kids/hedgehog/}
+} 
+\end{filecontents}
+\usepackage{databib}
+\renewcommand*{\DTLformatauthor}[4]{% 
+ {% scope the font change
+ \DTLifstringeq{#2}{Talbot}{\bfseries }{}% 
+ \DTLformatforenames{#4} \DTLformatvon{#1}% 
+ \DTLformatsurname{#2}% 
+ \DTLformatjr{#3}% 
+ }% 
+}
+\DTLloadbbl{mybib}{sample1}
+\DTLsortdata{mybib}{Year=descending,Month=descending} 
+\begin{document}
+\nocite{*}
+\DTLbibliography{mybib} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example184.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example185.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example185.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example185.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example185.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example185.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example185.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example185.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example185.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example185.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example185.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example185.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example185.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example185.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,131 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 185 Separate List of Journals and Conference Papers
+% Label: "ex:jcbib"
+% arara: pdflatex
+% arara: bibtex
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\begin{filecontents}[noheader,overwrite]{sample1.bib}
+ at STRING{TUGBOAT = {TUGboat}}
+ at STRING{PRACTEX = {The Prac\TeX\ Journal}}
+ at ARTICLE{Flom2005,
+ author = {Peter Flom and Hans Hagen and Joe Hogg and Nicola Talbot and Philip Taylor and Christina Thiele and David Walden},
+ title = {What is {\TeX}?},
+ journal = PRACTEX,
+ year = 2005,
+ volume = 3,
+ url = {http://tug.org/pracjourn/2005-3/walden-whatis}
+}
+ at ARTICLE{tugboat2016,
+ title = "Localisation of {\TeX} documents: tracklang",
+ author = "Nicola Talbot",
+ month = NOV,
+ year = 2016,
+ volume = 37,
+ number = 3,
+ journal = TUGBOAT,
+ url = "http://www.tug.org/TUGboat/tb37-3/tb117talbot.pdf"
+}
+ at ARTICLE{tugboat2022,
+ title = "bib2gls: Standalone entries and repeated lists (a little book of poisons)",
+ author = "Nicola Talbot",
+ month = APR,
+ year = 2022,
+ volume = 43,
+ number = 1,
+ journal = TUGBOAT,
+ doi = {10.47397/tb/43-1/tb133talbot-bib2gls-reorder},
+ url = "https://tug.org/TUGboat/tb43-1/tb133talbot-bib2gls-reorder.pdf"
+}
+ at BOOK{Talbot2012a,
+ title = {{\LaTeX} for Complete Novices},
+ publisher = {Dickimaw Books},
+ year = 2012,
+ month = SEP,
+ author = {Nicola L C Talbot},
+ volume = 1,
+ series = {Dickimaw {\LaTeX} Series},
+ isbn = {978-1-909440-00-5},
+ url = {https://www.dickimaw-books.com/latex/novices/}
+}
+ at INPROCEEDINGS{Talbot2020,
+ author = {Nicola L C Talbot},
+ title = {Sorting Glossaries with bib2gls},
+ booktitle = {{LaTeX}.net},
+ year = 2020,
+ month = JUL,
+ url = {https://latex.net/sorting-glossaries-with-bib2gls/}
+}
+ at BOOK{Talbot2013a,
+ title = {Using {\LaTeX} to Write a {PhD} Thesis},
+ publisher = {Dickimaw Books},
+ year = 2013,
+ month = MAR,
+ author = {Nicola L C Talbot},
+ volume = 2,
+ series = {Dickimaw {\LaTeX} Series},
+ isbn = {978-1-909440-02-9},
+ url = {http://www.dickimaw-books.com/latex/thesis/}
+}
+ at INPROCEEDINGS{Talbot2012c,
+ author = {Nicola L C Talbot},
+ title = {Creating a glossary without using an external indexing application},
+ booktitle = {{LaTeX}.net},
+ year = 2012,
+ month = SEP,
+ url = {https://latex.net/glossary-without-external-app/},
+ note={Originally posted on the {\LaTeX} Community's Know How Section}
+}
+ at BOOK{Talbot2014a,
+ title = {{\LaTeX} for Administrative Work},
+ publisher = {Dickimaw Books},
+ month = SEP,
+ year = 2014,
+ author = {Nicola L C Talbot},
+ volume = 3,
+ series = {Dickimaw {\LaTeX} Series},
+ isbn = {978-1-909440-07-4},
+ url = {https://www.dickimaw-books.com/latex/admin/}
+}
+ at BOOK{Talbot2013b,
+ title = {Quack, Quack, Quack. Give My Hat Back!},
+ publisher = {Dickimaw Books},
+ year = 2013,
+ month = MAY,
+ author = {Nicola L C Talbot and Magdalene Pritchett},
+ isbn = {978-1-909440-03-6},
+ url = {https://www.dickimaw-books.com/fiction/kids/duck/}
+}
+ at BOOK{Talbot2012b,
+ title = {The Foolish Hedgehog},
+ publisher = {Dickimaw Books},
+ year = 2012,
+ month = NOV,
+ author = {Nicola L C Talbot and Magdalene Pritchett},
+ isbn = {978-1-909440-01-2},
+ url = {https://www.dickimaw-books.com/fiction/kids/hedgehog/}
+} 
+\end{filecontents}
+\usepackage{databib}
+\DTLloadbbl{mybib}{sample1}
+\DTLsortdata{mybib}{Year=descending,Month=descending} 
+\begin{document}
+\nocite{*}
+\renewcommand*{\refname}{Journal Papers}
+\DTLcomputewidestbibentry{\equal{\DBIBentrytype}{article}}
+{mybib}{J\theDTLbibrow}{\widest}
+\begin{thebibliography}{\widest}
+\DTLforeachbibentry[\equal{\DBIBentrytype}{article}]{mybib}{% 
+ \bibitem[J\theDTLbibrow]{\DBIBcitekey} \DTLformatbibentry}
+\end{thebibliography} 
+
+\renewcommand*{\refname}{Conference Papers}
+\DTLcomputewidestbibentry{\equal{\DBIBentrytype}{inproceedings}}
+{mybib}{C\theDTLbibrow}{\widest}
+\begin{thebibliography}{\widest}
+\DTLforeachbibentry[\equal{\DBIBentrytype}{inproceedings}]{mybib}{% 
+ \bibitem[C\theDTLbibrow]{\DBIBcitekey} \DTLformatbibentry}
+\end{thebibliography} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example185.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example186-page1.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example186-page1.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example186-page1.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example186-page1.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example186-page1.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example186-page2.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example186-page2.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example186-page2.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example186-page2.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example186-page2.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example186.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example186.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example186.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example186.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example186.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example186.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example186.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example186.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,133 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 186 Multiple Bibliographies
+% Label: "ex:multibib"
+% arara: pdflatex
+% arara: pdflatex
+% arara: pdflatex
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\begin{filecontents}[noheader,overwrite]{sample1.bib}
+ at STRING{TUGBOAT = {TUGboat}}
+ at STRING{PRACTEX = {The Prac\TeX\ Journal}}
+ at ARTICLE{Flom2005,
+ author = {Peter Flom and Hans Hagen and Joe Hogg and Nicola Talbot and Philip Taylor and Christina Thiele and David Walden},
+ title = {What is {\TeX}?},
+ journal = PRACTEX,
+ year = 2005,
+ volume = 3,
+ url = {http://tug.org/pracjourn/2005-3/walden-whatis}
+}
+ at ARTICLE{tugboat2016,
+ title = "Localisation of {\TeX} documents: tracklang",
+ author = "Nicola Talbot",
+ month = NOV,
+ year = 2016,
+ volume = 37,
+ number = 3,
+ journal = TUGBOAT,
+ url = "http://www.tug.org/TUGboat/tb37-3/tb117talbot.pdf"
+}
+ at ARTICLE{tugboat2022,
+ title = "bib2gls: Standalone entries and repeated lists (a little book of poisons)",
+ author = "Nicola Talbot",
+ month = APR,
+ year = 2022,
+ volume = 43,
+ number = 1,
+ journal = TUGBOAT,
+ doi = {10.47397/tb/43-1/tb133talbot-bib2gls-reorder},
+ url = "https://tug.org/TUGboat/tb43-1/tb133talbot-bib2gls-reorder.pdf"
+}
+ at BOOK{Talbot2012a,
+ title = {{\LaTeX} for Complete Novices},
+ publisher = {Dickimaw Books},
+ year = 2012,
+ month = SEP,
+ author = {Nicola L C Talbot},
+ volume = 1,
+ series = {Dickimaw {\LaTeX} Series},
+ isbn = {978-1-909440-00-5},
+ url = {https://www.dickimaw-books.com/latex/novices/}
+}
+ at INPROCEEDINGS{Talbot2020,
+ author = {Nicola L C Talbot},
+ title = {Sorting Glossaries with bib2gls},
+ booktitle = {{LaTeX}.net},
+ year = 2020,
+ month = JUL,
+ url = {https://latex.net/sorting-glossaries-with-bib2gls/}
+}
+ at BOOK{Talbot2013a,
+ title = {Using {\LaTeX} to Write a {PhD} Thesis},
+ publisher = {Dickimaw Books},
+ year = 2013,
+ month = MAR,
+ author = {Nicola L C Talbot},
+ volume = 2,
+ series = {Dickimaw {\LaTeX} Series},
+ isbn = {978-1-909440-02-9},
+ url = {http://www.dickimaw-books.com/latex/thesis/}
+}
+ at INPROCEEDINGS{Talbot2012c,
+ author = {Nicola L C Talbot},
+ title = {Creating a glossary without using an external indexing application},
+ booktitle = {{LaTeX}.net},
+ year = 2012,
+ month = SEP,
+ url = {https://latex.net/glossary-without-external-app/},
+ note={Originally posted on the {\LaTeX} Community's Know How Section}
+}
+ at BOOK{Talbot2014a,
+ title = {{\LaTeX} for Administrative Work},
+ publisher = {Dickimaw Books},
+ month = SEP,
+ year = 2014,
+ author = {Nicola L C Talbot},
+ volume = 3,
+ series = {Dickimaw {\LaTeX} Series},
+ isbn = {978-1-909440-07-4},
+ url = {https://www.dickimaw-books.com/latex/admin/}
+}
+ at BOOK{Talbot2013b,
+ title = {Quack, Quack, Quack. Give My Hat Back!},
+ publisher = {Dickimaw Books},
+ year = 2013,
+ month = MAY,
+ author = {Nicola L C Talbot and Magdalene Pritchett},
+ isbn = {978-1-909440-03-6},
+ url = {https://www.dickimaw-books.com/fiction/kids/duck/}
+}
+ at BOOK{Talbot2012b,
+ title = {The Foolish Hedgehog},
+ publisher = {Dickimaw Books},
+ year = 2012,
+ month = NOV,
+ author = {Nicola L C Talbot and Magdalene Pritchett},
+ isbn = {978-1-909440-01-2},
+ url = {https://www.dickimaw-books.com/fiction/kids/hedgehog/}
+} 
+\end{filecontents}
+\usepackage[auto]{databib}
+\DTLmultibibs{nonfiction,fiction}
+\DTLloadmbbl{nonfiction}{nonfictionDB}{sample1}
+\DTLloadmbbl{fiction}{fictionDB}{sample1}
+\DTLloadbbl{fullDB}{sample1}
+\DTLsortdata{fullDB}{Year,Month} 
+\begin{document}
+\section{Non Fiction}
+In this section I'm going to describe some \LaTeX work, 
+and in the process I'm going to cite some related
+papers \DTLcite{nonfiction}{tugboat2016,Talbot2012a}. 
+
+\DTLmbibliography{nonfiction}{nonfictionDB} 
+
+\section{Fiction}
+In this section I'm going to describe my fiction, and in the process, I'm going
+to cite some books \DTLcite{fiction}{Talbot2013b,Talbot2012b} 
+
+\DTLmbibliography{fiction}{fictionDB} 
+
+\nocite{*}
+\renewcommand{\refname}{Complete List of Publications}
+\DTLbibliography{fullDB} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example186.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example187.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example187.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example187.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example187.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example187.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example187.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example187.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example187.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example187.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example187.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example187.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example187.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example187.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,40 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 187 Creating an Index
+% Label: "ex:index"
+% arara: pdflatex
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage[locales=en]{datagidx}% requires datatool-english
+ \usepackage[colorlinks]{hyperref}
+\newgidx{index}{Index}% define a database for the index
+\DTLgidxSetDefaultDB{index}% set this as the default
+\newterm{macédoine}
+\newterm{macramé}
+\newterm{élite}
+\newterm{reptile}
+\newterm[seealso=reptile]{crocodylian}
+\newterm[parent=crocodylian]{crocodile}
+\newterm[parent=crocodylian]{alligator}
+\newterm[
+ parent=crocodylian,
+ description={(also cayman)}
+]
+{caiman}
+\newterm[see=caiman]{cayman} 
+\begin{document}
+Here are some words containing accents: \gls{macédoine},
+\gls{macramé} and \gls{élite}. \Gls{élite} starts with an uppercase
+letter. A \gls{crocodylian} is the family of 
+\glspl{reptile} that includes \glspl{crocodile}, \glspl{alligator}
+and \glspl{caiman}. 
+
+\printterms
+[
+ heading={\section*},
+ database=index,
+ prelocation=dotfill,
+ showgroups
+] 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example187.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example188.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example188.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example188.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example188.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example188.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example188.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example188.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example188.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example188.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example188.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example188.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example188.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example188.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,32 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 188 Creating a List of Abbreviations
+% Label: "ex:abbrev"
+% arara: pdflatex
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage{datagidx}
+\usepackage[colorlinks]{hyperref}
+\newgidx{abbreviations}{Abbreviations}% define a database for the abbreviations
+ \DTLgidxSetDefaultDB{abbreviations}% set this as the default
+ % define abbreviations:
+ \newacro{html}{hyper-text markup language}
+\newacro{css}{cascading style sheet}
+% The following overrides the default description:
+ \newacro[description={eXtensible Markup Language}] {xml}{extensible markup language} 
+\begin{document}
+ First use: \acr{xml} and \acr{css}. 
+
+Next use: \acr{xml} and \acr{css}. 
+
+Full form: \gls{xml} and \gls{css}. 
+
+\printterms [
+postdesc=dot,% put a full stop after the description
+ columns=1,% one column page layout
+ namefont={\textbf},% put the name (i.e. the abbreviation) in bold
+ namecase=uc,% make the name upper case
+ style=align% use the 'align' style
+ ] 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example188.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189-page1.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189-page1.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189-page1.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189-page1.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189-page1.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189-page2.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189-page2.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189-page2.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189-page2.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189-page2.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189-page3.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189-page3.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189-page3.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189-page3.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189-page3.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189-page4.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189-page4.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189-page4.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189-page4.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189-page4.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,100 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 189 Mail Merging
+% Label: "ex:mailmerge"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{letter}
+\pagestyle{empty}
+\usepackage[shortcuts]{person}
+\DTLsetup{store-datum,default-name=scores}
+% define database:
+\DTLaction{new}
+% add columns in desired order:
+\DTLaction[key=forename,value={First Name}]{add column}
+\DTLaction[key=surname,value={Surname}]{add column}
+\DTLaction[key=regnum,value={Student Number}]{add column}
+\DTLaction[key=gender]{add column}
+\DTLaction[key=parent]{add column}
+\DTLaction[key=score,value={Score (\%)}]{add column}
+\DTLaction[key=award]{add column}
+% 1st row:
+\DTLaction[
+ assign={ forename = Jane, surname = Brown,
+  regnum = 102647, score = 75, award = {\$1,830},
+  gender = F, parent = {Ms Brown}
+ }
+]{new row}
+% 2nd row:
+\DTLaction[
+ assign={ forename = John, surname = {Smith, Jr},
+  regnum = 102689, score = 68, award = {\$1,560},
+  gender = M, parent = {Mr and Mrs Smith}
+ }
+]{new row}
+% 3rd row:
+\DTLaction[
+ assign={ forename = Quinn, surname = Ó Coinn,
+  regnum = 103294, score = 91, award = {\$3,280},
+  parent = {Mr and Mrs Ó Coinn}
+ }
+]{new row}
+% 4th row:
+\DTLaction[
+ assign={ forename = Evelyn, surname = O'Leary,
+  regnum = 107569, score = 81.5, award = {\$2,460},
+  gender = n, parent = {Prof O'Leary}
+ }
+]{new row}
+% 5th row:
+\DTLaction[
+ assign={ forename = Zoë, surname = Adams,
+  regnum = 105987, score = 52, award = {\$1,250},
+  gender = f, parent = {Mr and Mrs Adams}
+ }
+]{new row}
+% 6th row:
+\DTLaction[
+ assign={ forename = Clare, surname = Vernon,
+  regnum = 104356, score = 45, award = {\$500},
+  gender = Female, parent = {Mr Vernon}
+ }
+]{new row}
+% 7th row:
+\DTLaction[
+ assign={ forename = Roger, surname = Brady,
+  regnum = 106872, score = 58, award = {\$1,350},
+  gender = m, parent = {Dr Brady and Dr Mady}
+ }
+]{new row}
+% 8th row:
+\DTLaction[
+ assign={
+  forename = Andy, surname = Brown, regnum = 103569,
+  score = 42, award = {\$980},
+  gender = male, parent = {Mr Brown and Prof Sepia}
+ }
+]{new row} 
+\begin{document}
+\begin{DTLenvmapdata}
+\begin{letter}{}
+ \DTLmapgetvalues{
+  \Forename=forename,
+  \Surname=surname,
+  \Gender=gender
+ }
+ \newperson*{
+  expand-once-name=\Forename,
+  expand-once-surname=\Surname,
+  gender=\Gender
+ }
+ \opening{Dear \DTLmapget{key=parent}} 
+
+Your \personchild\ \personfullname\ received a score of
+  \DTLmapget{key=score} and was awarded a scholarship of
+  \DTLmapget{key=award}. We look forward to seeing
+  \them\ on \their\ arrival. 
+
+\closing{Yours Sincerely}
+ \end{letter}
+\end{DTLenvmapdata} 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example189.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example190.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example190.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example190.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example190.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example190.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example190.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example190.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example190.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example190.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example190.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example190.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example190.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example190.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,25 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 190 Memorial Order of Service
+% Label: "ex:memorial"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% base-only means that only datatool-base.sty is needed (datatool.sty won't be loaded)
+\usepackage[base-only]{person}
+\newperson*{
+ forenames=Mary Jane,
+ name=Mary,
+ surname=Doe,
+ gender=f
+} 
+\begin{document}
+\begin{center}
+\Large
+In Memory of \personfullname
+\end{center} 
+
+We are gathered here to remember our \personsibling\ \personname.
+\Personpronoun\ will be much missed, and \personpossadj\ 
+family are in our prayers. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example190.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example191.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example191.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example191.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example191.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example191.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example191.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example191.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example191.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example191.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example191.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example191.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example191.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example191.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,25 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 191 Memorial Order of Service (Shortcuts)
+% Label: "ex:memorial2"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% base-only means that only datatool-base.sty is needed (datatool.sty won't be loaded)
+\usepackage[base-only,shortcuts]{person}
+\newperson*{
+ forenames=Mary Jane,
+ name=Mary,
+ surname=Doe,
+ gender=f
+} 
+\begin{document}
+\begin{center}
+\Large
+In Memory of \peoplefullname
+\end{center} 
+
+We are gathered here to remember our \siblings\ \peoplename.
+\They\ will be much missed, and \their\ 
+family are in our prayers. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example191.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example192.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example192.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example192.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example192.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example192.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example192.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example192.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example192.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example192.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example192.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example192.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example192.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example192.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,26 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 192 Baptism Order of Service
+% Label: "ex:baptism"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+\usepackage[ base-only, % datatool-base.sty only, no datatool.sty
+ % uncomment for localisation support (requires datatool-english):
+ % locales=en
+ ]{person}
+\newperson*[john]{ forenames=John Joseph,
+ name=John,
+ gender=male
+}
+\newperson*[jane]{ forenames=Jane Mary,
+ name=Jane,
+ gender=female
+}
+\title{Baptism of}
+\author{\peopleforenames} 
+\begin{document}
+\maketitle \thispagestyle{empty} 
+
+Today we welcome \peoplename\ into God's family, may He guide and protect \peopleobjpronoun. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example192.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example193.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example193.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example193.pdf	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example193.pdf	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example193.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example193.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example193.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example193.png	2025-03-04 21:09:58 UTC (rev 74440)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example193.png	2025-03-04 21:12:09 UTC (rev 74441)

Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example193.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example193.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example193.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example193.tex	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,32 @@
+% This file is embedded in datatool-user.pdf version 3.0 2025-03-03
+% Example 193 Baptism Order of Service (Shortcuts and Localisation)
+% Label: "ex:baptism2"
+% arara: pdflatex
+% arara: pdfcrop
+\documentclass[12pt]{article}
+\pagestyle{empty}
+% requires both datetime2-english and datatool-english
+ \usepackage[en-GB]{datetime2}
+\usepackage[
+ base-only, % datatool-base.sty only, no datatool.sty
+ shortcuts
+]{person}
+\newperson*[john]{
+ forenames=John Joseph,
+ name=John,
+ gender=male
+}
+\newperson*[jane]{
+ forenames=Jane Mary,
+ name=Jane,
+ gender=female
+}
+\title{Baptism of}
+\author{\peopleforenames} 
+\begin{document}
+\maketitle
+\thispagestyle{empty} 
+
+% Note that if only one person is defined, the singular form will be used instead so this works regardless of one or more people.
+Today we welcome \peoplename\ into God's family, may He guide and protect \them. 
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user-examples/datatool-user-example193.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/datatool/datatool-user.html
===================================================================
--- trunk/Master/texmf-dist/doc/latex/datatool/datatool-user.html	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/datatool/datatool-user.html	2025-03-04 21:12:09 UTC (rev 74441)
@@ -0,0 +1,47371 @@
+
+<!DOCTYPE html>
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta name="generator" content="TeX Parser Library">
+<!-- MathJax -->
+<script type="text/x-mathjax-config">
+MathJax.Hub.Config({tex2jax:
+{
+  inlineMath: [['\\(','\\)']],
+  displayMath: [ ['\\[','\\]'] ]
+}});
+</script>
+<script type="text/javascript" async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
+</script>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<title>The datatool Bundle: Databases and Data Manipulation</title>
+<style type="text/css">
+#main {margin-left: 5%; margin-right: 15%; }
+div.tomain {position: absolute; left: 0pt; width: 5%; text-align: right; font-size: x-small;}
+div.tomain a {text-decoration: none;}
+.labellink { font-size: x-small; margin-left: 1em; margin-right: 1em;}
+div.marginleft {position: absolute; left: 0pt; width: 5%;}
+div.marginright {position: absolute; right: 0pt; width: 15%;}
+div.displaymath { display: block; text-align: center; }
+span.eqno { float: right; }
+div.table { display: block; text-align: center; }
+td.left-outer { width: 50%; text-align: left; }
+td.right-outer { width: 50%; text-align: right; }
+.linkicon { display: inline-block; }
+.linkiconleft { display: inline-block; padding-right: .25em; }
+.linkiconright { display: inline-block; padding-left: .25em; }
+a.icon { white-space: nowrap; }
+a.icon span { white-space: normal; }
+table.tabular-cm
+{
+  display: inline-table;
+  border-collapse: collapse;
+  text-align: center;
+  vertical-align: middle;
+}
+table.tabular-cb
+{
+  display: inline-table;
+  border-collapse: collapse;
+  text-align: center;
+  vertical-align: bottom;
+}
+table.tabular-ct
+{
+  display: inline-table;
+  border-collapse: collapse;
+  text-align: center;
+  vertical-align: top;
+}
+table.tabular-lm
+{
+  display: inline-table;
+  border-collapse: collapse;
+  text-align: left;
+  vertical-align: middle;
+}
+table.tabular-lb
+{
+  display: inline-table;
+  border-collapse: collapse;
+  text-align: left;
+  vertical-align: bottom;
+}
+table.tabular-lt
+{
+  display: inline-table;
+  border-collapse: collapse;
+  text-align: left;
+  vertical-align: top;
+}
+table.tabular-rm
+{
+  display: inline-table;
+  border-collapse: collapse;
+  text-align: right;
+  vertical-align: middle;
+}
+table.tabular-rb
+{
+  display: inline-table;
+  border-collapse: collapse;
+  text-align: right;
+  vertical-align: bottom;
+}
+table.tabular-rt
+{
+  display: inline-table;
+  border-collapse: collapse;
+  text-align: right;
+  vertical-align: top;
+}
+table.tabular-m
+{
+  display: inline-table;
+  border-collapse: collapse;
+  vertical-align: middle;
+}
+table.tabular-b
+{
+  display: inline-table;
+  border-collapse: collapse;
+  vertical-align: bottom;
+}
+table.tabular-t
+{
+  display: inline-table;
+  border-collapse: collapse;
+  vertical-align: top;
+}
+table.tabular-l
+{
+  display: inline-table;
+  border-collapse: collapse;
+  text-align: left;
+}
+table.tabular-c
+{
+  display: inline-table;
+  border-collapse: collapse;
+  text-align: center;
+}
+table.tabular-r
+{
+  display: inline-table;
+  border-collapse: collapse;
+  text-align: right;
+}
+pre { white-space: pre-wrap; }
+div.figure { display: block; text-align: center; }
+div.caption { display: block; text-align: center; }
+div.marginpar { float: right; }
+div.abstract { display: block; margin-right: 4em; margin-left: 4em;}
+div.title { display: block; text-align: center; font-size: x-large;}
+div.author { display: block; text-align: center; font-size: large;}
+div.date { display: block; text-align: center; font-size: medium;}
+div.bibliography { display: block; margin-left: 4em; }
+div.bibitem { display: inline; float: left; text-indent: -3em; }
+span.numberline { display: inline-block; width: 3em; }
+.toc-subsection span.numberline { display: inline-block; width: 3em; }
+.toc-subsubsection span.numberline { display: inline-block; width: 4em; }
+.toc-paragraph span.numberline { display: inline-block; width: 5em; }
+.toc-subparagraph span.numberline { display: inline-block; width: 6em; }
+nav ul { list-style-type: none; }
+ at media screen and (min-width: 500px)
+{
+ nav#doc-nav { background: #fffc; padding: 5px; }
+ div.nav-content { position: fixed; top: 10px; right: 15px; max-width: 14%; max-height: 75vh; overflow: auto; z-index: 1; hyphens: auto; }
+}
+div.nav-content ul { padding-left: 10px; }
+div.prevpage { float: left; max-width: 30%; }
+div.uppage { display: inline-block;  max-width: 30%; }
+div.nextpage { float: right;  max-width: 30%; }
+footer.doc-nav { margin-top: 5px; margin-bottom: 5px; padding-right: 15px; text-align: center; }
+a.current { font-weight: bold; }
+.toc-part { padding-left: 0em; padding-bottom: 1ex; padding-top: 1ex; font-weight: bold; font-size: large;}
+.toc-chapter { padding-left: 0em; padding-bottom: .25ex; padding-top: .25ex; font-weight: bold; }
+.toc-section { padding-left: .5em; }
+.toc-subsection { padding-left: 1.5em; }
+.toc-subsubsection { padding-left: 2em; }
+.toc-paragraph { padding-left: 2.5em; }
+.toc-subparagraph { padding-left: 3em; }
+.part { font-size: x-large; font-weight: bold; }
+div.bigskip { padding-left: 0pt; padding-right: 0pt; padding-top: 0pt; padding-bottom: 2ex;}
+div.medskip { padding-left: 0pt; padding-right: 0pt; padding-top: 0pt; padding-bottom: 1ex;}
+div.smallskip { padding-left: 0pt; padding-right: 0pt; padding-top: 0pt; padding-bottom: .5ex;}
+span.quad { padding-left: 0pt; padding-right: 1em; padding-top: 0pt; padding-bottom: 0pt;}
+span.qquad { padding-left: 0pt; padding-right: 2em; padding-top: 0pt; padding-bottom: 0pt;}
+.displaylist { display: block; list-style-type: none; }
+.inlinelist { display: inline; }
+dl.inlinetitle dt { display: inline-block; margin-left: 0; margin-right: 1em;}
+dl.inlinetitle dt.header { display: block; }
+dl.inlinetitle dd { display: inline; margin: 0; }
+dl.inlinetitle dd::after { display: block; content: ''; }
+dl.inlineblock dt { display: inline-block; margin-left: 0; margin-right: 1em;}
+dl.inlineblock dt.header { display: block; }
+dl.inlineblock dd { display: inline; margin: 0; }
+dl.inlineblock dd::after { display: block; content: ''; }
+.clearfix::after { content: ""; clear: both; display: table; }
+span.inlineitem { margin-right: .5em; margin-left: .5em; }
+span.numitem { float: left; margin-left: -3em; text-align: right; min-width: 2.5em; }
+span.bulletitem { float: left; margin-left: -1em; }
+span.descitem { font: normal; font-weight: bold; }
+div.indexspace { min-height: 2ex; }
+.cell-noborder-nosep-r {border-top: none; border-right: none; border-left: none; padding-left: 0px; padding-right: 0px; text-align: right; }
+.left-cell {border-top: none; border-right: none; border-left: none; padding-left: 5.000000pt; padding-right: 5.000000pt; text-align: left; }
+.cell-noborder-bothsep-l {border-top: none; border-right: none; border-left: none; padding-left: 6.000000pt; padding-right: 6.000000pt; text-align: left; }
+.cell-noborder-bothsep-r {border-top: none; border-right: none; border-left: none; padding-left: 6.000000pt; padding-right: 6.000000pt; text-align: right; }
+.cell-noborder-bothsep-halfwidth {border-top: none; border-right: none; border-left: none; padding-left: 6.000000pt; width: 50.000000%; padding-right: 6.000000pt; text-align: left; }
+.cell-noborder-nosep-l {border-top: none; border-right: none; border-left: none; padding-left: 0px; padding-right: 0px; text-align: left; }
+.cell-noborder-rightsep-l {border-top: none; border-right: none; border-left: none; padding-left: 6.000000pt; padding-right: 0px; text-align: left; }
+.cell-noborder-leftsep-r {border-top: none; border-right: none; border-left: none; padding-left: 6.000000pt; padding-right: 0px; text-align: right; }
+.cell-noborder-bothsep-c {border-top: none; border-right: none; border-left: none; padding-left: 6.000000pt; padding-right: 6.000000pt; text-align: center; }
+.mid-cell {border-top: none; border-right: none; border-left: none; padding-left: 5.000000pt; padding-right: 5.000000pt; text-align: center; }
+.cell-noborder-bothsep-eightypc {border-top: none; border-right: none; border-left: none; padding-left: 6.000000pt; width: 80.000000%; padding-right: 6.000000pt; text-align: left; }
+.cell-noborder-rightsep-c {border-top: none; border-right: none; border-left: none; padding-left: 0px; padding-right: 6.000000pt; text-align: center; }
+.cell-noborder-bothsep-threequarterwidth {border-top: none; border-right: none; border-left: none; padding-left: 6.000000pt; width: 75.000000%; padding-right: 6.000000pt; text-align: left; }
+.cell-noborder-rightsep-r {border-top: none; border-right: none; border-left: none; padding-left: 0px; padding-right: 6.000000pt; text-align: right; }
+.cell-noborder-bothsep-quarterwidth {border-top: none; border-right: none; border-left: none; padding-left: 6.000000pt; width: 25.000000%; padding-right: 6.000000pt; text-align: left; }
+.cell-noborder-rightsep-c {border-top: none; border-right: none; border-left: none; padding-left: 6.000000pt; padding-right: 0px; text-align: center; }
+.cell-noborder-rightsep-l {border-top: none; border-right: none; border-left: none; padding-left: 0px; padding-right: 6.000000pt; text-align: left; }
+.cell-noborder-nosep-c {border-top: none; border-right: none; border-left: none; padding-left: 0px; padding-right: 0px; text-align: center; }
+.right-cell {border-top: none; border-right: none; border-left: none; padding-left: 5.000000pt; padding-right: 5.000000pt; text-align: right; }
+span.mbox {border-style: none; }
+span.frame {border-style: solid; border-width: 1.000000pt; padding: 0.000000pt; }
+span.boxed {text-align: center; vertical-align: middle; border-style: solid; border-width: 2.000000pt; padding: 0.000000pt; width: 1.000000em; height: 1.000000em; display: inline-block; }
+span.circled {text-align: center; vertical-align: middle; border-style: solid; border-width: 2.000000pt; padding: 1.000000pt; border-radius: 50.000000%;width: 1.000000em; height: 1.000000em; display: inline-block; }
+span.overlapped {text-align: center; border-style: none; padding: 0.000000pt; width: 1.000000em; height: 1.000000em; display: inline-block; }
+span.overlapper {text-align: center; border-style: none; padding: 0.000000pt; margin-left: -1.000000em; width: 1.000000em; height: 1.000000em; display: inline-block; }
+span.overlappertop {text-align: center; vertical-align: top; border-style: none; padding: 0.000000pt; margin-left: -1.000000em; width: 1.000000em; height: 1.000000em; display: inline-block; }
+span.partialoverlapper {text-align: center; border-style: none; padding: 0.000000pt; margin-left: -0.750000em; width: 1.000000em; height: 1.000000em; display: inline-block; }
+span.quarterleft {text-align: center; vertical-align: middle; border-style: none; padding: 0.000000pt; transform: rotate(-90.000000deg); -ms-transform: rotate(-90.000000deg); -webkit-transform: rotate(-90.000000deg); display: inline-block; }
+span.quarterright {text-align: center; vertical-align: middle; border-style: none; padding: 0.000000pt; transform: rotate(90.000000deg); -ms-transform: rotate(90.000000deg); -webkit-transform: rotate(90.000000deg); display: inline-block; }
+span.eighthleft {text-align: center; vertical-align: middle; border-style: none; padding: 0.000000pt; transform: rotate(-45.000000deg); -ms-transform: rotate(-45.000000deg); -webkit-transform: rotate(-45.000000deg); display: inline-block; }
+span.eighthright {text-align: center; vertical-align: middle; border-style: none; padding: 0.000000pt; transform: rotate(45.000000deg); -ms-transform: rotate(45.000000deg); -webkit-transform: rotate(45.000000deg); display: inline-block; }
+span.halfturn {text-align: center; vertical-align: middle; border-style: none; padding: 0.000000pt; transform: rotate(180.000000deg); -ms-transform: rotate(180.000000deg); -webkit-transform: rotate(180.000000deg); display: inline-block; }
+span.fwsdisabledicon {border-style: none; color: gray; }
+span.fwsactiveicon {border-style: none; color: green; }
+table.glossary-ruled { border-top: solid 2px; border-bottom: solid 2px; border-collapse: collapse; }
+tr.glossary-ruled { border-bottom: solid 1px; }
+.cell-left-border { border-left: solid 1px; }
+table.glossary-ruled td { vertical-align: text-top; }
+table.glossary td { vertical-align: text-top; }
+div.glossary-children{ padding-left: 1em; }
+span.glsshowtargetfonttext {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; font-size: x-small; border-style: none; }
+dl.topic dt { display: block; }
+dl.topic dt dl dt { display: inline-block; }
+dl.topic dt dl dd { display: inline; }
+dl.topic dt dl dd::after { display: block; content: ''; }
+dfn { font-style: normal; font-weight: bold; } a { text-decoration: none; } a:hover { text-decoration: underline; } div.tablefns { border-top: solid; } div.example { border-bottom: solid silver; padding: 20px; } div.example div.title { font-weight: bold; font-size: large; } .pageimage { padding: 10px; vertical-align: top; } .boolsuffix { text-decoration: underline; }
+strong.strong {font-weight: bold; border-style: none; }
+em.booktitle {font-style: italic; font-variant: normal; border-style: none; }
+div.sidenote {font-size: x-small; float: right; border-style: none; }
+span.advantage {border-style: none; color: green; }
+span.disadvantage {border-style: none; color: red; }
+code.code {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; }
+code.cmd {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; }
+span.cmdfmt {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; }
+span.comment {border-style: none; color: rgb(94,94,94); }
+code.csfmt {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; color: rgb(84,111,26); }
+span.csfmtfont {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; }
+span.csfmtcolourfont {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; color: rgb(84,111,26); }
+span.appfmt {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; }
+span.styfmt {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; }
+span.clsfmt {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; }
+span.envfmt {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; }
+span.optfmt {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; }
+span.csoptfmt {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; color: rgb(104,34,139); }
+span.styoptfmt {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; color: rgb(104,34,139); }
+span.clsoptfmt {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; }
+span.ctrfmt {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; }
+span.filefmt {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; }
+span.extfmt {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; }
+span.deprecatedorbannedfmt {border-style: none; color: rgb(204,0,0); }
+span.summarylocfmt {font-style: italic; font-variant: normal; border-style: none; }
+code.cbeg {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; }
+code.cend {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; }
+span.longargfmt {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; }
+span.shortargfmt {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; }
+span.qt {border-style: none; }
+code.qtt {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; }
+em.metainner {font-style: italic; font-variant: normal; border-style: none; }
+span.meta {font-family: "DejaVu Serif", "Liberation Serif", "Noto Serif", serif; border-style: none; }
+span.faded {border-style: none; color: gray; }
+em.initvalnotefmtinner {font-style: italic; font-variant: normal; border-style: none; }
+span.initvalnotefmt {font-family: "DejaVu Serif", "Liberation Serif", "Noto Serif", serif; border-style: none; color: black; }
+span.summarytag {font-style: italic; font-variant: normal; border-style: none; }
+em.boolsuffix {font-style: italic; font-variant: normal; border-style: none; }
+div.tablefn {font-size: x-small; border-style: none; }
+div.tablefns {text-align: left; border-style: none; width: 80.000000%; overflow: auto; }
+div.importanttitle {text-align: right; border-style: none; color: red; }
+div.important {border-style: solid; border-color: red; border-width: 2.000000pt; padding: 2.000000pt; background-color: rgb(255,235,235); }
+div.warningtitle {text-align: right; border-style: none; color: red; }
+div.warning {border-style: solid; border-color: red; border-width: 2.000000pt; padding: 2.000000pt; background-color: rgb(255,235,235); }
+div.informationtitle {text-align: right; border-style: none; color: rgb(0,128,128); }
+div.information {border-style: solid; border-color: rgb(0,128,128); border-width: 2.000000pt; padding: 2.000000pt; background-color: rgb(240,255,255); }
+div.terminaltitle {text-align: right; border-style: none; color: black; }
+pre.terminal {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: solid; border-color: black; border-width: 2.000000pt; padding: 2.000000pt; background-color: rgb(250,250,250); }
+div.transcripttitle {text-align: right; border-style: none; color: black; }
+pre.transcript {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: solid; border-color: black; border-width: 2.000000pt; padding: 2.000000pt; background-color: rgb(250,250,250); }
+span.floatrightbox {float: right; border-style: none; }
+div.noteBox {border-style: none; }
+div.pinnedboxtitle {text-align: right; border-style: none; color: black; }
+div.pinnedbox {border-style: solid; border-color: black; border-width: 2.000000pt; padding: 2.000000pt; background-color: rgb(255,255,191); }
+div.settingsboxtitle {text-align: right; border-style: none; color: black; }
+div.settingsbox {border-style: solid; border-color: black; border-width: 2.000000pt; padding: 2.000000pt; background-color: rgb(255,255,227); }
+div.ctrboxtitle {text-align: right; border-style: none; color: black; }
+div.ctrbox {border-style: solid; border-color: black; border-width: 2.000000pt; padding: 2.000000pt; background-color: rgb(255,255,191); }
+div.optionvalueboxtitle {text-align: right; border-style: none; color: black; }
+div.optionvaluebox {border-style: solid; border-color: black; border-width: 2.000000pt; padding: 2.000000pt; background-color: rgb(255,255,245); }
+div.filedef {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; text-align: left; border-style: none; }
+div.codeboxtitle {text-align: right; border-style: none; color: black; }
+pre.codebox {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: solid; border-color: black; border-width: 2.000000pt; padding: 2.000000pt; background-color: rgb(250,250,250); }
+div.resultboxtitle {text-align: right; border-style: none; color: black; }
+div.resultbox {border-style: solid; border-color: black; border-width: 2.000000pt; padding: 2.000000pt; }
+div.badcodeboxtitle {text-align: right; border-style: none; color: black; }
+pre.badcodebox {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: solid; border-color: black; border-width: 2.000000pt; padding: 2.000000pt; background-color: rgb(250,250,250); }
+div.unicodeboxtitle {text-align: right; border-style: none; color: black; }
+pre.unicodebox {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: solid; border-color: black; border-width: 2.000000pt; padding: 2.000000pt; background-color: rgb(250,250,250); }
+pre.compactcodebox {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: solid; border-color: black; border-width: 1.000000pt; padding: 2.000000pt; background-color: rgb(250,250,250); }
+pre.sidebysidecode {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; font-size: small; vertical-align: top; border-style: solid; border-color: black; border-width: 1.000000pt; padding: 2.000000pt; margin-right: 3.000000%; margin-top: 0.000000pt; background-color: rgb(250,250,250); width: 47.000000%; overflow: auto; display: inline-block; }
+div.sidebysideresult {vertical-align: top; border-style: solid; border-color: black; border-width: 1.000000pt; padding: 2.000000pt; margin-top: 0.000000pt; width: 47.000000%; overflow: auto; display: inline-block; }
+div.optionsummarybox {border-style: solid; border-color: black; border-width: 1.000000pt; padding: 2.000000pt; background-color: rgb(255,255,191); }
+div.optionvaluesummarybox {border-style: none; margin-left: 40.000000pt; }
+div.defnbox {border-style: solid; border-color: black; border-width: 1.000000pt; padding: 2.000000pt; background-color: rgb(255,255,191); }
+div.nlctuserguideidx0 {border-style: none; margin-left: 0.000000pt; }
+div.nlctuserguideidx1 {border-style: none; margin-left: 20.000000pt; }
+div.nlctuserguideidx2 {border-style: none; margin-left: 40.000000pt; }
+div.nlctuserguideidx3 {border-style: none; margin-left: 60.000000pt; }
+div.nlctusernavbox {border-style: none; }
+div.abstractheader {font-weight: bold; text-align: center; border-style: none; }
+span.crossreftag {font-style: italic; font-variant: normal; border-style: none; }
+div.crossref {border-style: none; margin-left: 1.000000em; }
+span.termslocfmt {font-style: italic; font-variant: normal; border-style: none; }
+code.actionfmt {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; color: rgb(82,139,139); }
+code.displayoptfmt {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; color: rgb(54,100,139); }
+code.actionoptfmt {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; color: rgb(0,0,139); }
+code.iooptfmt {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; color: rgb(54,100,139); }
+code.listsoptfmt {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; color: rgb(54,100,139); }
+code.numericoptfmt {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; color: rgb(54,100,139); }
+code.datetimeoptfmt {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; color: rgb(54,100,139); }
+code.mapoptfmt {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; color: rgb(54,100,139); }
+code.sortdataoptfmt {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; color: rgb(54,100,139); }
+code.gidxoptfmt {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; color: rgb(54,100,139); }
+code.compareoptfmt {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; color: rgb(85,26,139); }
+code.sortdatacolumnoptfmt {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; color: rgb(85,26,139); }
+code.databibcolkeyfmt {font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; border-style: none; color: rgb(71,60,139); }
+</style>
+</head>
+<body>
+<div id="main">
+
+<header><div class="title">The datatool Bundle: Databases and Data Manipulation</div><!-- end of title --><div class="author">Nicola L.C. Talbot<br>
+
+Dickimaw Books<br>
+
+<a href="https://www.dickimaw-books.com/">dickimaw-books.com</a></div><!-- end of author --><div class="date">version 3.0 2025-03-03</div><!-- end of date --></header>
+<p>
+<div class="information"><div class="informationtitle"><a href="#glo:sym.information"><span title="Information" class="icon">&#x1f6c8;</span></a></div><!-- end of informationtitle -->
+</div><!-- end of information -->
+
+<p>
+The <a id="wrglossary.1"></a><a href="#glo:pkg.datatool"><span class="styfmt">datatool</span></a> bundle includes the following documentation:
+
+<dl>
+
+<p>
+<dt>User Manual for datatool (<span class="filefmt">datatool-user.pdf</span>)</dt>
+
+<p>
+
+<dd>
+This document is the main user guide for the <a id="wrglossary.2"></a><a href="#glo:pkg.datatool"><span class="styfmt">datatool</span></a> package.
+</dd>
+
+<p>
+<dt>Documented Code for datatool (<a href="datatool-code.pdf">datatool-code.pdf</a>)</dt>
+
+<p>
+
+<dd>
+Advanced users wishing to know more about the inner workings of all the
+packages provided in the <span class="styfmt">datatool</span> bundle should read
+<span class="qt">&#x201c;Documented Code for datatool v3.0&#x201d;</span>.
+</dd>
+
+<p>
+<dt><a href="CHANGES">CHANGES</a></dt>
+
+
+<dd>
+Change log.
+</dd>
+
+<p>
+<dt><a href="README.md">README.md</a></dt>
+
+<p>
+
+<dd>
+Package summary.
+</dd>
+
+<p>
+<dt><a href="DEPENDS.txt">DEPENDS.txt</a></dt>
+
+<p>
+
+<dd>
+List of all packages unconditionally required by <a id="wrglossary.3"></a><a href="#glo:pkg.datatool"><span class="styfmt">datatool</span></a>
+(hard dependencies).
+Other unlisted packages may be required under certain circumstances.
+For help on installing packages see, for example,
+<a href="https://tex.stackexchange.com/questions/55437">How
+do I update my TeX distribution?</a> or (for Linux users)
+<a href="https://tex.stackexchange.com/questions/14925">Updating TeX on Linux</a>.
+</dd>
+
+<p>
+
+</dl>
+
+<p>
+Related resources:
+
+<ul class="displaylist">
+
+<li><span class="bulletitem">&#x2022;</span><a href="https://www.dickimaw-books.com/faqs.php?category=datatool"><span class="styfmt">datatool</span> FAQ</a>
+<p>
+<li><span class="bulletitem">&#x2022;</span><a href="https://www.dickimaw-books.com/bugtracker.php?category=datatool">Bug tracker</a>
+<p>
+<li><span class="bulletitem">&#x2022;</span><a href="https://www.dickimaw-books.com/gallery/#performance"><span class="styfmt">performance</span> gallery</a>
+<p>
+<li><span class="bulletitem">&#x2022;</span><a href="https://ctan.org/pkg/datatool-regions"><span class="styfmt">datatool-regions</span></a>
+<p>
+<li><span class="bulletitem">&#x2022;</span><a href="https://ctan.org/pkg/datatool-english"><span class="styfmt">datatool-english</span></a>
+<p>
+<li><span class="bulletitem">&#x2022;</span><a href="https://ctan.org/pkg/datatooltk"><span class="appfmt">datatooltk</span></a>
+<p>
+
+</ul>
+
+<p>
+<div class="important"><div class="importanttitle"><a href="#glo:sym.important"><span title="Important" class="icon">&#x2139;</span></a></div><!-- end of importanttitle -->
+The <a id="wrglossary.4"></a><a href="#glo:pkg.datatool"><span class="styfmt">datatool</span></a> bundle is provided to help perform repetitive
+commands, such as mail merging, but since TeX is designed as a
+typesetting language, don&#x2019;t expect this bundle to perform as
+efficiently as custom database systems or a dedicated mathematical
+or scripting language. <strong class="strong">If the provided packages take a frustratingly
+long time to compile your document, use another language to perform
+your calculations or data manipulation and save the results in a
+file that can be input into your document.</strong> For large amounts of
+data that need to be sorted or filtered or joined, consider storing your data
+in an&#xa0;<a id="wrglossary.5"></a><a href="#glo:dual.SQL">SQL</a> database and use <a id="wrglossary.6"></a><a href="#glo:app.datatooltk"><span class="appfmt">datatooltk</span></a> to import the data,
+using <a id="wrglossary.7"></a><a href="#glo:dual.SQL">SQL</a> syntax to filter, sort and otherwise
+manipulate the values.
+</div><!-- end of important -->
+
+<p>
+<nav class="toc" aria-label="Table of Contents">
+<section id="toc"><!-- start of section toc --><div class="tomain"><a href="#main">[top]</a></div>
+<h1><!-- start of chapter header -->Contents<span class="labellink"><a href="#toc">[link]</a></span></h1><!-- end of chapter header -->
+
+<ul>
+<li class="toc-chapter"><a href="#sec:listofexamples">List of Examples</a></li><!-- end of toc-chapter -->
+
+<li class="toc-part"><a href="#userguide"><span class="numberline">I</span> User Guide</a></li><!-- end of toc-part -->
+
+<li class="toc-chapter"><a href="#sec:intro"><span class="numberline">1</span> Introduction</a></li><!-- end of toc-chapter -->
+
+<ul>
+<li class="toc-section"><a href="#sec:rollback"><span class="numberline">1.1</span> Rollback</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#sec:latex3"><span class="numberline">1.2</span> LaTeX3</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:l3regex"><span class="numberline">1.2.1</span> Regular Expressions</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#ex:l3clist-backref"><span class="numberline">1.2.2</span> Comma-Separated Lists</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:l3calc"><span class="numberline">1.2.3</span> Calculations</a></li><!-- end of toc-subsection -->
+</ul></ul>
+<li class="toc-chapter"><a href="#sec:base"><span class="numberline">2</span> Base Commands (<span class="styfmt">datatool-base</span> package)</a></li><!-- end of toc-chapter -->
+
+<ul>
+<li class="toc-section"><a href="#sec:baseoptions"><span class="numberline">2.1</span> <span class="styfmt">datatool-base</span> Options</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#sec:datatypes"><span class="numberline">2.2</span> Data Types</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:numericopts"><span class="numberline">2.2.1</span> Numeric Options</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:parsefmtnum"><span class="numberline">2.2.2</span> Parsing Locale-Formatted Numbers and Currency Values</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:datumcs"><span class="numberline">2.2.3</span> Datum Commands</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:datumitems"><span class="numberline">2.2.4</span> Datum Items (Advanced)</a></li><!-- end of toc-subsection -->
+
+<ul>
+<li class="toc-subsubsection"><a href="#sec:datumcomponents"><span class="numberline">2.2.4.1</span> Datum Components</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:datumifeq"><span class="numberline">2.2.4.2</span> Datum Tests for Equality</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:datumfp"><span class="numberline">2.2.4.3</span> Conversion to Floating Point</a></li><!-- end of toc-subsubsection -->
+</ul></ul>
+<li class="toc-section"><a href="#sec:localisation"><span class="numberline">2.3</span> Localisation</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:encoding"><span class="numberline">2.3.1</span> Encoding</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:numerical"><span class="numberline">2.3.2</span> Numerical</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:lexicographical"><span class="numberline">2.3.3</span> Lexicographical</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:addregion"><span class="numberline">2.3.4</span> Adding New Region Support</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:addlang"><span class="numberline">2.3.5</span> Adding New Language Support</a></li><!-- end of toc-subsection -->
+</ul>
+<li class="toc-section"><a href="#sec:conditionals"><span class="numberline">2.4</span> Conditionals</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:ifconditions"><span class="numberline">2.4.1</span> If-Else or Case Conditionals</a></li><!-- end of toc-subsection -->
+
+<ul>
+<li class="toc-subsubsection"><a href="#sec:ifdatatype"><span class="numberline">2.4.1.1</span> Data Type Conditionals</a></li><!-- end of toc-subsubsection -->
+
+<ul>
+<li class="toc-paragraph"><a href="#ex:ifint-backref"><span class="numberline">2.4.1.1.1</span> Test if Integer Example</a></li><!-- end of toc-paragraph -->
+
+<li class="toc-paragraph"><a href="#ex:ifreal-backref"><span class="numberline">2.4.1.1.2</span> Test if Decimal Example</a></li><!-- end of toc-paragraph -->
+
+<li class="toc-paragraph"><a href="#sec:ifcurrex"><span class="numberline">2.4.1.1.3</span> Test if Currency Example</a></li><!-- end of toc-paragraph -->
+
+<li class="toc-paragraph"><a href="#ex:ifnum-backref"><span class="numberline">2.4.1.1.4</span> Test if Numerical Example</a></li><!-- end of toc-paragraph -->
+
+<li class="toc-paragraph"><a href="#ex:ifstr-backref"><span class="numberline">2.4.1.1.5</span> Test if String Example</a></li><!-- end of toc-paragraph -->
+
+<li class="toc-paragraph"><a href="#sec:ifcasedataex"><span class="numberline">2.4.1.1.6</span> Test Data Type Example</a></li><!-- end of toc-paragraph -->
+</ul>
+<li class="toc-subsubsection"><a href="#sec:strif"><span class="numberline">2.4.1.2</span> String and List Conditionals</a></li><!-- end of toc-subsubsection -->
+
+<ul>
+<li class="toc-paragraph"><a href="#sec:inlistex"><span class="numberline">2.4.1.2.1</span> Element in List Example</a></li><!-- end of toc-paragraph -->
+
+<li class="toc-paragraph"><a href="#sec:streqex"><span class="numberline">2.4.1.2.2</span> String Equality Example</a></li><!-- end of toc-paragraph -->
+
+<li class="toc-paragraph"><a href="#ex:strlt-backref"><span class="numberline">2.4.1.2.3</span> String Less Than Example</a></li><!-- end of toc-paragraph -->
+
+<li class="toc-paragraph"><a href="#sec:strgtex"><span class="numberline">2.4.1.2.4</span> String Greater Than Example</a></li><!-- end of toc-paragraph -->
+
+<li class="toc-paragraph"><a href="#ex:strcmp-backref"><span class="numberline">2.4.1.2.5</span> String Between Two Strings Example</a></li><!-- end of toc-paragraph -->
+
+<li class="toc-paragraph"><a href="#ex:substrif-backref"><span class="numberline">2.4.1.2.6</span> Substring Example</a></li><!-- end of toc-paragraph -->
+
+<li class="toc-paragraph"><a href="#ex:prefixif-backref"><span class="numberline">2.4.1.2.7</span> String Prefix Example</a></li><!-- end of toc-paragraph -->
+
+<li class="toc-paragraph"><a href="#ex:suffixif-backref"><span class="numberline">2.4.1.2.8</span> String Suffix Example</a></li><!-- end of toc-paragraph -->
+
+<li class="toc-paragraph"><a href="#sec:ifallcaseex"><span class="numberline">2.4.1.2.9</span> String Case Example</a></li><!-- end of toc-paragraph -->
+</ul>
+<li class="toc-subsubsection"><a href="#sec:fmtnumif"><span class="numberline">2.4.1.3</span> Formatted Number Conditionals</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:plainnumif"><span class="numberline">2.4.1.4</span> Plain Number Conditionals</a></li><!-- end of toc-subsubsection -->
+
+<ul>
+<li class="toc-paragraph"><a href="#ex:l3fpif-backref"><span class="numberline">2.4.1.4.1</span> Example (<span style="font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; ">l3fp</span>)</a></li><!-- end of toc-paragraph -->
+
+<li class="toc-paragraph"><a href="#sec:luaif"><span class="numberline">2.4.1.4.2</span> Example (<span style="font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; ">lua</span>)</a></li><!-- end of toc-paragraph -->
+
+<li class="toc-paragraph"><a href="#ex:fpif-backref"><span class="numberline">2.4.1.4.3</span> Example (<span style="font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; ">fp</span>)</a></li><!-- end of toc-paragraph -->
+
+<li class="toc-paragraph"><a href="#ex:pgfmathif-backref"><span class="numberline">2.4.1.4.4</span> Example (<span style="font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; ">pgfmath</span>)</a></li><!-- end of toc-paragraph -->
+</ul>
+<li class="toc-subsubsection"><a href="#sec:strnumif"><span class="numberline">2.4.1.5</span> String or Number Conditionals</a></li><!-- end of toc-subsubsection -->
+</ul>
+<li class="toc-subsection"><a href="#sec:ifthen"><span class="numberline">2.4.2</span> <span class="styfmt">ifthen</span> conditionals</a></li><!-- end of toc-subsection -->
+
+<ul>
+<li class="toc-subsubsection"><a href="#ex:DTListype-backref"><span class="numberline">2.4.2.1</span> Data Type Conditionals Example</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:DTLiscmpex"><span class="numberline">2.4.2.2</span> Order Conditionals Example</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#ex:DTLissubstr-backref"><span class="numberline">2.4.2.3</span> List Element and Substring Conditionals Example</a></li><!-- end of toc-subsubsection -->
+</ul></ul>
+<li class="toc-section"><a href="#sec:fp"><span class="numberline">2.5</span> Decimal Functions</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:plainfp"><span class="numberline">2.5.1</span> Plain Numbers</a></li><!-- end of toc-subsection -->
+
+<ul>
+<li class="toc-subsubsection"><a href="#sec:excalcl3fp"><span class="numberline">2.5.1.1</span> Example (<span style="font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; ">l3fp</span>)</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:excalclua"><span class="numberline">2.5.1.2</span> Example (<span style="font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; ">lua</span>)</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#ex:fpcalc-backref"><span class="numberline">2.5.1.3</span> Example (<span style="font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; ">fp</span>)</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:excalcpgfmath"><span class="numberline">2.5.1.4</span> Example (<span style="font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; ">pgfmath</span>)</a></li><!-- end of toc-subsubsection -->
+</ul>
+<li class="toc-subsection"><a href="#sec:formattedfp"><span class="numberline">2.5.2</span> Formatted Numbers</a></li><!-- end of toc-subsection -->
+</ul>
+<li class="toc-section"><a href="#sec:currency"><span class="numberline">2.6</span> Currency</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#sec:datetime"><span class="numberline">2.7</span> Dates and Times</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#sec:strings"><span class="numberline">2.8</span> Strings</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:strreplace"><span class="numberline">2.8.1</span> Substitution and String Splitting</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:initials"><span class="numberline">2.8.2</span> Initial Letters</a></li><!-- end of toc-subsection -->
+
+<ul>
+<li class="toc-subsubsection"><a href="#sec:initialsex"><span class="numberline">2.8.2.1</span> Initial Letters Example</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:initialsutf8ex"><span class="numberline">2.8.2.2</span> Initial Letters with UTF-8 Example</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:initialscsex"><span class="numberline">2.8.2.3</span> Initial Letters with Commands Example</a></li><!-- end of toc-subsubsection -->
+</ul>
+<li class="toc-subsection"><a href="#sec:initialsadvanced"><span class="numberline">2.8.3</span> Advanced Utility Commands</a></li><!-- end of toc-subsection -->
+</ul>
+<li class="toc-section"><a href="#sec:csvlists"><span class="numberline">2.9</span> Comma-Separated Lists</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:listopts"><span class="numberline">2.9.1</span> List Settings</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:formatlist"><span class="numberline">2.9.2</span> Formatting Lists</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:listelements"><span class="numberline">2.9.3</span> List Elements</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:addtolist"><span class="numberline">2.9.4</span> Adding to Lists</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:listsort"><span class="numberline">2.9.5</span> Sorting Lists</a></li><!-- end of toc-subsection -->
+
+<ul>
+<li class="toc-subsubsection"><a href="#sec:compare"><span class="numberline">2.9.5.1</span> Comparison Commands</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:dtlsortwordlistcmds"><span class="numberline">2.9.5.2</span> <code class="csfmt">\DTLsortwordlist</code> Handlers</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:wordsorthook"><span class="numberline">2.9.5.3</span> Word Sort Hook</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:sortlistexs"><span class="numberline">2.9.5.4</span> CSV List Sorting Examples</a></li><!-- end of toc-subsubsection -->
+
+<ul>
+<li class="toc-paragraph"><a href="#sec:dtlsortlistexs"><span class="numberline">2.9.5.4.1</span> Sorting with <code class="csfmt">\dtlsortlist</code></a></li><!-- end of toc-paragraph -->
+
+<li class="toc-paragraph"><a href="#ex:sortlistcommas-backref"><span class="numberline">2.9.5.4.2</span> Sort Markers</a></li><!-- end of toc-paragraph -->
+
+<li class="toc-paragraph"><a href="#sec:sortlistutf8exs"><span class="numberline">2.9.5.4.3</span> UTF-8</a></li><!-- end of toc-paragraph -->
+
+<li class="toc-paragraph"><a href="#sec:sortlistromanexs"><span class="numberline">2.9.5.4.4</span> Roman Numerals</a></li><!-- end of toc-paragraph -->
+</ul></ul></ul></ul>
+<li class="toc-chapter"><a href="#sec:databases"><span class="numberline">3</span> Databases (<span class="styfmt">datatool</span> package)</a></li><!-- end of toc-chapter -->
+
+<ul>
+<li class="toc-section"><a href="#sec:datatoolopts"><span class="numberline">3.1</span> Options</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#sec:exampledatabases"><span class="numberline">3.2</span> Example Databases</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:marks"><span class="numberline">3.2.1</span> Student Marks (CSV)</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:studentscoresdb"><span class="numberline">3.2.2</span> Student Scores</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:customers"><span class="numberline">3.2.3</span> Customers</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:productdb"><span class="numberline">3.2.4</span> Product List</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:pricelistdb"><span class="numberline">3.2.5</span> Price List</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:balancecsv"><span class="numberline">3.2.6</span> Balance Sheet (CSV)</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:fruitcsv"><span class="numberline">3.2.7</span> Fruit (CSV)</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:profitscsv"><span class="numberline">3.2.8</span> Profits (CSV)</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:growthcsv"><span class="numberline">3.2.9</span> Time to Growth (CSV)</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:growthtsv"><span class="numberline">3.2.10</span> Time to Growth (TSV)</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:xydatacsv"><span class="numberline">3.2.11</span> Generic X/Y Data (CSV)</a></li><!-- end of toc-subsection -->
+</ul>
+<li class="toc-section"><a href="#sec:action"><span class="numberline">3.3</span> Action Command</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:actionnames"><span class="numberline">3.3.1</span> Defined Actions</a></li><!-- end of toc-subsection -->
+
+<ul>
+<li class="toc-subsubsection"><a href="#sec:dbactionnames"><span class="numberline">3.3.1.1</span> Creation and Editing</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:dbrefactionnames"><span class="numberline">3.3.1.2</span> Querying</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:dbstatsactionnames"><span class="numberline">3.3.1.3</span> Aggregates</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:dbdisplayactionnames"><span class="numberline">3.3.1.4</span> Tabulation</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:dbmodactionnames"><span class="numberline">3.3.1.5</span> Modifying a Database</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:otheractionnames"><span class="numberline">3.3.1.6</span> Other</a></li><!-- end of toc-subsubsection -->
+</ul>
+<li class="toc-subsection"><a href="#sec:actionopts"><span class="numberline">3.3.2</span> Action Settings</a></li><!-- end of toc-subsection -->
+</ul>
+<li class="toc-section"><a href="#sec:newdb"><span class="numberline">3.4</span> Creating a New Database</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#sec:deletedb"><span class="numberline">3.5</span> Deleting or Clearing a Database</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#sec:dbcondmeta"><span class="numberline">3.6</span> Database Conditionals and Metadata</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#sec:displaydb"><span class="numberline">3.7</span> Displaying the Contents of a Database</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:displaydboptions"><span class="numberline">3.7.1</span> Display Options</a></li><!-- end of toc-subsection -->
+
+<ul>
+<li class="toc-subsubsection"><a href="#sec:displaydbgeneraloptions"><span class="numberline">3.7.1.1</span> General</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:displaydbalignoptions"><span class="numberline">3.7.1.2</span> Alignment</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:displaydbheadfootoptions"><span class="numberline">3.7.1.3</span> Headers and Footers</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:displaydbfilteroptions"><span class="numberline">3.7.1.4</span> Filtering</a></li><!-- end of toc-subsubsection -->
+</ul>
+<li class="toc-subsection"><a href="#sec:displaydbcmds"><span class="numberline">3.7.2</span> Associated Commands</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:displaydbexs"><span class="numberline">3.7.3</span> Examples</a></li><!-- end of toc-subsection -->
+
+<ul>
+<li class="toc-subsubsection"><a href="#sec:displaydbalignspecs"><span class="numberline">3.7.3.1</span> Changing the Alignment</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#ex:displaydbomit-backref"><span class="numberline">3.7.3.2</span> Omitting Columns</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:displaydbonly"><span class="numberline">3.7.3.3</span> Column Inclusion List</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#ex:displaydbcond-backref"><span class="numberline">3.7.3.4</span> Skipping Rows</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:displayrowref"><span class="numberline">3.7.3.5</span> Referencing Rows</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#ex:displayinsertcol-backref"><span class="numberline">3.7.3.6</span> Inserting an Extra Column at the Start</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:displaydbpostrow"><span class="numberline">3.7.3.7</span> Adding an Extra Column at the End</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:balancesheet"><span class="numberline">3.7.3.8</span> Altering Individual Cell Formatting</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#ex:displaydbrepeatcols-backref"><span class="numberline">3.7.3.9</span> Two Database Rows Per Tabular Row (Left to Right)</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#ex:displaydbttb-backref"><span class="numberline">3.7.3.10</span> Two Database Rows Per Tabular Row (Top to Bottom)</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:displaydbstripytable"><span class="numberline">3.7.3.11</span> Stripy Table</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:displaydbstripyrepeatcols"><span class="numberline">3.7.3.12</span> Stripy Two Database Rows Per Tabular Row</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#ex:displaydbmergefields-backref"><span class="numberline">3.7.3.13</span> Two Fields in One Column</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:displaydbaverages"><span class="numberline">3.7.3.14</span> Calculations, Filtering and Row Highlighting</a></li><!-- end of toc-subsubsection -->
+</ul></ul>
+<li class="toc-section"><a href="#sec:dbloops"><span class="numberline">3.8</span> Iterating Through a Database</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:mapdata"><span class="numberline">3.8.1</span> Iterating Over Rows with <code class="csfmt">\DTLmapdata</code></a></li><!-- end of toc-subsection -->
+
+<ul>
+<li class="toc-subsubsection"><a href="#sec:mapdataget"><span class="numberline">3.8.1.1</span> Accessing Data in the Current Row of <code class="csfmt">\DTLmapdata</code></a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:mapdataedit"><span class="numberline">3.8.1.2</span> Editing Rows</a></li><!-- end of toc-subsubsection -->
+</ul>
+<li class="toc-subsection"><a href="#sec:dbforeach"><span class="numberline">3.8.2</span> Iterating Over Rows with <code class="csfmt">\DTLforeach</code></a></li><!-- end of toc-subsection -->
+
+<ul>
+<li class="toc-subsubsection"><a href="#sec:dbforeachedit"><span class="numberline">3.8.2.1</span> Editing the Current Row within <code class="csfmt">\DTLforeach</code></a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:dbforeachexs"><span class="numberline">3.8.2.2</span> Examples</a></li><!-- end of toc-subsubsection -->
+
+<ul>
+<li class="toc-paragraph"><a href="#ex:foreachdisplay-backref"><span class="numberline">3.8.2.2.1</span> Displaying Data</a></li><!-- end of toc-paragraph -->
+
+<li class="toc-paragraph"><a href="#sec:foreachstripy"><span class="numberline">3.8.2.2.2</span> Stripy Table</a></li><!-- end of toc-paragraph -->
+
+<li class="toc-paragraph"><a href="#sec:foreachinsertcol"><span class="numberline">3.8.2.2.3</span> Displaying the Data with an Extra Column at the Start</a></li><!-- end of toc-paragraph -->
+
+<li class="toc-paragraph"><a href="#ex:foreachextracol-backref"><span class="numberline">3.8.2.2.4</span> Displaying the Data with an Extra Column at the End</a></li><!-- end of toc-paragraph -->
+
+<li class="toc-paragraph"><a href="#ex:foreachedit-backref"><span class="numberline">3.8.2.2.5</span> Editing Rows</a></li><!-- end of toc-paragraph -->
+</ul></ul></ul>
+<li class="toc-section"><a href="#sec:tabular"><span class="numberline">3.9</span> Loops and Conditionals with <span class="envfmt">tabular</span>-like Environments</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#sec:null"><span class="numberline">3.10</span> Null Values</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:nullexs"><span class="numberline">3.10.1</span> Examples</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:nullbase"><span class="numberline">3.10.2</span> Advanced Commands</a></li><!-- end of toc-subsection -->
+</ul>
+<li class="toc-section"><a href="#sec:specialvalue"><span class="numberline">3.11</span> Special Values</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#sec:editdb"><span class="numberline">3.12</span> Editing Database Rows</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#sec:dbarith"><span class="numberline">3.13</span> Arithmetical Computations on Database Entries</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#sec:sort"><span class="numberline">3.14</span> Sorting a Database</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:DTLsortdata"><span class="numberline">3.14.1</span> Sorting with <code class="csfmt">\DTLsortdata</code></a></li><!-- end of toc-subsection -->
+
+<ul>
+<li class="toc-subsubsection"><a href="#sec:DTLsortdataopts"><span class="numberline">3.14.1.1</span> <code class="csfmt">\DTLsortdata</code> Options</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:DTLsortdatacolumnopts"><span class="numberline">3.14.1.2</span> <code class="csfmt">\DTLsortdata</code> Column Options</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#ex:sortcsvnorepl-backref"><span class="numberline">3.14.1.3</span> <code class="csfmt">\DTLsortdata</code> Examples</a></li><!-- end of toc-subsubsection -->
+</ul>
+<li class="toc-subsection"><a href="#sec:dtlsort"><span class="numberline">3.14.2</span> Sorting with <code class="csfmt">\dtlsort</code></a></li><!-- end of toc-subsection -->
+</ul>
+<li class="toc-section"><a href="#sec:io"><span class="numberline">3.15</span> Database Files (I/O)</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:fileformats"><span class="numberline">3.15.1</span> File Formats</a></li><!-- end of toc-subsection -->
+
+<ul>
+<li class="toc-subsubsection"><a href="#sec:csvfiles"><span class="numberline">3.15.1.1</span> CSV and TSV Files</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:dtltexfiles"><span class="numberline">3.15.1.2</span> DTLTEX Files</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:dbtexfiles"><span class="numberline">3.15.1.3</span> DBTEX Files</a></li><!-- end of toc-subsubsection -->
+</ul>
+<li class="toc-subsection"><a href="#sec:iosettings"><span class="numberline">3.15.2</span> I/O Settings</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:loaddb"><span class="numberline">3.15.3</span> Loading a Database from an External File</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:savedb"><span class="numberline">3.15.4</span> Saving a Database to an External File</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#ex:loadcustomers-backref"><span class="numberline">3.15.5</span> I/O Examples</a></li><!-- end of toc-subsection -->
+</ul>
+<li class="toc-section"><a href="#sec:advanced"><span class="numberline">3.16</span> Advanced Database Commands</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:currentrow"><span class="numberline">3.16.1</span> Operating on Current Row</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:advancediter"><span class="numberline">3.16.2</span> Advanced Iteration</a></li><!-- end of toc-subsection -->
+</ul></ul>
+<li class="toc-chapter"><a href="#sec:datapie"><span class="numberline">4</span> Pie Charts (<span class="styfmt">datapie</span> package)</a></li><!-- end of toc-chapter -->
+
+<ul>
+<li class="toc-section"><a href="#sec:piestyopts"><span class="numberline">4.1</span> Package Options</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#sec:piesettings"><span class="numberline">4.2</span> Settings</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:piedatasettings"><span class="numberline">4.2.1</span> Pie Chart Data</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:piestylesettings"><span class="numberline">4.2.2</span> Pie Chart Style</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:pielabelsettings"><span class="numberline">4.2.3</span> Pie Chart Labels</a></li><!-- end of toc-subsection -->
+</ul>
+<li class="toc-section"><a href="#sec:pieexs"><span class="numberline">4.3</span> Pie Chart Examples</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#ex:piechartcondition-backref"><span class="numberline">4.3.1</span> Pie Chart Filtering Examples</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#ex:piechartcutaway-backref"><span class="numberline">4.3.2</span> Pie Chart Styles Examples</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:pielabelsexs"><span class="numberline">4.3.3</span> Pie Chart Labels Examples</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#ex:piechartpercentlabels-backref"><span class="numberline">4.3.4</span> Pie Chart Placeholder Example</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#ex:piechartlabelfmt-backref"><span class="numberline">4.3.5</span> Pie Chart Label Formatting Example</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#ex:piechartcolors-backref"><span class="numberline">4.3.6</span> Pie Chart Colour Example</a></li><!-- end of toc-subsection -->
+</ul>
+<li class="toc-section"><a href="#sec:pievariables"><span class="numberline">4.4</span> Pie Chart Variables</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#sec:pielabelformat"><span class="numberline">4.5</span> Pie Chart Label Formatting</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#sec:piecolours"><span class="numberline">4.6</span> Pie Chart Colours</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#sec:piehooks"><span class="numberline">4.7</span> Pie Chart Hooks</a></li><!-- end of toc-section -->
+</ul>
+<li class="toc-chapter"><a href="#sec:databar"><span class="numberline">5</span> Bar Charts (<span class="styfmt">databar</span> package)</a></li><!-- end of toc-chapter -->
+
+<ul>
+<li class="toc-section"><a href="#sec:barstyopts"><span class="numberline">5.1</span> Package Options</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#sec:barsettings"><span class="numberline">5.2</span> Settings</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:bardatasettings"><span class="numberline">5.2.1</span> Bar Chart Data</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:barstylesettings"><span class="numberline">5.2.2</span> Bar Chart Style</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:barlabelsettings"><span class="numberline">5.2.3</span> Bar Chart Labels</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:baraxessettings"><span class="numberline">5.2.4</span> Bar Chart Axes</a></li><!-- end of toc-subsection -->
+</ul>
+<li class="toc-section"><a href="#sec:barchartexs"><span class="numberline">5.3</span> Bar Chart Examples</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:exbarchartlabels"><span class="numberline">5.3.1</span> Labels</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#ex:barchartcondition-backref"><span class="numberline">5.3.2</span> Filtering</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#ex:barchartlabelsdefalign-backref"><span class="numberline">5.3.3</span> Lower Label Alignment</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#ex:barchartupperlabelsalign-backref"><span class="numberline">5.3.4</span> Upper Label Alignment</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:exbarchartmultilabels"><span class="numberline">5.3.5</span> Multi Bar Chart Labels</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#ex:barchartaxes-backref"><span class="numberline">5.3.6</span> Axes</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:exbarchartcolours"><span class="numberline">5.3.7</span> Bar Colours</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:exbarcharthooks"><span class="numberline">5.3.8</span> Hooks</a></li><!-- end of toc-subsection -->
+</ul>
+<li class="toc-section"><a href="#sec:barcommands"><span class="numberline">5.4</span> Bar Chart Associated Commands</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:baraxescommands"><span class="numberline">5.4.1</span> Axes</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:bartextcommands"><span class="numberline">5.4.2</span> Textual</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:barcolours"><span class="numberline">5.4.3</span> Bar Colours</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:barhooks"><span class="numberline">5.4.4</span> Hooks</a></li><!-- end of toc-subsection -->
+</ul></ul>
+<li class="toc-chapter"><a href="#sec:dataplot"><span class="numberline">6</span> Scatter and Line Plots (<span class="styfmt">dataplot</span> package)</a></li><!-- end of toc-chapter -->
+
+<ul>
+<li class="toc-section"><a href="#sec:plotsettings"><span class="numberline">6.1</span> Plot Settings</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:plotdbsettings"><span class="numberline">6.1.1</span> Database Content</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:plotsizesettings"><span class="numberline">6.1.2</span> Plot Size</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:plotstylesettings"><span class="numberline">6.1.3</span> Marker and Line Styles</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:plotaxessettings"><span class="numberline">6.1.4</span> Axes</a></li><!-- end of toc-subsection -->
+</ul>
+<li class="toc-section"><a href="#sec:plotexs"><span class="numberline">6.2</span> Plot Examples</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:scatterplotexs"><span class="numberline">6.2.1</span> Basic Examples</a></li><!-- end of toc-subsection -->
+
+<ul>
+<li class="toc-subsubsection"><a href="#sec:scatterplot1dbex"><span class="numberline">6.2.1.1</span> One Database</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#ex:growthscatter2-backref"><span class="numberline">6.2.1.2</span> Two Databases, One X Column</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:scatterplotactionex"><span class="numberline">6.2.1.3</span> Plot Action</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:scatterplot1db2xycolex"><span class="numberline">6.2.1.4</span> One Database, Two X and Y Columns</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:scatterplot2db2xycolex"><span class="numberline">6.2.1.5</span> Two Databases, Two X and Y Columns</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:scatterplot2db3xycolex"><span class="numberline">6.2.1.6</span> Two Databases, Three X and Y Columns</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:scatterplot2db2x3ycolex"><span class="numberline">6.2.1.7</span> Two Databases, Two X and Three Y Columns</a></li><!-- end of toc-subsubsection -->
+</ul>
+<li class="toc-subsection"><a href="#sec:plotlegendexs"><span class="numberline">6.2.2</span> Legend Examples</a></li><!-- end of toc-subsection -->
+
+<ul>
+<li class="toc-subsubsection"><a href="#ex:growthscatter4col-legend-backref"><span class="numberline">6.2.2.1</span> Custom Legend Text With <span style="font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; ">legend-labels</span></a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:scatterplotsubsetlegendlabelsex"><span class="numberline">6.2.2.2</span> Subset Custom Legend Text With <span style="font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; ">legend-labels</span></a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:scatterplotlegendlabelsomitex"><span class="numberline">6.2.2.3</span> Omitting Stream from Legend With <span style="font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; ">legend-labels</span></a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:scatterplotlegendnamemapex"><span class="numberline">6.2.2.4</span> Legend Database Mapping</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#ex:growthscatter6col2dbmap-backref"><span class="numberline">6.2.2.5</span> Legend Column Key Mapping</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:scatterplotlegendcustxyex"><span class="numberline">6.2.2.6</span> Customising the X/Y Legend</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#ex:growthscatter6col2dbmap2-backref"><span class="numberline">6.2.2.7</span> Customising the Legend, No X Label</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:scatterplotshiftlegendex"><span class="numberline">6.2.2.8</span> Shifting the Legend</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:scatterplotcustomlegendposex"><span class="numberline">6.2.2.9</span> Custom Legend Position</a></li><!-- end of toc-subsubsection -->
+</ul>
+<li class="toc-subsection"><a href="#sec:plotstyleexs"><span class="numberline">6.2.3</span> Plot Style Examples</a></li><!-- end of toc-subsection -->
+
+<ul>
+<li class="toc-subsubsection"><a href="#sec:plotstylebothexs"><span class="numberline">6.2.3.1</span> Line and Scatter Plot</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#ex:growthscatter6col2dbstyles-backref"><span class="numberline">6.2.3.2</span> Changing the Colours and Styles</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:plotstylegrouplinecolexs"><span class="numberline">6.2.3.3</span> One Line Colour Per Database</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:plotstyleresetexs"><span class="numberline">6.2.3.4</span> Resetting the Style for Each Database</a></li><!-- end of toc-subsubsection -->
+</ul>
+<li class="toc-subsection"><a href="#sec:plotaxesexs"><span class="numberline">6.2.4</span> Plot Axes Examples</a></li><!-- end of toc-subsection -->
+
+<ul>
+<li class="toc-subsubsection"><a href="#sec:plotaxesboundsexs"><span class="numberline">6.2.4.1</span> Setting the Bounds</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:plotroundtickexs"><span class="numberline">6.2.4.2</span> Tick Label Rounding</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:plotaxisexs"><span class="numberline">6.2.4.3</span> Axis Style</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:plotgridexs"><span class="numberline">6.2.4.4</span> Grid</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:plotboxexs"><span class="numberline">6.2.4.5</span> Box</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:plotnegativeaxesexs"><span class="numberline">6.2.4.6</span> Negative Axes</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#ex:plotxyextend-backref"><span class="numberline">6.2.4.7</span> Extending the Axes</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:plottickstyleexs"><span class="numberline">6.2.4.8</span> Changing the Tick Label Node Style</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:plotsideaxesexs"><span class="numberline">6.2.4.9</span> Side Axes</a></li><!-- end of toc-subsubsection -->
+</ul>
+<li class="toc-subsection"><a href="#sec:plothooksexs"><span class="numberline">6.2.5</span> Begin and End Hooks</a></li><!-- end of toc-subsection -->
+</ul>
+<li class="toc-section"><a href="#sec:plothooks"><span class="numberline">6.3</span> Supplementary Plot Commands</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:plotgeneralhooks"><span class="numberline">6.3.1</span> General Functions and Variables</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:plotstreamfns"><span class="numberline">6.3.2</span> Stream Functions and Variables</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:plotpoststreamhooks"><span class="numberline">6.3.3</span> Post-Stream Hooks</a></li><!-- end of toc-subsection -->
+</ul>
+<li class="toc-section"><a href="#sec:plotconds"><span class="numberline">6.4</span> Conditionals</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:plotlengths"><span class="numberline">6.4.1</span> Lengths</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:plotcounters"><span class="numberline">6.4.2</span> Counters</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:plotmacros"><span class="numberline">6.4.3</span> Macros</a></li><!-- end of toc-subsection -->
+</ul>
+<li class="toc-section"><a href="#sec:plotstreamhooks"><span class="numberline">6.5</span> Adding to a Plot Stream at the Start or End</a></li><!-- end of toc-section -->
+</ul>
+<li class="toc-chapter"><a href="#sec:databib"><span class="numberline">7</span> Converting a BibTeX database into a <span class="styfmt">datatool</span> database (<span class="styfmt">databib</span> package)</a></li><!-- end of toc-chapter -->
+
+<ul>
+<li class="toc-section"><a href="#sec:databibpkgopts"><span class="numberline">7.1</span> Package Options</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#sec:bibtex"><span class="numberline">7.2</span> BibTeX: An Overview</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:bibdatabase"><span class="numberline">7.2.1</span> BibTeX database</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:databibfields"><span class="numberline">7.2.2</span> Column Keys (Fields)</a></li><!-- end of toc-subsection -->
+</ul>
+<li class="toc-section"><a href="#sec:loadbbl"><span class="numberline">7.3</span> Loading a <span class="styfmt">databib</span> database</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#sec:dtlbibnew"><span class="numberline">7.4</span> The <span class="styfmt">databib</span> Database Construction Commands</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#sec:bibsort"><span class="numberline">7.5</span> Sorting a <span class="styfmt">databib</span> database</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#sec:thebib"><span class="numberline">7.6</span> Displaying a <span class="styfmt">databib</span> database</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#sec:bibstyle"><span class="numberline">7.7</span> Changing the bibliography style</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:modbibstyle"><span class="numberline">7.7.1</span> Modifying an existing style</a></li><!-- end of toc-subsection -->
+</ul>
+<li class="toc-section"><a href="#sec:foreachbib"><span class="numberline">7.8</span> Iterating through a <span class="styfmt">databib</span> database</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#sec:multibib"><span class="numberline">7.9</span> Multiple Bibliographies</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#sec:databibexs"><span class="numberline">7.10</span> Examples</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:sortauthorex"><span class="numberline">7.10.1</span> Sort by Author</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:bibtableex"><span class="numberline">7.10.2</span> Tabulate Bib Data</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:bibsinceex"><span class="numberline">7.10.3</span> Publications Since a Given Year</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:topnbibex"><span class="numberline">7.10.4</span> Five Most Recent Publications</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:compactbibex"><span class="numberline">7.10.5</span> Compact Bibliography</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:highlightauthorex"><span class="numberline">7.10.6</span> Highlight a Given Author</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:jcbibex"><span class="numberline">7.10.7</span> Separate Bib Types</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#ex:multibib-backref"><span class="numberline">7.10.8</span> Multiple Bibliographies</a></li><!-- end of toc-subsection -->
+</ul>
+<li class="toc-section"><a href="#sec:databiblang"><span class="numberline">7.11</span> Localisation</a></li><!-- end of toc-section -->
+</ul>
+<li class="toc-chapter"><a href="#sec:datagidx"><span class="numberline">8</span> Creating an index, glossary or list of abbreviations (<span class="styfmt">datagidx</span> package)</a></li><!-- end of toc-chapter -->
+
+<ul>
+<li class="toc-section"><a href="#sec:datagidxoptions"><span class="numberline">8.1</span> Options</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:datagidxstyoptions"><span class="numberline">8.1.1</span> Package Options</a></li><!-- end of toc-subsection -->
+
+<ul>
+<li class="toc-subsubsection"><a href="#sec:datagidxglobaloptions"><span class="numberline">8.1.1.1</span> Global Options</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:datagidxstyleoptions"><span class="numberline">8.1.1.2</span> Style Options</a></li><!-- end of toc-subsubsection -->
+</ul>
+<li class="toc-subsection"><a href="#sec:gidxsetupopts"><span class="numberline">8.1.2</span> Post-Package Options</a></li><!-- end of toc-subsection -->
+
+<ul>
+<li class="toc-subsubsection"><a href="#sec:gidxgenopts"><span class="numberline">8.1.2.1</span> General</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:gidxnewprintopts"><span class="numberline">8.1.2.2</span> Database Creation and Display</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:gidxprintopts"><span class="numberline">8.1.2.3</span> Display Only</a></li><!-- end of toc-subsubsection -->
+</ul></ul>
+<li class="toc-section"><a href="#sec:newgidx"><span class="numberline">8.2</span> Defining Index/Glossary Databases</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#sec:loadgidx"><span class="numberline">8.3</span> Loading Data Created by <span class="appfmt">datatooltk</span></a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#sec:newterm"><span class="numberline">8.4</span> Defining Terms</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:gidxmarkupcmds"><span class="numberline">8.4.1</span> Markup Commands for Terms</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:gidxlabel"><span class="numberline">8.4.2</span> Commands to Assist Label Creation</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:gidxsortcmds"><span class="numberline">8.4.3</span> Commands to Assist Sorting</a></li><!-- end of toc-subsection -->
+</ul>
+<li class="toc-section"><a href="#sec:useentry"><span class="numberline">8.5</span> Referencing Terms</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:gidxshortcuts"><span class="numberline">8.5.1</span> Shortcut Commands</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:locations"><span class="numberline">8.5.2</span> Locations</a></li><!-- end of toc-subsection -->
+</ul>
+<li class="toc-section"><a href="#sec:gidxcustomfields"><span class="numberline">8.6</span> Adding Extra Fields</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#sec:gidxabbr"><span class="numberline">8.7</span> Abbreviations</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:gidxuseabbr"><span class="numberline">8.7.1</span> Using Abbreviations</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:gidxunset"><span class="numberline">8.7.2</span> Unsetting and Resetting Abbreviations</a></li><!-- end of toc-subsection -->
+</ul>
+<li class="toc-section"><a href="#sec:printterms"><span class="numberline">8.8</span> Displaying the Index or Glossary</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:printtermhooks"><span class="numberline">8.8.1</span> Hooks and Associated Commands</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:indexstyles"><span class="numberline">8.8.2</span> Index or Glossary Styles</a></li><!-- end of toc-subsection -->
+
+<ul>
+<li class="toc-subsubsection"><a href="#sec:gidxstyleindex"><span class="numberline">8.8.2.1</span> index</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:gidxstyleindexalign"><span class="numberline">8.8.2.2</span> indexalign</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:gidxstylealign"><span class="numberline">8.8.2.3</span> align</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:gidxstylegloss"><span class="numberline">8.8.2.4</span> gloss</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:gidxstyledict"><span class="numberline">8.8.2.5</span> dict</a></li><!-- end of toc-subsubsection -->
+</ul>
+<li class="toc-subsection"><a href="#sec:indexsort"><span class="numberline">8.8.3</span> Sorting the Index or Glossary Database</a></li><!-- end of toc-subsection -->
+
+<ul>
+<li class="toc-subsubsection"><a href="#sec:optimize"><span class="numberline">8.8.3.1</span> Optimization</a></li><!-- end of toc-subsubsection -->
+</ul></ul>
+<li class="toc-section"><a href="#sec:gidxsuppl"><span class="numberline">8.9</span> Supplementary Commands</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:gidxcond"><span class="numberline">8.9.1</span> Conditionals and Loops</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:gidxnewtermsupp"><span class="numberline">8.9.2</span> New Terms</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:gidxstylesextra"><span class="numberline">8.9.3</span> Styles</a></li><!-- end of toc-subsection -->
+</ul>
+<li class="toc-section"><a href="#sec:datagidxstructure"><span class="numberline">8.10</span> Database Structures</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:datagidxcatalogue"><span class="numberline">8.10.1</span> The Catalogue Database</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:datagidxtermdatabases"><span class="numberline">8.10.2</span> The Term Databases</a></li><!-- end of toc-subsection -->
+</ul>
+<li class="toc-section"><a href="#ex:index-backref"><span class="numberline">8.11</span> Examples</a></li><!-- end of toc-section -->
+</ul>
+<li class="toc-chapter"><a href="#sec:person"><span class="numberline">9</span> Referencing People (<span class="styfmt">person</span> package)</a></li><!-- end of toc-chapter -->
+
+<ul>
+<li class="toc-section"><a href="#sec:personstyopts"><span class="numberline">9.1</span> Package Options</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#sec:personopts"><span class="numberline">9.2</span> Other Options</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#sec:persondefundef"><span class="numberline">9.3</span> Defining and Undefining People</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#sec:persongender"><span class="numberline">9.4</span> Genders</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#sec:refperson"><span class="numberline">9.5</span> Displaying Information</a></li><!-- end of toc-section -->
+
+<ul>
+<ul>
+<li class="toc-subsubsection"><a href="#sec:persongrammar"><span class="numberline">9.5.0.1</span> Grammar</a></li><!-- end of toc-subsubsection -->
+
+<li class="toc-subsubsection"><a href="#sec:personrelationships"><span class="numberline">9.5.0.2</span> Relationships</a></li><!-- end of toc-subsubsection -->
+</ul>
+<li class="toc-subsection"><a href="#sec:personinfo"><span class="numberline">9.5.1</span> Accessing Individual Information</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:personlists"><span class="numberline">9.5.2</span> List People</a></li><!-- end of toc-subsection -->
+</ul>
+<li class="toc-section"><a href="#sec:personexs"><span class="numberline">9.6</span> Examples</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:mailmergeex"><span class="numberline">9.6.1</span> Mail Merging</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:orderofserviceex"><span class="numberline">9.6.2</span> Order of Service</a></li><!-- end of toc-subsection -->
+</ul>
+<li class="toc-section"><a href="#sec:personadvanced"><span class="numberline">9.7</span> Advanced Commands</a></li><!-- end of toc-section -->
+
+<ul>
+<li class="toc-subsection"><a href="#sec:personcond"><span class="numberline">9.7.1</span> Conditionals</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:personloop"><span class="numberline">9.7.2</span> Iterating Through Defined People</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:personlang"><span class="numberline">9.7.3</span> Localisation</a></li><!-- end of toc-subsection -->
+
+<li class="toc-subsection"><a href="#sec:personhooks"><span class="numberline">9.7.4</span> Hooks</a></li><!-- end of toc-subsection -->
+</ul></ul>
+<li class="toc-chapter"><a href="#sec:acknowledgements"><span class="numberline">10</span> Acknowledgements</a></li><!-- end of toc-chapter -->
+
+<li class="toc-part"><a href="#summaries"><span class="numberline">II</span> Summaries and Index</a></li><!-- end of toc-part -->
+
+<li class="toc-chapter"><a href="#symbols">Symbols</a></li><!-- end of toc-chapter -->
+
+<li class="toc-chapter"><a href="#glossary">Glossary</a></li><!-- end of toc-chapter -->
+
+<li class="toc-chapter"><a href="#cmdsummary">Command Summary</a></li><!-- end of toc-chapter -->
+
+<ul>
+<li class="toc-section"><a href="#summary.index6815744">Command Summary: A</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#summary.index6946816">Command Summary: C</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#summary.index7012352">Command Summary: D</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#summary.index7077888">Command Summary: E</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#summary.index7143424">Command Summary: F</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#summary.index7208960">Command Summary: G</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#summary.index7274496">Command Summary: H</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#summary.index7340032">Command Summary: I</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#summary.index7536640">Command Summary: L</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#summary.index7602176">Command Summary: M</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#summary.index7667712">Command Summary: N</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#summary.index7798784">Command Summary: P</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#summary.index7929856">Command Summary: R</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#summary.index7995392">Command Summary: S</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#summary.index8060928">Command Summary: T</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#summary.index8126464">Command Summary: U</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#summary.index8192000">Command Summary: V</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#summary.index8323072">Command Summary: X</a></li><!-- end of toc-section -->
+
+<li class="toc-section"><a href="#summary.index8388608">Command Summary: Y</a></li><!-- end of toc-section -->
+</ul>
+<li class="toc-chapter"><a href="#envsummary">Environment Summary</a></li><!-- end of toc-chapter -->
+
+<li class="toc-chapter"><a href="#styoptsummary">Package Option Summary</a></li><!-- end of toc-chapter -->
+
+<li class="toc-chapter"><a href="#index">Index</a></li><!-- end of toc-chapter -->
+
+</ul></nav><!-- end of toc -->
+</section><!-- end of section toc -->
+
+<section id="chapter*.2"><!-- start of section chapter*.2 --><div class="tomain"><a href="#main">[top]</a></div>
+<h1><!-- start of chapter header -->List of Figures<span class="labellink"><a href="#chapter*.2">[link]</a></span></h1><!-- end of chapter header -->
+<div class="lof">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</div><!-- end of lof -->
+</section><!-- end of section chapter*.2 -->
+
+<section id="chapter*.3"><!-- start of section chapter*.3 --><div class="tomain"><a href="#main">[top]</a></div>
+<h1><!-- start of chapter header -->List of Tables<span class="labellink"><a href="#chapter*.3">[link]</a></span></h1><!-- end of chapter header -->
+<div class="lot">
+
+
+
+
+<div class="toc-table"><a href="#tab:rawmappings"><span class="numberline">3.1</span> Mappings Used with <a id="wrglossary.8"></a><a href="#glo:opt.io.csv-content"><code class="iooptfmt">csv-content</code></a><span style="font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; "><span style="font-family: "DejaVu Mono", "Liberation Mono", "Noto Sans Mono", monospace; ">=literal Before Re-Scanning</span></a></div><!-- end of toc-table -->
+
+
+
+
+
+
+
+<div class="toc-table"><a href="#tab:shortcuts"><span class="numberline">9.1</span> Synonyms provided by the <span class="styoptfmt">shortcuts</span> package option</a></div><!-- end of toc-table -->
+
+
+
+
+
+
+
+
+</div><!-- end of lot -->
+</section><!-- end of section chapter*.3 -->
+
+<section id="sec:listofexamples"><!-- start of section sec:listofexamples --><div class="tomain"><a href="#main">[top]</a></div>
+<h1><!-- start of chapter header -->List of Examples<span class="labellink"><a href="#sec:listofexamples">[link]</a></span></h1><!-- end of chapter header -->
+
+<p>
+If an example shows the icon <span title="Download TeX File" class="icon">&#x1f4e5;<sup>&#x1f5b9;</sup></span> then you can click on that icon to try downloading the example source code from a location relative to this document. You can also try using: <pre class="terminal"><div class="terminaltitle"><a href="#glo:sym.terminal"><span title="Terminal" class="icon">&#x232a;_</span></a></div><a href="https://www.tug.org/texdoc/">texdoc</a> -l datatool-user-example<span class="meta">&#x2329;<em class="metainner">nnn</em>&#x232a;</span></pre>where <span class="meta">&#x2329;<em class="metainner">nnn</em>&#x232a;</span> is the example number zero-padded to three digits to find out if the example files are installed on your device. 
+<p>
+<div class="loe">
+<div class="toc-example"><a href="#ex:l3regex"><span class="numberline">1</span> Regular Expressions with LaTeX3</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:l3clist"><span class="numberline">2</span> Comma-Separated Lists with LaTeX3</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:directlua-backref"><span class="numberline">3</span> Performing Calculations with LaTeX3</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:directlua"><span class="numberline">4</span> Performing Calculations with LuaLaTeX</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:datumcs"><span class="numberline">5</span> Datum Control Sequences</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:datumifeq"><span class="numberline">6</span> Datum Tests for Equality</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:datumfp"><span class="numberline">7</span> Datum Control Sequences to Floating Point Variables</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:enCA"><span class="numberline">8</span> Localisation Support (en-CA)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:frCA"><span class="numberline">9</span> Localisation Support (fr-CA)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:icelandic"><span class="numberline">10</span> Icelandic Alphabetic</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:ijinitial"><span class="numberline">11</span> IJ-Initial Support</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:icelandiclettergroup"><span class="numberline">12</span> Icelandic Sorting and Letter Groups</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:ifint"><span class="numberline">13</span> Test for Integer Value</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:ifreal"><span class="numberline">14</span> Test for Real Value</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:ifcurr"><span class="numberline">15</span> Test for Currency</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:ifnum"><span class="numberline">16</span> Test for Numerical</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:ifstr"><span class="numberline">17</span> Test for Strings</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:ifcasedata"><span class="numberline">18</span> Test for Data Type</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:DTLifinlist"><span class="numberline">19</span> Testing if an Element is in a Comma-Separated List</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:streq"><span class="numberline">20</span> String Equality Tests</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:strlt"><span class="numberline">21</span> String Less Than</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:strgt"><span class="numberline">22</span> String Greater Than</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:strcmp"><span class="numberline">23</span> String Between Tests</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:substrif"><span class="numberline">24</span> Substring Tests</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:prefixif"><span class="numberline">25</span> Prefix Tests</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:suffixif"><span class="numberline">26</span> Suffix Tests</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:ifallcase"><span class="numberline">27</span> All Upper/Lower Case Tests</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:DTLifnum"><span class="numberline">28</span> Numerical Comparisons (Parsed)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:l3fpif"><span class="numberline">29</span> Conditionals (<span class="optfmt">l3fp</span>)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:luaif"><span class="numberline">30</span> Conditionals (<span class="optfmt">lua</span>)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:fpif"><span class="numberline">31</span> Conditionals (<span class="optfmt">fp</span>)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:pgfmathif"><span class="numberline">32</span> Conditionals (<span class="optfmt">pgfmath</span>)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:DTLif"><span class="numberline">33</span> Numerical/String Comparisons</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:DTListype"><span class="numberline">34</span> Data Type Conditionals for use with <span class="styfmt">ifthen</span></a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:DTLiscmp"><span class="numberline">35</span> Order Conditionals for use with <span class="styfmt">ifthen</span></a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:DTLissubstr"><span class="numberline">36</span> Substring Conditionals for use with <span class="styfmt">ifthen</span></a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:l3fpcalc"><span class="numberline">37</span> Decimal Functions (<span class="optfmt">l3fp</span>)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:luacalc"><span class="numberline">38</span> Decimal Functions (<span class="optfmt">lua</span>)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:fpcalc"><span class="numberline">39</span> Decimal Functions (<span class="optfmt">fp</span>)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:pgfmathcalc"><span class="numberline">40</span> Decimal Functions (<span class="optfmt">pgfmath</span>)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:noregioncurrency"><span class="numberline">41</span> Formatting and Parsing Currency (No Region)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:regionGBcurrency"><span class="numberline">42</span> Currency Formats (GB Region)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:multiregioncurrency"><span class="numberline">43</span> Currency Formats (GB and IE Regions)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:defcurr"><span class="numberline">44</span> Defining a Currency</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:parsetemporalreformat-backref"><span class="numberline">45</span> Parsing Dates and Times</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:parsetemporalreformat"><span class="numberline">46</span> Parsing Dates and Times and Reformatting</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:subsplitstr"><span class="numberline">47</span> String Substitution and Splitting</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:initials"><span class="numberline">48</span> Name or Phrase Initials</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:initialsutf8"><span class="numberline">49</span> Word Initial Letter with UTF-8</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:initialscs"><span class="numberline">50</span> Word Initial Commands</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:incsvlist"><span class="numberline">51</span> CSV List Argument Expansion</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:formatlist"><span class="numberline">52</span> Formatting CSV Lists</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:listelements"><span class="numberline">53</span> Elements of a CSV List</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:listinsert"><span class="numberline">54</span> Appending, Prepending and Inserting List Elements</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:sortlistcharcase"><span class="numberline">55</span> Sorting Lists with <code class="csfmt">\dtlsortlist</code> (Case vs No Case)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:sortlistwordletter"><span class="numberline">56</span> Sorting Lists with <code class="csfmt">\dtlsortlist</code> (Letter vs Word)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:sortlistcommas"><span class="numberline">57</span> Sorting Lists with <code class="csfmt">\dtlsortlist</code> (comma and parenthetical markers)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:wordsortlistcommas"><span class="numberline">58</span> Sorting Lists with <code class="csfmt">\DTLsortwordlist</code> (comma and parenthetical markers)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:sortlistutf8"><span class="numberline">59</span> Sorting Lists with <code class="csfmt">\dtlsortlist</code> and UTF-8</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:sortlistutf8locale-backref"><span class="numberline">60</span> Sorting Lists with <code class="csfmt">\DTLsortwordlist</code> and UTF-8 and No Localisation Support</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:sortlistutf8locale"><span class="numberline">61</span> Sorting Lists with <code class="csfmt">\DTLsortwordlist</code> and UTF-8 and Localisation Support</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:sortwordhook"><span class="numberline">62</span> Sort Word Hook (Roman Numerals)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:newvalueexpand"><span class="numberline">63</span> New Value Expansion</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:newvaluetrim"><span class="numberline">64</span> Trimming New Values</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:actions"><span class="numberline">65</span> Creating and Displaying a Database with <code class="csfmt">\DTLaction</code></a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:addcolaction"><span class="numberline">66</span> Adding New Columns Using Actions</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:selectrow"><span class="numberline">67</span> Select row action</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:rowaggregates"><span class="numberline">68</span> Row aggregate actions</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:actiondatum"><span class="numberline">69</span> Automatically Formatting Values Calculated by Actions</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:newdb"><span class="numberline">70</span> Creating a New Database with a Label</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:nullcol"><span class="numberline">71</span> Column with No Values</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:displaydbalignspecs"><span class="numberline">72</span> Display Data with Custom Alignment</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:displaydbomit"><span class="numberline">73</span> Display Data in a Table Omitting Columns</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:displaydbonly"><span class="numberline">74</span> Display Data in a Table with Named Columns</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:displaydbcond"><span class="numberline">75</span> Display Data in a Table with Filtered Rows</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:displayrowref"><span class="numberline">76</span> Referencing Rows from Displayed Data</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:displayinsertcol"><span class="numberline">77</span> Inserting a Column at the Start of Displayed Data</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:displaydbpostrow"><span class="numberline">78</span> Display Data in a Table with an Extra Column</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:balancesheet"><span class="numberline">79</span> Adjusting the Item Hook to Calculate Totals and Show Negative Numbers in Red</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:displaydbrepeatcols"><span class="numberline">80</span> Display Two Database Rows Per Tabular Row</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:displaydbttb"><span class="numberline">81</span> Display Two Database Rows Per Tabular Row (Top to Bottom)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:displaydbstripytable"><span class="numberline">82</span> Display Data in a Stripy Table</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:displaydbstripyrepeatcols"><span class="numberline">83</span> Display Stripy Two Database Rows Per Tabular Row</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:displaydbmergefields"><span class="numberline">84</span> Display Two Fields in One Column</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:displaydbaverages"><span class="numberline">85</span> Displaying Data with Calculations, Filtering and Row Highlighting</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:mapdata"><span class="numberline">86</span> Iterating Over Rows with <code class="csfmt">\DTLmapdata</code> and <span class="envfmt">DTLenvmapdata</span></a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:mapdataedit"><span class="numberline">87</span> Iterating Over Rows with <code class="csfmt">\DTLmapdata</code> to Append a Column</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:foreachdisplay"><span class="numberline">88</span> Display Data in a Table with <code class="csfmt">\DTLforeach</code></a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:foreachstripy"><span class="numberline">89</span> Using <code class="csfmt">\DTLforeach</code> to Display a Stripy Table</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:foreachinsertcol"><span class="numberline">90</span> Displaying Data with Row Numbers Using <code class="csfmt">\DTLforeach</code></a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:foreachextracol"><span class="numberline">91</span> Using <code class="csfmt">\DTLforeach</code> to Display Data in a Table with a Running Total Column</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:foreachedit"><span class="numberline">92</span> Editing a Database with <code class="csfmt">\DTLforeach</code></a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:constructtab"><span class="numberline">93</span> Loops and Alignment</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:nulldb-backref"><span class="numberline">94</span> CSV Data Containing Empty Cells and Missing Final Cells</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:displaydbnullmissing-backref"><span class="numberline">95</span> Constructed Data With Missing (Null) Values</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:mapnullemptymissing-backref"><span class="numberline">96</span> Display Data With Missing (Null) Values Shown as a Dash</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:mapnullemptymissing"><span class="numberline">97</span> Iterating Through Data with Empty or Missing Values</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:selectandeditrow"><span class="numberline">98</span> Editing a Row of Data</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:sortcsvnorepl"><span class="numberline">99</span> Sorting CSV Data Using <code class="csfmt">\DTLsortdata</code> by Organisation, Surname and Forename With No Replacements</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:sortdbrepl-backref"><span class="numberline">100</span> Sorting CSV Data Using <code class="csfmt">\DTLsortdata</code> by Organisation, Surname and Forename With Replacements</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:sortdbrepl"><span class="numberline">101</span> Sorting Data Using <code class="csfmt">\DTLsortdata</code> With Replacements (Null vs Empty)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:sortlocale"><span class="numberline">102</span> Sorting CSV Data Using <code class="csfmt">\DTLsortdata</code> With Language Support</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:sortcsvage"><span class="numberline">103</span> Sorting Data Using <code class="csfmt">\DTLsortdata</code> on Age then Surname (Empty or Null Values)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:sortmarksdes-backref"><span class="numberline">104</span> Sorting Data Using <code class="csfmt">\DTLsortdata</code> on Age then Surname (No Empty Sort Values)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:sortmarksdes"><span class="numberline">105</span> Sorting Data Using <code class="csfmt">\DTLsortdata</code> by Descending Numeric and Ascending String Values</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:dtlsortcsvrepl"><span class="numberline">106</span> Sorting CSV Data Using <code class="csfmt">\dtlsort</code> by Organisation, Surname and Forename With Replacements</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:loadcustomers"><span class="numberline">107</span> Loading and Saving Data (Be Careful of Category Codes)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:auto-reformat-csv-backref"><span class="numberline">108</span> Loading a TSV File</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:auto-reformat-csv"><span class="numberline">109</span> Automatically Reformatting Data While Loading a CSV file</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:piechartaction-backref"><span class="numberline">110</span> Pie Chart</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:piechartaction"><span class="numberline">111</span> Pie Chart (Action &#x2018;pie chart&#x2019;)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:piechartcondition"><span class="numberline">112</span> Pie Chart (Filtering)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:piechartcutaway"><span class="numberline">113</span> Separating Segments from a Pie Chart</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:piechartcutaway2"><span class="numberline">114</span> Separating a Range of Segments from a Pie Chart</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:piechartcutaway3"><span class="numberline">115</span> Separating Individual Consecutive Segments from a Pie Chart</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:piechartrotatelabels-backref"><span class="numberline">116</span> Pie Chart (Inner and Outer Labels)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:piechartrotatelabels"><span class="numberline">117</span> Pie Chart (Labels Rotated)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:piechartpercentlabels"><span class="numberline">118</span> Pie Chart (Percentage Rounding)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:piechartlabelfmt"><span class="numberline">119</span> Pie Chart (Changing the Label Format)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:piechartcolors"><span class="numberline">120</span> Pie Chart (Changing and Referencing the Segment Colours)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:barchartfruitaction-backref"><span class="numberline">121</span> Vertical Bar Chart</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:barchartprofits-backref"><span class="numberline">122</span> Vertical Bar Chart (Action &#x2018;bar chart&#x2019;)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:barchartmarks-backref"><span class="numberline">123</span> Horizontal Bar Chart</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:barchartmarks"><span class="numberline">124</span> Multi Bar Chart</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:barchartmarksaction"><span class="numberline">125</span> Multi Bar Chart (Action &#x2018;multibar chart&#x2019;)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:barchartfruitlabels"><span class="numberline">126</span> Bar Chart With Labels</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:barchartfruitactionlabels"><span class="numberline">127</span> Bar Chart With Labels (Action &#x2018;bar chart&#x2019;)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:barchartcondition"><span class="numberline">128</span> Bar Chart (Filtering)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:barchartlabelsalignsame-backref"><span class="numberline">129</span> Horizontal Bar Chart with Labels (Default Alignment)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:barchartlabelsalignsame"><span class="numberline">130</span> Horizontal Bar Chart with Labels (<span class="optfmt">lower-label-style=same</span>)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:barchartlabelsalignbelow"><span class="numberline">131</span> Horizontal Bar Chart with Labels (<span class="optfmt">lower-label-style=below</span>)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:barchartlabelsalignabove"><span class="numberline">132</span> Horizontal Bar Chart with Labels (<span class="optfmt">lower-label-style=above</span>)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:barchartupperlabelsalign"><span class="numberline">133</span> Horizontal Bar Chart with Upper Labels Over the Bars (negative <span class="optfmt">upper-label-offset</span>)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:barchartgrouplabel"><span class="numberline">134</span> Multi Bar Chart With Group Labels</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:barchartrotateyticlabels-backref"><span class="numberline">135</span> Bar Chart With Axes</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:barchartrotateyticlabels"><span class="numberline">136</span> Bar Chart With Rotated Tick Labels</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:barchartcyclecols-backref"><span class="numberline">137</span> Bar Chart With a Limited Set of Custom Colours</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:barchartcyclecols"><span class="numberline">138</span> Bar Chart Cycling through the Colour Set</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:barchartnegcol"><span class="numberline">139</span> Single Colours for Positive and Negative Bars</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:barcharteverybarshading"><span class="numberline">140</span> Shaded Bar</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:barcharteverybarpts"><span class="numberline">141</span> Hook at Every Bar</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:barcharteverybar"><span class="numberline">142</span> Every Bar Hook (Filtering)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:barchartlegend"><span class="numberline">143</span> Bar Chart With a Legend</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:barchartgrouplegend"><span class="numberline">144</span> Multi Bar Chart With a Legend</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:growthscatter1"><span class="numberline">145</span> Scatter Plot (One Database)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:growthscatter2"><span class="numberline">146</span> Scatter Plot (Two Databases)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:growthscatteraction"><span class="numberline">147</span> Scatter Plot (Action)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:growthscatter4col"><span class="numberline">148</span> Scatter Plot (One Database, Two Sets of Data)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:growthscatter4col2db"><span class="numberline">149</span> Scatter Plot (Two Databases, Two Sets of Data)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:growthscatter6col2db"><span class="numberline">150</span> Scatter Plot (Two Databases, Multiple Sets of Data)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:growthscatter6col2db2x3y"><span class="numberline">151</span> Scatter Plot With Mismatched X and Y Columns</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:growthscatter4col-legend"><span class="numberline">152</span> Scatter Plot with Custom Legend Labels (One Database, Two Sets of Data)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:growthscatter4col-legend2"><span class="numberline">153</span> Scatter Plot with Custom and Default Legend Labels (One Database, Two Sets of Data)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:growthscatter4col-legend3"><span class="numberline">154</span> Scatter Plot with an Omitted Legend Label (One Database, Two Sets of Data)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:growthscatter2namemap"><span class="numberline">155</span> Scatter Plot (Two Databases with Name Map)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:growthscatter6col2dbmap"><span class="numberline">156</span> Scatter Plot with Legend Label Mappings (Two Databases, Multiple Sets of Data)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:growthscatter6col2dbmapxy"><span class="numberline">157</span> Scatter Plot with Legend Label Mappings and Custom formatting (Two Databases, Multiple Sets of Data)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:growthscatter6col2dbmap2"><span class="numberline">158</span> Scatter Plot with Custom Legend Labels (Two Databases, Multiple Sets of Data)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:growthscatter6col2dbmap2shiftlegend"><span class="numberline">159</span> Scatter Plot with Shifted Legend (Two Databases, Multiple Sets of Data)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:growthscatter6col2dbmap2customlegend"><span class="numberline">160</span> Scatter Plot with Custom Legend (Two Databases, Multiple Sets of Data)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:growthscatterboth"><span class="numberline">161</span> Line and Scatter Plot (Two Databases)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:growthscatter6col2dbstyles"><span class="numberline">162</span> Scatter Plot with Custom Colours and Styles (Two Databases, Multiple Sets of Data)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:growthscatter6col2dbgroupstyles"><span class="numberline">163</span> Scatter Plot with the Same Line Colour for Each Stream in a Given Database (Two Databases, Multiple Sets of Data)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:growthscatter6col2dbresetstyles"><span class="numberline">164</span> Scatter Plot with Plot Marks Reset (Two Databases, Multiple Sets of Data)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:plotbounds"><span class="numberline">165</span> Setting the Plot Bounds</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:plotround"><span class="numberline">166</span> Rounding the Tick Labels</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:plotaxisstyle"><span class="numberline">167</span> Changing the Axis Style</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:plotgrid"><span class="numberline">168</span> Grid</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:plotcustomgrid"><span class="numberline">169</span> Custom Grid Lines</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:plotbox"><span class="numberline">170</span> Plot Encapsulated in a Box</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:plotboxticksnone"><span class="numberline">171</span> Plot Encapsulated in a Box Without Ticks</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:plotxy"><span class="numberline">172</span> Positive and Negative Axes</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:plotxyextend"><span class="numberline">173</span> Extending the Axes</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:plotxynodestyle"><span class="numberline">174</span> Changing the Tick Label Node Style</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:plotxysideaxes"><span class="numberline">175</span> Side Axes</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:plotboxextendedsideaxes"><span class="numberline">176</span> Side-Axes, Extended Axes and Boxed</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:plotboxextendednosideaxes"><span class="numberline">177</span> No Side-Axes, Extended Axes and Boxed</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:plotxyhooks"><span class="numberline">178</span> Redefining the Start and End Hooks</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:sortauthor"><span class="numberline">179</span> Bibliography Sorted by Author</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:bibtable"><span class="numberline">180</span> Tabulate Bib Data</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:bibsince"><span class="numberline">181</span> List of Publications Since a Given Year</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:topnbib"><span class="numberline">182</span> Five Most Recent Publications</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:compactbib"><span class="numberline">183</span> Compact Bibliography</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:highlightauthor"><span class="numberline">184</span> Highlighting a given author</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:jcbib"><span class="numberline">185</span> Separate List of Journals and Conference Papers</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:multibib"><span class="numberline">186</span> Multiple Bibliographies</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:abbrev-backref"><span class="numberline">187</span> Creating an Index</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:abbrev"><span class="numberline">188</span> Creating a List of Abbreviations</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:mailmerge"><span class="numberline">189</span> Mail Merging</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:memorial"><span class="numberline">190</span> Memorial Order of Service</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:memorial2"><span class="numberline">191</span> Memorial Order of Service (Shortcuts)</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:baptism"><span class="numberline">192</span> Baptism Order of Service</a></div><!-- end of toc-example -->
+
+<div class="toc-example"><a href="#ex:baptism2"><span class="numberline">193</span> Baptism Order of Service (Shortcuts and Localisation)</a></div><!-- end of toc-example -->
+</div><!-- end of loe -->
+<p>
+
+<p>
+
+</section><!-- end of section sec:listofexamples -->
+
+<section id="userguide"><!-- start of section userguide --><div class="tomain"><a href="#main">[top]</a></div>
+<div class="part"><!-- start of part header -->I. User Guide<span class="labellink"><a href="#userguide">[link]</a></span></div><!-- end of part header -->
+
+<p>
+
+</section><!-- end of section userguide -->
+
+<section id="sec:intro"><!-- start of section sec:intro --><div class="tomain"><a href="#main">[top]</a></div>
+<h1><!-- start of chapter header -->1. Introduction<span class="labellink"><a href="#sec:intro">[link]</a></span></h1><!-- end of chapter header -->
+
+<p>
+The following packages are provided by the <a id="wrglossary.9"></a><a href="#glo:pkg.datatool"><span class="styfmt">datatool</span></a> bundle:
+
+<ul class="displaylist">
+
+<li><span class="bulletitem">&#x2022;</span><a id="wrglossary.10"></a><a href="#glo:pkg.datatool-base"><span class="styfmt">datatool-base</span></a>
+This is the underlying package automatically loaded by all the other
+listed packages, but may be loaded without the other packages if
+only the base functions are required. The <a id="wrglossary.11"></a><a href="#glo:pkg.datatool-base"><span class="styfmt">datatool-base</span></a> package may be used to:
+
+<ul class="displaylist">
+
+<li><span class="bulletitem">&#x2013;</span>Determine whether an argument is an integer, a real number,
+currency or a string. Locale dependent number settings are supported (such
+as a comma as a decimal character and a full stop as a number
+group character). As from version 3.0, scientific notation is also
+supported.
+<li><span class="bulletitem">&#x2013;</span>Convert locale dependent numbers or currency to <a id="wrglossary.12"></a><a href="#glo:dual.plainnumber">plain number</a>
+format, enabling arithmetic to be performed on elements of the database.
+<li><span class="bulletitem">&#x2013;</span>Names can be converted to initials.
+<li><span class="bulletitem">&#x2013;</span>Determine if strings are all upper or lower case.
+<li><span class="bulletitem">&#x2013;</span>Perform string comparisons (both case sensitive and case insensitive).
+
+</ul>
+
+See &#xa7;<a href="#sec:base">2</a>.
+<p>
+<li><span class="bulletitem">&#x2022;</span><a id="wrglossary.13"></a><a href="#glo:pkg.datatool"><span class="styfmt">datatool</span></a>
+<p>
+Main package providing database support.
+Automatically loads <a id="wrglossary.14"></a><a href="#glo:pkg.datatool-base"><span class="styfmt">datatool-base</span></a>.
+This package can be used to:
+
+<ul class="displaylist">
+
+<li><span class="bulletitem">&#x2013;</span>Create or load databases.
+<li><span class="bulletitem">&#x2013;</span>Sort rows of a database (either numerically or alphabetically,
+ascending or descending).
+<li><span class="bulletitem">&#x2013;</span>Perform repetitive operations on each row of a database
+(e.g. mail merging). Conditions may be imposed to exclude rows.
+
+</ul>
+
+Database commands are described in &#xa7;<a href="#sec:databases">3</a>.
+<p>
+<li><span class="bulletitem">&#x2022;</span><a id="wrglossary.15"></a><a href="#glo:pkg.datagidx"><span class="styfmt">datagidx</span></a>
+<p>
+The <a id="wrglossary.16"></a><a href="#glo:pkg.datagidx"><span class="styfmt">datagidx</span></a> package (see &#xa7;<a href="#sec:datagidx">8</a>) can be used
+to generate indexes or glossaries as an alternative to packages
+such as <a id="wrglossary.17"></a><a href="#glo:pkg.glossaries"><span class="styfmt">glossaries</span></a>. Note that <a id="wrglossary.18"></a><a href="#glo:pkg.datagidx"><span class="styfmt">datagidx</span></a> is far more
+limited than <a id="wrglossary.19"></a><a href="#glo:pkg.glossaries"><span class="styfmt">glossaries</span></a> and doesn&#x2019;t provide any localisation
+support. See &#xa7;<a href="#sec:datagidx">8</a>.
+<p>
+<li><span class="bulletitem">&#x2022;</span><a id="wrglossary.20"></a><a href="#glo:pkg.datapie"><span class="styfmt">datapie</span></a>
+<p>
+The <a id="wrglossary.21"></a><a href="#glo:pkg.datapie"><span class="styfmt">datapie</span></a> package can be used to convert a database into
+a pie chart:
+
+<ul class="displaylist">
+
+<li><span class="bulletitem">&#x2013;</span>Segments can be separated from the rest of the chart to make
+them stand out.
+<li><span class="bulletitem">&#x2013;</span>Colour/grey scale options.
+<li><span class="bulletitem">&#x2013;</span>Predefined segment colours can be changed.
+<li><span class="bulletitem">&#x2013;</span>Hooks provided to add extra information to the chart
+
+</ul>
+
+See &#xa7;<a href="#sec:datapie">4</a>.
+<p>
+<li><span class="bulletitem">&#x2022;</span><a id="wrglossary.22"></a><a href="#glo:pkg.dataplot"><span class="styfmt">dataplot</span></a>
+<p>
+The <a id="wrglossary.23"></a><a href="#glo:pkg.dataplot"><span class="styfmt">dataplot</span></a> package can be used to convert a database into
+a two dimensional plot using markers and/or lines. Three dimensional
+plots are currently not supported.
+See &#xa7;<a href="#sec:dataplot">6</a>.
+<p>
+<li><span class="bulletitem">&#x2022;</span><a id="wrglossary.24"></a><a href="#glo:pkg.databar"><span class="styfmt">databar</span></a>
+<p>
+The <a id="wrglossary.25"></a><a href="#glo:pkg.databar"><span class="styfmt">databar</span></a> package can be used to convert a database into
+a bar chart:
+
+<ul class="displaylist">
+
+<li><span class="bulletitem">&#x2013;</span>Colour/grey scale options.
+<li><span class="bulletitem">&#x2013;</span>Predefined bar colours can be changed.
+<li><span class="bulletitem">&#x2013;</span>Hooks provided to add extra information to the chart
+
+</ul>
+
+See &#xa7;<a href="#sec:databar">5</a>.
+<p>
+<li><span class="bulletitem">&#x2022;</span><a id="wrglossary.26"></a><a href="#glo:pkg.databib"><span class="styfmt">databib</span></a>
+<p>
+The <a id="wrglossary.27"></a><a href="#glo:pkg.databib"><span class="styfmt">databib</span></a> package can be used to convert a BibTeX database
+into a <a id="wrglossary.28"></a><a href="#glo:pkg.datatool"><span class="styfmt">datatool</span></a> database.
+See &#xa7;<a href="#sec:databib">7</a>.
+<p>
+<li><span class="bulletitem">&#x2022;</span><a id="wrglossary.29"></a><a href="#glo:pkg.person"><span class="styfmt">person</span></a>
+<p>
+The <a id="wrglossary.30"></a><a href="#glo:pkg.person"><span class="styfmt">person</span></a> package can be used to reference people by the
+appropriate gender pronouns. Automatically loads <a id="wrglossary.31"></a><a href="#glo:pkg.datatool"><span class="styfmt">datatool</span></a>.
+See &#xa7;<a href="#sec:person">9</a>.
+<p>
+
+</ul>
+
+<p>
+<div class="information"><div class="informationtitle"><a href="#glo:sym.information"><span title="Information" class="icon">&#x1f6c8;</span></a></div><!-- end of informationtitle -->
+The <a id="wrglossary.32"></a><a href="#glo:pkg.datapie"><span class="styfmt">datapie</span></a> and <a id="wrglossary.33"></a><a href="#glo:pkg.databar"><span class="styfmt">databar</span></a> packages do not support the
+creation of 3D charts, and I have no plans to implement them at any
+later date. The use of 3D charts should be discouraged. They may look
+pretty, but the purpose of a chart is to be informative. Three
+dimensional graphics cause distortion, which can result in misleading
+impressions. The <a id="wrglossary.34"></a><a href="#glo:pkg.pgf"><span class="styfmt">pgf</span></a> manual provides a more in-depth
+discussion on the matter.
+</div><!-- end of information -->
+
+<p>
+The code providing the mathematical functions have some limitations.
+These limitations will therefore also be present in the various
+packages provided with <a id="wrglossary.35"></a><a href="#glo:pkg.datatool"><span class="styfmt">datatool</span></a>, according to the underlying
+package (<a id="wrglossary.36"></a><a href="#glo:pkg.fp"><span class="styfmt">fp</span></a> or <a id="wrglossary.37"></a><a href="#glo:pkg.pgfmath"><span class="styfmt">pgfmath</span></a>) or LaTeX3 kernel commands or Lua
+code used. As from version 3.0, the new default is
+<a id="wrglossary.38"></a><a href="#glo:optval.math.lua"><span class="optfmt">lua</span></a>, if <a id="wrglossary.39"></a><a href="#glo:directlua"><code class="csfmt">\directlua</code></a> is defined, or
+<a id="wrglossary.40"></a><a href="#glo:optval.math.l3fp"><span class="optfmt">l3fp</span></a> otherwise. To avoid repeated parsing, some
+functions, such as the aggregate functions
+(&#xa7;<a href="#sec:dbarith">3.13</a>) or charts
+(&#xa7;&#xa7;<a href="#sec:datapie">4</a>, <a href="#sec:dataplot">6</a> & <a href="#sec:databar">5</a>), will use LaTeX3
+commands regardless of the <a id="wrglossary.41"></a><a href="#glo:opt.math"><span class="styoptfmt">math</span></a> option.
+<p>
+
+</section><!-- end of section sec:intro -->
+
+<section id="sec:rollback"><!-- start of section sec:rollback --><div class="tomain"><a href="#main">[top]</a></div>
+<h2><!-- start of section header -->1.1. Rollback<span class="labellink"><a href="#sec:rollback">[link]</a></span></h2><!-- end of section header -->
+
+<p>
+Version 3.0 is a major new version where many commands have been
+rewritten to use LaTeX3 macros. Additionally, some packages, such
+as <a id="wrglossary.42"></a><a href="#glo:pkg.xkeyval"><span class="styfmt">xkeyval</span></a> and <a id="wrglossary.43"></a><a href="#glo:pkg.substr"><span class="styfmt">substr</span></a> are no longer loaded.
+If you experience any backward-compatibility problems with the new
+version, you can rollback to the previous version (2.32):
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><code class="cmd">\usepackage</code>{datatool}[=v2.32]
+</pre>
+<p>
+<div class="important"><div class="importanttitle"><a href="#glo:sym.important"><span title="Important" class="icon">&#x2139;</span></a></div><!-- end of importanttitle -->
+Rollback provides a useful way of reverting back to an earlier
+release if there&#x2019;s a problem with a new version. However,
+the further away the rollback date is from the current LaTeX kernel,
+the more likely that incompatibilities will occur.
+If you have historic documents that you need to compile, consider
+using the historic TeX Live Docker images.
+(See, for example,
+<a href="https://www.dickimaw-books.com/blog/legacy-documents-and-tex-live-docker-images">Legacy Documents and TeX Live Docker Images</a>.)
+</div><!-- end of important -->
+
+<p>
+
+</section><!-- end of section sec:rollback -->
+
+<section id="sec:latex3"><!-- start of section sec:latex3 --><div class="tomain"><a href="#main">[top]</a></div>
+<h2><!-- start of section header -->1.2. LaTeX3<span class="labellink"><a href="#sec:latex3">[link]</a></span></h2><!-- end of section header -->
+
+<p>
+The LaTeX kernel has changed significantly since <a id="wrglossary.44"></a><a href="#glo:pkg.datatool"><span class="styfmt">datatool</span></a>
+was first released in 2007. There is now improved support for
+<a id="wrglossary.45"></a><a href="#glo:dual.utf8">UTF-8</a> and many of the commands provided by <a id="wrglossary.46"></a><a href="#glo:pkg.datatool"><span class="styfmt">datatool</span></a> now
+have much better LaTeX3 alternatives. You may find some tasks more
+efficient if you use LaTeX3 commands directly. However, LaTeX3
+commands are intended for internal use within the definitions of
+document commands rather than explicit use in the document.
+<p>
+LaTeX3 syntax must first be switched on (<a id="wrglossary.47"></a><dfn id="glo:ExplSyntaxOn"><code class="csfmt">\ExplSyntaxOn</code></dfn>)
+before defining commands that use them and then switched off
+(<a id="wrglossary.48"></a><dfn id="glo:ExplSyntaxOff"><code class="csfmt">\ExplSyntaxOff</code></dfn>) afterwards. Spaces are ignored, so you
+need to use <a id="wrglossary.49"></a><dfn id="glo:idx.l3sp"><code class="code">~</code></dfn> if an actual space is required.
+Further information can be found in the <span class="filefmt">interface3.pdf</span>
+document:
+<pre class="terminal"><div class="terminaltitle"><a href="#glo:sym.terminal"><span title="Terminal" class="icon">&#x232a;_</span></a></div><a href="https://www.tug.org/texdoc/">texdoc</a> interface3</pre>
+<p>
+
+</section><!-- end of section sec:latex3 -->
+
+<section id="sec:l3regex"><!-- start of section sec:l3regex --><div class="tomain"><a href="#main">[top]</a></div>
+<h3><!-- start of subsection header -->1.2.1. Regular Expressions<span class="labellink"><a href="#sec:l3regex">[link]</a></span></h3><!-- end of subsection header -->
+
+<p>
+<div class="marginright"><a id="ex:l3regex-backref">&#x1f5b9;</a><a href="#ex:l3regex">1</a></div>LaTeX3 provides commands for regular expressions. A simple example
+is shown below that replaces <code class="code"><span class="cmdfmt">\emph</span>{boo}</code> with
+<code class="code"><span class="cmdfmt">\textbf</span>{BOO}</code>. More generally, the custom command
+searches for any instance of <code class="code"><span class="cmdfmt">\emph</span>{<span class="meta">&#x2329;<em class="metainner">word</em>&#x232a;</span>}</code>, where
+<span class="meta">&#x2329;<em class="metainner">word</em>&#x232a;</span> consists of one or more word characters
+(<code class="code"><code class="csfmt">\w</code>+</code>), and replaces it with
+<code class="code"><span class="cmdfmt">\textbf</span>{<span class="meta">&#x2329;<em class="metainner">WORD</em>&#x232a;</span>}</code>, where the argument is the original
+<span class="meta">&#x2329;<em class="metainner">word</em>&#x232a;</span> converted to <a id="wrglossary.50"></a><a href="#glo:idx.uppercase">uppercase</a> using <a id="wrglossary.51"></a><a href="#glo:textuppercase:n"><code class="csfmt">\text_uppercase:n</code></a>.
+<p>
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><code class="cmd">\documentclass</code>{article}
+<a id="wrglossary.52"></a><a href="#glo:ExplSyntaxOn"><code class="csfmt">\ExplSyntaxOn</code></a>
+<code class="cmd">\NewDocumentCommand</code>{<code class="cmd">\testreplace</code>} { m }
+{
+  <a id="wrglossary.53"></a><a href="#glo:regexreplaceall:nnN"><code class="csfmt">\regex_replace_all:nnN</code></a> 
+   { <code class="cmd">\c</code>{emph} <code class="cmd">\cB</code><a id="wrglossary.54"></a><a href="#glo:cs.openbrace">\{</a> (<code class="cmd">\w</code>+) <code class="cmd">\cE</code><a id="wrglossary.55"></a><a href="#glo:cs.closebrace">\}</a> }
+   { <code class="cmd">\c</code>{textbf} { <code class="cmd">\c</code>{text_uppercase:n}{ <code class="cmd">\1</code> } } }
+   #1
+}
+<a id="wrglossary.56"></a><a href="#glo:ExplSyntaxOff"><code class="csfmt">\ExplSyntaxOff</code></a>
+<code class="cbeg">\begin{document}</code>
+<code class="cmd">\newcommand</code>{<code class="cmd">\teststring</code>}{The duck said <code class="cmd">\emph</code>{boo} to the goose.}
+Original: <code class="cmd">\teststring</code>
+
+<code class="cmd">\testreplace</code>{<code class="cmd">\teststring</code>}
+Replaced: <code class="cmd">\teststring</code>
+<code class="cend">\end{document}</code>
+</pre>
+<div class="resultbox"><div class="resultboxtitle"><a href="#glo:sym.result"><span title="Result" class="icon">&#x1f5ba;</span></a></div><!-- end of resultboxtitle -->
+<a href="#sec:l3regex"><span title="Up" class="icon">&#x2b71;</span></a><a id="ex:l3regex"></a>Example 1: Regular Expressions with LaTeX3 <a href="datatool-user-examples/datatool-user-example001.tex" class="icon"><span title="Download TeX File" class="icon">&#x1f4e5;<sup>&#x1f5b9;</sup></span></a> <a href="datatool-user-examples/datatool-user-example001.pdf" class="icon"><span title="Download PDF" class="icon">&#x1f4e5;<sup>&#x1f5ba;</sup></span></a>
+<p>
+<object data="datatool-user-examples/datatool-user-example001.png" type="image/png" width="230" height="26">Example document using LaTeX3 regular expressions.</object>
+</div><!-- end of resultbox -->
+
+<p>
+
+</section><!-- end of section sec:l3regex -->
+
+<section id="sec:l3clist"><!-- start of section sec:l3clist --><div class="tomain"><a href="#main">[top]</a></div>
+<h3><!-- start of subsection header -->1.2.2. Comma-Separated Lists<span class="labellink"><a href="#sec:l3clist">[link]</a></span></h3><!-- end of subsection header -->
+
+<p>
+<div class="marginright"><a id="ex:l3clist-backref">&#x1f5b9;</a><a href="#ex:l3clist">2</a></div>LaTeX3 provides commands for dealing with <a id="wrglossary.57"></a><a href="#glo:dual.CSV">CSV</a> lists.
+You may prefer to use those instead of the commands provided by
+<a id="wrglossary.58"></a><a href="#glo:pkg.datatool-base"><span class="styfmt">datatool-base</span></a> described in &#xa7;<a href="#sec:csvlists">2.9</a>.
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><code class="cmd">\documentclass</code>{article}
+<a id="wrglossary.59"></a><a href="#glo:ExplSyntaxOn"><code class="csfmt">\ExplSyntaxOn</code></a>
+<code class="cmd">\clist_new:N <code class="cmd">\l_my_clist</code></code>
+<code class="cmd">\NewDocumentCommand</code> <code class="cmd">\createmylist</code> { m }
+{
+  <code class="cmd">\clist_set:Nn</code> <code class="cmd">\l_my_clist</code> { #1 }
+}
+<code class="cmd">\NewDocumentCommand</code> <code class="cmd">\mylistelement</code> { m }
+{
+  <code class="cmd">\clist_item:Nn</code> <code class="cmd">\l_my_clist</code> { #1 }
+}
+<code class="cmd">\NewDocumentCommand</code> <code class="cmd">\reversemylist</code> { }
+{
+  <code class="cmd">\clist_reverse:N</code> <code class="cmd">\l_my_clist</code>
+}
+<code class="cmd">\NewDocumentCommand</code> <code class="cmd">\displaymylist</code> { }
+{
+  <code class="cmd">\clist_use:Nnnn</code> <code class="cmd">\l_my_clist</code> {<a id="wrglossary.60"></a><a href="#glo:idx.l3sp"><code class="code">~</code></a>and<a id="wrglossary.61"></a><a href="#glo:idx.l3sp"><code class="code">~</code></a> } { ,<a id="wrglossary.62"></a><a href="#glo:idx.l3sp"><code class="code">~</code></a> } { ,<a id="wrglossary.63"></a><a href="#glo:idx.l3sp"><code class="code">~</code></a>and<a id="wrglossary.64"></a><a href="#glo:idx.l3sp"><code class="code">~</code></a>}
+}
+<a id="wrglossary.65"></a><a href="#glo:ExplSyntaxOff"><code class="csfmt">\ExplSyntaxOff</code></a>
+<code class="cbeg">\begin{document}</code>
+<code class="cmd">\createmylist</code>{ant,duck,goose,zebra}
+<code class="cmd">\displaymylist</code>
+
+Second element: <code class="cmd">\mylistelement</code>{2}.
+
+<code class="cmd">\reversemylist</code>
+<code class="cmd">\displaymylist</code>
+
+Second element: <code class="cmd">\mylistelement</code>{2}.
+<code class="cend">\end{document}</code>
+</pre>
+<div class="resultbox"><div class="resultboxtitle"><a href="#glo:sym.result"><span title="Result" class="icon">&#x1f5ba;</span></a></div><!-- end of resultboxtitle -->
+<a href="#sec:l3clist"><span title="Up" class="icon">&#x2b71;</span></a><a id="ex:l3clist"></a>Example 2: Comma-Separated Lists with LaTeX3 <a href="datatool-user-examples/datatool-user-example002.tex" class="icon"><span title="Download TeX File" class="icon">&#x1f4e5;<sup>&#x1f5b9;</sup></span></a> <a href="datatool-user-examples/datatool-user-example002.pdf" class="icon"><span title="Download PDF" class="icon">&#x1f4e5;<sup>&#x1f5ba;</sup></span></a>
+<p>
+<object data="datatool-user-examples/datatool-user-example002.png" type="image/png" width="141" height="55">Example document using LaTeX3 comma-separated list commands.</object>
+</div><!-- end of resultbox -->
+
+<p>
+
+</section><!-- end of section sec:l3clist -->
+
+<section id="sec:l3calc"><!-- start of section sec:l3calc --><div class="tomain"><a href="#main">[top]</a></div>
+<h3><!-- start of subsection header -->1.2.3. Calculations<span class="labellink"><a href="#sec:l3calc">[link]</a></span></h3><!-- end of subsection header -->
+
+<p>
+<div class="marginright"><a id="ex:l3fptodec-backref">&#x1f5b9;</a><a href="#ex:l3fptodec">3</a></div>If you have complex calculations, you may prefer to use LaTeX3
+commands directly instead of
+using the <a id="wrglossary.66"></a><a href="#glo:pkg.datatool-base"><span class="styfmt">datatool-base</span></a> commands described in
+&#xa7;<a href="#sec:plainfp">2.5.1</a>.
+<p>
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><code class="cmd">\documentclass</code>{article}
+<a id="wrglossary.67"></a><a href="#glo:ExplSyntaxOn"><code class="csfmt">\ExplSyntaxOn</code></a>
+<code class="cmd">\newcommand</code>{<code class="cmd">\myfunc</code>} [3]
+{
+  <a id="wrglossary.68"></a><a href="#glo:fptodecimal:n"><code class="csfmt">\fp_to_decimal:n</code></a>{ #1 + 0.5 * sqrt(#2) / (#3) }
+}
+<a id="wrglossary.69"></a><a href="#glo:ExplSyntaxOff"><code class="csfmt">\ExplSyntaxOff</code></a>
+<code class="cmd">\newcommand</code>{<code class="cmd">\numA</code>}{1023.5}
+<code class="cmd">\newcommand</code>{<code class="cmd">\numB</code>}{54.75000}
+<code class="cmd">\newcommand</code>{<code class="cmd">\numC</code>}{-20648.68}
+<code class="cbeg">\begin{document}</code>
+$ <code class="cmd">\numA</code>+<code class="cmd">\frac</code>{<code class="cmd">\sqrt</code>{<code class="cmd">\numB</code>}}{2<code class="cmd">\times</code><code class="cmd">\numC</code>} = 
+<code class="cmd">\myfunc</code>{<code class="cmd">\numA</code>}{<code class="cmd">\numB</code>}{<code class="cmd">\numC</code>} $
+<code class="cend">\end{document}</code>
+</pre>
+<div class="resultbox"><div class="resultboxtitle"><a href="#glo:sym.result"><span title="Result" class="icon">&#x1f5ba;</span></a></div><!-- end of resultboxtitle -->
+<a href="#sec:l3calc"><span title="Up" class="icon">&#x2b71;</span></a><a id="ex:l3fptodec"></a>Example 3: Performing Calculations with LaTeX3 <a href="datatool-user-examples/datatool-user-example003.tex" class="icon"><span title="Download TeX File" class="icon">&#x1f4e5;<sup>&#x1f5b9;</sup></span></a> <a href="datatool-user-examples/datatool-user-example003.pdf" class="icon"><span title="Download PDF" class="icon">&#x1f4e5;<sup>&#x1f5ba;</sup></span></a>
+<p>
+<object data="datatool-user-examples/datatool-user-example003.png" type="image/png" width="211" height="17">Example document that uses LaTeX3 floating point
+commands.</object>
+</div><!-- end of resultbox -->
+
+If you plan on re-parsing commands such as the example <code class="csfmt">\numA</code>,
+<code class="csfmt">\numB</code> and <code class="csfmt">\numC</code> commands, then it would be better to
+convert them to LaTeX3 floating point variables or constants.
+See the LaTeX3 Interfaces document for further details.
+<p>
+<div class="marginright"><a id="ex:directlua-backref">&#x1f5b9;</a><a href="#ex:directlua">4</a></div>Example <a href="#ex:directlua">4</a> performs the same calculation but
+uses <a id="wrglossary.70"></a><a href="#glo:directlua"><code class="csfmt">\directlua</code></a>, which requires LuaLaTeX:
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><code class="cmd">\newcommand</code>{<code class="cmd">\myfunc</code>}[3]{<span class="comment">% </span>
+  <a id="wrglossary.71"></a><a href="#glo:directlua"><code class="csfmt">\directlua</code></a>{tex.print(#1+0.5*math.sqrt(#2)/(#3))}<span class="comment">% </span>
+}
+</pre>
+<div class="resultbox"><div class="resultboxtitle"><a href="#glo:sym.result"><span title="Result" class="icon">&#x1f5ba;</span></a></div><!-- end of resultboxtitle -->
+<a href="#sec:l3calc"><span title="Up" class="icon">&#x2b71;</span></a><a id="ex:directlua"></a>Example 4: Performing Calculations with LuaLaTeX <a href="datatool-user-examples/datatool-user-example004.tex" class="icon"><span title="Download TeX File" class="icon">&#x1f4e5;<sup>&#x1f5b9;</sup></span></a> <a href="datatool-user-examples/datatool-user-example004.pdf" class="icon"><span title="Download PDF" class="icon">&#x1f4e5;<sup>&#x1f5ba;</sup></span></a>
+<p>
+<object data="datatool-user-examples/datatool-user-example004.png" type="image/png" width="199" height="17">Example document that uses Lua to perform floating
+point arithmetic.</object>
+</div><!-- end of resultbox -->
+
+<p>
+
+</section><!-- end of section sec:l3calc -->
+
+<section id="sec:base"><!-- start of section sec:base --><div class="tomain"><a href="#main">[top]</a></div>
+<h1><!-- start of chapter header -->2. Base Commands (<span class="styfmt">datatool-base</span> package)<span class="labellink"><a href="#sec:base">[link]</a></span></h1><!-- end of chapter header -->
+
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.72"></a><code class="code"><code class="cmd">\usepackage</code>[<span class="meta">&#x2329;<em class="metainner">options</em>&#x232a;</span>]{<dfn id="glo:pkg.datatool-base"><span class="styfmt">datatool-base</span></dfn>}</code></div><!-- end of pinnedbox -->
+
+<p>
+The <a id="wrglossary.73"></a><a href="#glo:pkg.datatool-base"><span class="styfmt">datatool-base</span></a> package may be loaded on its own, without
+the <a id="wrglossary.74"></a><a href="#glo:pkg.datatool"><span class="styfmt">datatool</span></a> package, if no database commands (see
+&#xa7;<a href="#sec:databases">3</a>) are required. Available package options
+for <a id="wrglossary.75"></a><a href="#glo:pkg.datatool-base"><span class="styfmt">datatool-base</span></a> are listed below.
+<p>
+
+</section><!-- end of section sec:base -->
+
+<section id="sec:baseoptions"><!-- start of section sec:baseoptions --><div class="tomain"><a href="#main">[top]</a></div>
+<h2><!-- start of section header -->2.1. <span class="styfmt">datatool-base</span> Options<span class="labellink"><a href="#sec:baseoptions">[link]</a></span></h2><!-- end of section header -->
+
+<p>
+Options can be passed through the package option list in the usual
+way. Some options may also be later set with:
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.76"></a><code class="code"><dfn id="glo:DTLsetup"><code class="csfmt">\DTLsetup</code></dfn>{<span class="meta">&#x2329;<em class="metainner">key=value list</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+(Options specific to locale files should be set with <a id="wrglossary.77"></a><a href="#glo:DTLsetLocaleOptions"><code class="csfmt">\DTLsetLocaleOptions</code></a>,
+see &#xa7;<a href="#sec:localisation">2.3</a>.)
+<p>
+<div class="settingsbox"><div class="settingsboxtitle"><a href="#glo:sym.valuesetting"><span title="Setting" class="icon"><span class="quarterleft">&#x1f39a;</span></span></a></div><!-- end of settingsboxtitle -->
+<a id="wrglossary.78"></a><code class="code"><dfn id="glo:opt.math"><span class="styoptfmt">math</span></dfn>=<span class="meta">&#x2329;<em class="metainner">processor</em>&#x232a;</span></code><span class="floatrightbox"><span class="summarytag">initial: </span><span class="initvalnotefmt"><em class="initvalnotefmtinner">varies</em></span></span><span class="clearfix"></span></div><!-- end of settingsbox -->
+
+This setting may only be used as a package option, not in
+<a id="wrglossary.79"></a><a href="#glo:DTLsetup"><code class="csfmt">\DTLsetup</code></a>, and identifies the required maths processor. This determines
+how the floating point commands described in &#xa7;<a href="#sec:fp">2.5</a>
+are defined. The value may be one of the following.
+<p>
+<div class="optionvaluebox"><div class="optionvalueboxtitle"><a href="#glo:sym.optionvalue"><span title="Option Value Definition" class="icon">&#x1f516;</span></a></div><!-- end of optionvalueboxtitle -->
+<a id="wrglossary.80"></a><a id="wrglossary.81"></a><a href="#glo:opt.math"><span class="styoptfmt">math</span></a>=<code class="code"><dfn id="glo:optval.math.l3fp"><span class="optfmt">l3fp</span></dfn></code></div><!-- end of optionvaluebox -->
+
+This setting defines the <a id="wrglossary.82"></a><a href="#glo:pkg.datatool-base"><span class="styfmt">datatool-base</span></a>
+floating point commands (such as <a id="wrglossary.83"></a><a href="#glo:dtladd"><code class="csfmt">\dtladd</code></a>) to use LaTeX3 commands.
+This is the default setting unless LuaLaTeX is used.
+<p>
+<div class="optionvaluebox"><div class="optionvalueboxtitle"><a href="#glo:sym.optionvalue"><span title="Option Value Definition" class="icon">&#x1f516;</span></a></div><!-- end of optionvalueboxtitle -->
+<a id="wrglossary.84"></a><a id="wrglossary.85"></a><a href="#glo:opt.math"><span class="styoptfmt">math</span></a>=<code class="code"><dfn id="glo:optval.math.lua"><span class="optfmt">lua</span></dfn></code></div><!-- end of optionvaluebox -->
+
+This setting defines the <a id="wrglossary.86"></a><a href="#glo:pkg.datatool-base"><span class="styfmt">datatool-base</span></a> floating point commands
+(such as <a id="wrglossary.87"></a><a href="#glo:dtladd"><code class="csfmt">\dtladd</code></a>) to use <a id="wrglossary.88"></a><a href="#glo:directlua"><code class="csfmt">\directlua</code></a> to perform the
+mathematical calculations. This is the default setting if LuaLaTeX is used.
+<p>
+<div class="optionvaluebox"><div class="optionvalueboxtitle"><a href="#glo:sym.optionvalue"><span title="Option Value Definition" class="icon">&#x1f516;</span></a></div><!-- end of optionvalueboxtitle -->
+<a id="wrglossary.89"></a><a id="wrglossary.90"></a><a href="#glo:opt.math"><span class="styoptfmt">math</span></a>=<code class="code"><dfn id="glo:optval.math.fp"><span class="optfmt">fp</span></dfn></code></div><!-- end of optionvaluebox -->
+
+This setting defines the <a id="wrglossary.91"></a><a href="#glo:pkg.datatool-base"><span class="styfmt">datatool-base</span></a> floating point commands
+(such as <a id="wrglossary.92"></a><a href="#glo:dtladd"><code class="csfmt">\dtladd</code></a>) to use the <a id="wrglossary.93"></a><a href="#glo:pkg.fp"><span class="styfmt">fp</span></a> package commands to perform the
+mathematical calculations. (Automatically loads the <a id="wrglossary.94"></a><a href="#glo:pkg.fp"><span class="styfmt">fp</span></a>
+package.) Note that the <a id="wrglossary.95"></a><a href="#glo:pkg.fp"><span class="styfmt">fp</span></a> package can be less precise than 
+LaTeX3 or Lua. (See Examples <a href="#ex:l3fpcalc">37</a>, <a href="#ex:fpcalc">39</a> & <a href="#ex:luacalc">38</a>.)
+<p>
+<div class="optionvaluebox"><div class="optionvalueboxtitle"><a href="#glo:sym.optionvalue"><span title="Option Value Definition" class="icon">&#x1f516;</span></a></div><!-- end of optionvalueboxtitle -->
+<a id="wrglossary.96"></a><a id="wrglossary.97"></a><a href="#glo:opt.math"><span class="styoptfmt">math</span></a>=<code class="code"><dfn id="glo:optval.math.pgfmath"><span class="optfmt">pgfmath</span></dfn></code></div><!-- end of optionvaluebox -->
+
+This setting defines the <a id="wrglossary.98"></a><a href="#glo:pkg.datatool-base"><span class="styfmt">datatool-base</span></a> floating point commands
+(such as <a id="wrglossary.99"></a><a href="#glo:dtladd"><code class="csfmt">\dtladd</code></a>) to use the <a id="wrglossary.100"></a><a href="#glo:pkg.pgfmath"><span class="styfmt">pgfmath</span></a> package commands to perform the
+mathematical calculations. (Automatically loads the <a id="wrglossary.101"></a><a href="#glo:pkg.pgfmath"><span class="styfmt">pgfmath</span></a>
+package.) Note that the <a id="wrglossary.102"></a><a href="#glo:pkg.pgfmath"><span class="styfmt">pgfmath</span></a> package has limitations and
+may produce the error:
+<pre class="transcript"><div class="transcripttitle"><a href="#glo:sym.transcript"><span title="Transcript" class="icon">&#x1f50e;</span></a></div>! Dimension too large
+</pre>
+This option is maintained for backward-compatibility but, in
+general, the new default <a id="wrglossary.103"></a><a href="#glo:optval.math.l3fp"><span class="optfmt">l3fp</span></a> or <a id="wrglossary.104"></a><a href="#glo:optval.math.lua"><span class="optfmt">lua</span></a> 
+options are better.
+<p>
+<div class="information"><div class="informationtitle"><a href="#glo:sym.information"><span title="Information" class="icon">&#x1f6c8;</span></a></div><!-- end of informationtitle -->
+As from version 3.0, some functions, such as the aggregate functions
+(&#xa7;<a href="#sec:dbarith">3.13</a>) or charts
+(&#xa7;&#xa7;<a href="#sec:datapie">4</a>, <a href="#sec:dataplot">6</a> & <a href="#sec:databar">5</a>), will use LaTeX3
+commands regardless of the <a id="wrglossary.105"></a><a href="#glo:opt.math"><span class="styoptfmt">math</span></a> option to avoid repeated
+parsing.
+</div><!-- end of information -->
+
+<p>
+<div class="settingsbox"><div class="settingsboxtitle"><a href="#glo:sym.toggleoffsetting"><span title="Toggle (Off)" class="icon"><span class="fwsdisabledicon">&#x1f518;&#xfe0e;</span></span></a></div><!-- end of settingsboxtitle -->
+<a id="wrglossary.106"></a><code class="code"><dfn id="glo:opt.verbose"><span class="csoptfmt">verbose</span></dfn>=<span class="meta">&#x2329;<em class="metainner">boolean</em>&#x232a;</span></code><span class="floatrightbox"><span class="summarytag">default: </span>true; <span class="summarytag">initial: </span>false</span><span class="clearfix"></span></div><!-- end of settingsbox -->
+
+If true, this option will write extra informational messages to the
+transcript.
+<p>
+<div class="settingsbox"><div class="settingsboxtitle"><a href="#glo:sym.valuesetting"><span title="Setting" class="icon"><span class="quarterleft">&#x1f39a;</span></span></a></div><!-- end of settingsboxtitle -->
+<a id="wrglossary.107"></a><code class="code"><dfn id="glo:opt.lang-warn"><span class="styoptfmt">lang-warn</span></dfn>={<span class="meta">&#x2329;<em class="metainner">boolean</em>&#x232a;</span>}</code><span class="floatrightbox"><span class="summarytag">default: </span>true; <span class="summarytag">initial: </span>true</span><span class="clearfix"></span></div><!-- end of settingsbox -->
+
+This setting may only be used as a package option, not in <a id="wrglossary.108"></a><a href="#glo:DTLsetup"><code class="csfmt">\DTLsetup</code></a>.
+If false, this setting switches off localisation warnings. Note that
+this will also switch off <a id="wrglossary.109"></a><a href="#glo:pkg.tracklang"><span class="styfmt">tracklang</span></a> warnings. If true, this
+setting will switch on <a id="wrglossary.110"></a><a href="#glo:pkg.datatool-base"><span class="styfmt">datatool-base</span></a> localisation warnings
+without altering <a id="wrglossary.111"></a><a href="#glo:pkg.tracklang"><span class="styfmt">tracklang</span></a> warnings. If you need
+<a id="wrglossary.112"></a><a href="#glo:pkg.tracklang"><span class="styfmt">tracklang</span></a> warnings to be switched back on again for the next
+package that requires it, use <a id="wrglossary.113"></a><a href="#glo:TrackLangShowWarningstrue"><code class="csfmt">\TrackLangShowWarningstrue</code></a>.
+<p>
+<div class="settingsbox"><div class="settingsboxtitle"><a href="#glo:sym.novaluesetting"><span title="Valueless Setting" class="icon">&#x1d362;</span></a></div><!-- end of settingsboxtitle -->
+<a id="wrglossary.114"></a><code class="code"><dfn id="glo:opt.nolocale"><span class="styoptfmt">nolocale</span></dfn></code></div><!-- end of settingsbox -->
+
+This setting may only be used as a package option, not in
+<a id="wrglossary.115"></a><a href="#glo:DTLsetup"><code class="csfmt">\DTLsetup</code></a>, and has no value. If used it will prevent any localisation
+files from being loaded, regardless of the document language
+settings. This option will override <a id="wrglossary.116"></a><a href="#glo:opt.locales"><span class="styoptfmt">locales</span></a> (and <a id="wrglossary.117"></a><a href="#glo:opt.locales"><span class="styoptfmt">lang</span></a>).
+See &#xa7;<a href="#sec:localisation">2.3</a>.
+<p>
+<div class="settingsbox"><div class="settingsboxtitle"><a href="#glo:sym.valuesetting"><span title="Setting" class="icon"><span class="quarterleft">&#x1f39a;</span></span></a></div><!-- end of settingsboxtitle -->
+<a id="wrglossary.118"></a><code class="code"><dfn id="glo:opt.locales"><span class="styoptfmt">locales</span></dfn>={<span class="meta">&#x2329;<em class="metainner">locale list</em>&#x232a;</span>}</code></div><!-- end of settingsbox -->
+
+This setting may only be used as a package option, not in
+<a id="wrglossary.119"></a><a href="#glo:DTLsetup"><code class="csfmt">\DTLsetup</code></a>. It counteracts the effect of <a id="wrglossary.120"></a><a href="#glo:opt.nolocale"><span class="styoptfmt">nolocale</span></a> and
+tracks each listed language tag using <a id="wrglossary.121"></a><a href="#glo:pkg.tracklang"><span class="styfmt">tracklang</span>&#x2019;s</a>
+<a id="wrglossary.122"></a><a href="#glo:TrackLanguageTag"><code class="csfmt">\TrackLanguageTag</code></a>. Note that localisation support must be
+installed separately. See &#xa7;<a href="#sec:localisation">2.3</a>.
+<p>
+<div class="information"><div class="informationtitle"><a href="#glo:sym.information"><span title="Information" class="icon">&#x1f6c8;</span></a></div><!-- end of informationtitle -->
+This option will have an effect on packages that are subsequently loaded
+that also use <a id="wrglossary.123"></a><a href="#glo:pkg.tracklang"><span class="styfmt">tracklang</span></a>. Note that multiple instances of this
+option override each other.
+</div><!-- end of information -->
+
+<p>
+<div class="settingsbox"><div class="settingsboxtitle"><a href="#glo:sym.valuesetting"><span title="Setting" class="icon"><span class="quarterleft">&#x1f39a;</span></span></a></div><!-- end of settingsboxtitle -->
+<a id="wrglossary.124"></a><code class="code"><dfn id="glo:opt.lang"><span class="styoptfmt">lang</span></dfn>={<span class="meta">&#x2329;<em class="metainner">locale list</em>&#x232a;</span>}</code><span class="floatrightbox"><span class="summarytag">alias: </span><a href="#glo:opt.locales"><span class="styoptfmt">locales</span></a></span><span class="clearfix"></span></div><!-- end of settingsbox -->
+
+A synonym of <a id="wrglossary.125"></a><a href="#glo:opt.locales"><span class="styoptfmt">locales</span></a>.
+<p>
+<div class="settingsbox"><div class="settingsboxtitle"><a href="#glo:sym.valuesetting"><span title="Setting" class="icon"><span class="quarterleft">&#x1f39a;</span></span></a></div><!-- end of settingsboxtitle -->
+<a id="wrglossary.126"></a><code class="code"><dfn id="glo:opt.initial-purify"><span class="csoptfmt">initial-purify</span></dfn>=<span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span></code><span class="floatrightbox"><span class="summarytag">initial: </span>early</span><span class="clearfix"></span></div><!-- end of settingsbox -->
+
+This boolean setting indicates whether or not to <a id="wrglossary.127"></a><a href="#glo:dual.purify">purify</a> the <span class="meta">&#x2329;<em class="metainner">text</em>&#x232a;</span>
+argument of <a id="wrglossary.128"></a><a href="#glo:DTLGetInitialLetter"><code class="csfmt">\DTLGetInitialLetter</code></a> before parsing.
+<p>
+<div class="settingsbox"><div class="settingsboxtitle"><a href="#glo:sym.valuesetting"><span title="Setting" class="icon"><span class="quarterleft">&#x1f39a;</span></span></a></div><!-- end of settingsboxtitle -->
+<a id="wrglossary.129"></a><code class="code"><dfn id="glo:opt.auto-reformat-types"><span class="csoptfmt">auto-reformat-types</span></dfn>=<span class="meta">&#x2329;<em class="metainner">list</em>&#x232a;</span></code><span class="floatrightbox"><span class="summarytag">initial: </span>integer, decimal, si, currency, datetime, date, time</span><span class="clearfix"></span></div><!-- end of settingsbox -->
+
+This option takes a comma-separated list, where the items in the
+list may be any of the following keywords:
+<span class="optfmt">integer</span>, <span class="optfmt">decimal</span>, <span class="optfmt">si</span>, <span class="optfmt">currency</span>, 
+<span class="optfmt">datetime</span>, <span class="optfmt">date</span>, <span class="optfmt">time</span>.
+This identifies which data types should be automatically reformatted
+if the corresponding <a id="wrglossary.130"></a><a href="#glo:opt.numeric.auto-reformat"><code class="numericoptfmt">auto-reformat</code></a> numeric option
+or <a id="wrglossary.131"></a><a href="#glo:opt.datetime.auto-reformat"><code class="datetimeoptfmt">auto-reformat</code></a> datetime option is on.
+<p>
+The <a id="wrglossary.132"></a><a href="#glo:opt.auto-reformat-types"><span class="csoptfmt">auto-reformat-types</span></a> does not switch on the corresponding
+<a id="wrglossary.133"></a><a href="#glo:opt.numeric.auto-reformat"><code class="numericoptfmt">auto-reformat</code></a> <a id="wrglossary.134"></a><a href="#glo:opt.numeric"><span class="csoptfmt">numeric</span></a> option
+or <a id="wrglossary.135"></a><a href="#glo:opt.datetime.auto-reformat"><code class="datetimeoptfmt">auto-reformat</code></a> <a id="wrglossary.136"></a><a href="#glo:opt.datetime"><span class="csoptfmt">datetime</span></a> option.
+It simply establishes which data types should be affected when the
+applicable option is on.
+<p>
+For example:
+<pre class="compactcodebox"><a id="wrglossary.137"></a><a href="#glo:DTLsetup"><code class="csfmt">\DTLsetup</code></a>{
+ <a id="wrglossary.138"></a><a href="#glo:opt.auto-reformat-types"><span class="csoptfmt">auto-reformat-types</span></a><span class="optfmt">={decimal,si,datetime}</span>,
+ <a id="wrglossary.139"></a><a href="#glo:opt.numeric"><span class="csoptfmt">numeric</span></a><span class="optfmt">={<a id="wrglossary.140"></a><a href="#glo:opt.numeric.auto-reformat"><code class="numericoptfmt">auto-reformat</code></a>}</span>,
+ <a id="wrglossary.141"></a><a href="#glo:opt.datetime"><span class="csoptfmt">datetime</span></a><span class="optfmt">={<a id="wrglossary.142"></a><a href="#glo:opt.datetime.parse"><code class="datetimeoptfmt">parse</code></a><span class="optfmt">=auto-reformat</span>}</span>
+}
+</pre>
+In the above, if <a id="wrglossary.143"></a><a href="#glo:DTLparse"><code class="csfmt">\DTLparse</code></a> identifies a decimal or SI notation
+(but not an integer) or a datetime (but not a date or a time)
+then the string value will be automatically reformatted.
+<p>
+<div class="important"><div class="importanttitle"><a href="#glo:sym.important"><span title="Important" class="icon">&#x2139;</span></a></div><!-- end of importanttitle -->
+If <a id="wrglossary.144"></a><a href="#glo:opt.auto-reformat-types"><span class="csoptfmt">auto-reformat-types</span></a> is missing all numeric types, then
+the <a id="wrglossary.145"></a><a href="#glo:opt.numeric.auto-reformat"><code class="numericoptfmt">auto-reformat</code></a> numeric option will have no effect.
+Similarly, 
+if <a id="wrglossary.146"></a><a href="#glo:opt.auto-reformat-types"><span class="csoptfmt">auto-reformat-types</span></a> is missing all temporal types, then
+the <a id="wrglossary.147"></a><a href="#glo:opt.datetime.auto-reformat"><code class="datetimeoptfmt">auto-reformat</code></a> datetime option will have no effect.
+</div><!-- end of important -->
+
+<p>
+<div class="settingsbox"><div class="settingsboxtitle"><a href="#glo:sym.valuesetting"><span title="Setting" class="icon"><span class="quarterleft">&#x1f39a;</span></span></a></div><!-- end of settingsboxtitle -->
+<a id="wrglossary.148"></a><code class="code"><dfn id="glo:opt.lists"><span class="csoptfmt">lists</span></dfn>=<span class="meta">&#x2329;<em class="metainner">key=value list</em>&#x232a;</span></code><span class="floatrightbox"><span class="summarytag">default: </span>true</span><span class="clearfix"></span></div><!-- end of settingsbox -->
+
+This setting may be used to adjust the behaviour of commands that
+deal with lists. The value should be a <span class="meta">&#x2329;<em class="metainner">key</em>&#x232a;</span>=<span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span> list of options,
+which are described in &#xa7;<a href="#sec:listopts">2.9.1</a>.
+<p>
+<div class="settingsbox"><div class="settingsboxtitle"><a href="#glo:sym.valuesetting"><span title="Setting" class="icon"><span class="quarterleft">&#x1f39a;</span></span></a></div><!-- end of settingsboxtitle -->
+<a id="wrglossary.149"></a><code class="code"><dfn id="glo:opt.compare"><span class="csoptfmt">compare</span></dfn>=<span class="meta">&#x2329;<em class="metainner">key=value list</em>&#x232a;</span></code><span class="floatrightbox"><span class="summarytag">default: </span>true</span><span class="clearfix"></span></div><!-- end of settingsbox -->
+
+This setting may be used to adjust the behaviour of commands that
+deal with comparisons. The value should be a <span class="meta">&#x2329;<em class="metainner">key</em>&#x232a;</span>=<span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span> list of options,
+which are described in &#xa7;<a href="#sec:compare">2.9.5.1</a>.
+<p>
+<div class="settingsbox"><div class="settingsboxtitle"><a href="#glo:sym.valuesetting"><span title="Setting" class="icon"><span class="quarterleft">&#x1f39a;</span></span></a></div><!-- end of settingsboxtitle -->
+<a id="wrglossary.150"></a><code class="code"><dfn id="glo:opt.numeric"><span class="csoptfmt">numeric</span></dfn>=<span class="meta">&#x2329;<em class="metainner">key=value list</em>&#x232a;</span></code><span class="floatrightbox"><span class="summarytag">default: </span>true</span><span class="clearfix"></span></div><!-- end of settingsbox -->
+
+This setting may be used to adjust the behaviour of commands that
+deal with numeric (but not temporal) values. The value should be a <span class="meta">&#x2329;<em class="metainner">key</em>&#x232a;</span>=<span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span> list of options,
+which are described in &#xa7;<a href="#sec:numericopts">2.2.1</a>.
+<p>
+<div class="settingsbox"><div class="settingsboxtitle"><a href="#glo:sym.valuesetting"><span title="Setting" class="icon"><span class="quarterleft">&#x1f39a;</span></span></a></div><!-- end of settingsboxtitle -->
+<a id="wrglossary.151"></a><code class="code"><dfn id="glo:opt.datetime"><span class="csoptfmt">datetime</span></dfn>=<span class="meta">&#x2329;<em class="metainner">key=value list</em>&#x232a;</span></code><span class="floatrightbox"><span class="summarytag">default: </span>true</span><span class="clearfix"></span></div><!-- end of settingsbox -->
+
+This determines whether or not commands such as <a id="wrglossary.152"></a><a href="#glo:DTLparse"><code class="csfmt">\DTLparse</code></a>
+should also try parsing for timestamps (date and time), dates (no
+time) or times (no date). The temporal data types were only added to
+<a id="wrglossary.153"></a><a href="#glo:pkg.datatool-base"><span class="styfmt">datatool-base</span></a> version 3.0 and are still experimental so
+this feature is off by default. The value should be a <span class="meta">&#x2329;<em class="metainner">key</em>&#x232a;</span>=<span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span> list
+of options, which are described in &#xa7;<a href="#sec:datetime">2.7</a>.
+<p>
+
+</section><!-- end of section sec:baseoptions -->
+
+<section id="sec:datatypes"><!-- start of section sec:datatypes --><div class="tomain"><a href="#main">[top]</a></div>
+<h2><!-- start of section header -->2.2. Data Types<span class="labellink"><a href="#sec:datatypes">[link]</a></span></h2><!-- end of section header -->
+
+<p>
+The <a id="wrglossary.154"></a><a href="#glo:pkg.datatool-base"><span class="styfmt">datatool-base</span></a> package recognises the following data types:
+<p>
+
+<dl>
+
+<dt>Integers</dt>
+
+<p>
+
+<dd>
+An integer is a sequence of digits, optionally groups of three
+digits may be separated by the <a id="wrglossary.155"></a><a href="#glo:idx.numbergroupchar">number group character</a>. The default
+<a id="wrglossary.156"></a><a href="#glo:idx.numbergroupchar">number group character</a> is a comma (<a id="wrglossary.157"></a><a href="#glo:idx.sym.numbergroup"><code class="code">,</code></a>) but may be
+changed using <a id="wrglossary.158"></a><a href="#glo:DTLsetnumberchars"><code class="csfmt">\DTLsetnumberchars</code></a>. Examples: 1,234 (which has
+the default <a id="wrglossary.159"></a><a href="#glo:idx.numbergroupchar">number group character</a>) and 1234 (which is also a
+<a id="wrglossary.160"></a><a href="#glo:dual.plainnumber">plain number</a>) but not 1234.0 (which is a decimal). A double sign (such as
+<code class="code">++1234</code> or <code class="code">-+1234</code>) isn&#x2019;t permitted and will be treated
+as a string.
+<p>
+If a whole number is represented in scientific notation (for example,
+<code class="code">1e+4</code> instead of 1000) then it will be identified as a decimal not an integer.
+Otherwise, a large integer will be considered a string (otherwise it
+will trip TeX&#x2019;s integer limit).
+</dd>
+
+<p>
+<dt>Real Numbers (Decimals)</dt>
+
+<p>
+
+<dd>
+A real number is a sequence of digits as per integers followed by
+the decimal character followed by one or more digits. The
+<a id="wrglossary.161"></a><a href="#glo:idx.numbergroupchar">number group character</a> is only recognised before the
+<a id="wrglossary.162"></a><a href="#glo:idx.decimalchar">decimal character</a>. The <a id="wrglossary.163"></a><a href="#glo:idx.decimalchar">decimal character</a> is a full stop
+&#x201c;<code class="qtt"><a id="wrglossary.164"></a><a href="#glo:idx.decimalpoint">decimal point</a></code>&#x201d; by default. The number group and decimal
+characters may be changed using <a id="wrglossary.165"></a><a href="#glo:DTLsetnumberchars"><code class="csfmt">\DTLsetnumberchars</code></a>. 
+Examples: 1,234.0 (which has the default <a id="wrglossary.166"></a><a href="#glo:idx.numbergroupchar">number group character</a> and
+<a id="wrglossary.167"></a><a href="#glo:idx.decimalchar">decimal character</a>), 1234.0 (which is also a <a id="wrglossary.168"></a><a href="#glo:dual.plainnumber">plain number</a>)
+but not 1234 (which is an integer). A double sign (such as
+<code class="code">++1234.0</code> or <code class="code">-+1234.0</code>) isn&#x2019;t permitted and will be treated
+as a string.
+<p>
+As from version 3.0, scientific notation, such as <code class="code">2.5e+10</code> or
+<code class="code">1E-5</code> is supported. Note that the locale symbols aren&#x2019;t
+supported when parsing for scientific notation. The format should be
+<code class="code"><span class="meta">&#x2329;<em class="metainner">mantissa</em>&#x232a;</span>E<span class="meta">&#x2329;<em class="metainner">exponent</em>&#x232a;</span></code> or
+<code class="code"><span class="meta">&#x2329;<em class="metainner">mantissa</em>&#x232a;</span>e<span class="meta">&#x2329;<em class="metainner">exponent</em>&#x232a;</span></code>. A space may occur between 
+the mantissa and the E/e. The exponent must be an integer. The
+mantissa may include a <a id="wrglossary.169"></a><a href="#glo:idx.decimalpoint">decimal point</a>.
+If the <a id="wrglossary.170"></a><a href="#glo:opt.numeric.auto-reformat"><code class="numericoptfmt">auto-reformat</code></a> setting is on, parsed scientific
+notation will have the value encapsulated with <a id="wrglossary.171"></a><a href="#glo:DTLscinum"><code class="csfmt">\DTLscinum</code></a>.
+</dd>
+
+<p>
+<dt>Currency</dt>
+
+<p>
+
+<dd>
+The parser recognises currency values if provided in one of the
+following forms: <code class="code"><a id="wrglossary.172"></a><a href="#glo:DTLcurrency"><code class="csfmt">\DTLcurrency</code></a>{<span class="meta">&#x2329;<em class="metainner">num</em>&#x232a;</span>}</code>,
+<code class="code"><a id="wrglossary.173"></a><a href="#glo:DTLfmtcurrency"><code class="csfmt">\DTLfmtcurrency</code></a>{<span class="meta">&#x2329;<em class="metainner">sym</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">num</em>&#x232a;</span>}</code>
+<code class="code"><a id="wrglossary.174"></a><a href="#glo:DTLfmtcurr"><code class="csfmt">\DTLfmtcurr</code></a>{<span class="meta">&#x2329;<em class="metainner">currency-code</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">num</em>&#x232a;</span>}</code>
+or <code class="code"><span class="meta">&#x2329;<em class="metainner">sym</em>&#x232a;</span><span class="meta">&#x2329;<em class="metainner">num</em>&#x232a;</span></code> where <span class="meta">&#x2329;<em class="metainner">sym</em>&#x232a;</span> is a recognised
+currency symbol (identified with <a id="wrglossary.175"></a><a href="#glo:DTLnewcurrencysymbol"><code class="csfmt">\DTLnewcurrencysymbol</code></a>)
+and <span class="meta">&#x2329;<em class="metainner">num</em>&#x232a;</span> is an integer or decimal using the current
+<a id="wrglossary.176"></a><a href="#glo:idx.numbergroupchar">number group character</a> and <a id="wrglossary.177"></a><a href="#glo:idx.decimalchar">decimal character</a> (not scientific notation).
+The sign may occur before the currency symbol.
+Some regional localisation files will also recognise currency where
+the symbol is prefixed with the region&#x2019;s code.
+<p>
+Examples: 
+<code class="code">$1,234.56</code> and <code class="code"><a id="wrglossary.178"></a><a href="#glo:pounds"><code class="csfmt">\pounds</code></a>1234</code> 
+(which both have a recognised currency symbol) and
+<code class="code"><a id="wrglossary.179"></a><a href="#glo:DTLfmtcurrency"><code class="csfmt">\DTLfmtcurrency</code></a>{&#xa3;}1,234</code> or 
+<code class="code"><a id="wrglossary.180"></a><a href="#glo:DTLcurrency"><code class="csfmt">\DTLcurrency</code></a>{1,234.00}</code> (which both use
+known currency formatting commands) but not &#x201c;<code class="qtt">1,234 USD</code>&#x201d;
+(which doesn&#x2019;t fit the recognised format). Both
+<code class="code">-<a id="wrglossary.181"></a><a href="#glo:pounds"><code class="csfmt">\pounds</code></a>1234</code> and <code class="code"><a id="wrglossary.182"></a><a href="#glo:pounds"><code class="csfmt">\pounds</code></a>-1234</code> are recognised
+as a currency with a negative numeric value.
+<p>
+Additionally, <code class="code"><a id="wrglossary.183"></a><a href="#glo:DTLfmtcurr"><code class="csfmt">\DTLfmtcurr</code></a>{GBP}1,234</code>
+will also be recognised as currency (although it requires
+the <a id="wrglossary.184"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-GB.ldf</span></a> region file to be loaded in order to correctly format
+the value). If <a id="wrglossary.185"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-GB.ldf</span></a> has been loaded, then <code class="code">GB&#xa3;1,234</code> will
+also be recognised. However, if, say, <a id="wrglossary.186"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-IE.ldf</span></a> has been loaded,
+then <code class="code">IE&#x20ac;1,234</code> <span style="font-style: italic; font-variant: normal; ">won&#x2019;t</span> be recognised as that region
+doesn&#x2019;t support a currency prefix.
+See &#xa7;<a href="#sec:currency">2.6</a>.
+</dd>
+
+<p>
+<dt>Temporal Values (Dates and Times)</dt>
+
+New to version 3.0 and still experimental. ISO dates and times can
+be parsed (if enabled with <a id="wrglossary.187"></a><a href="#glo:opt.datetime.parse"><code class="datetimeoptfmt">parse</code></a>) 
+and converted into a numerical form so that they can be
+treated as numbers.
+<p>
+<div class="information"><div class="informationtitle"><a href="#glo:sym.information"><span title="Information" class="icon">&#x1f6c8;</span></a></div><!-- end of informationtitle -->
+If temporal parsing is off or the format is unsupported, dates and
+times will be treated as strings. Regional formats can only be
+supported if they have been defined in a loaded region file.
+See &#xa7;<a href="#sec:localisation">2.3</a>.
+</div><!-- end of information -->
+
+<p>
+There are three temporal types:
+
+<ol class="displaylist">
+
+1.Dates are in the form <code class="code"><span class="meta">&#x2329;<em class="metainner">YYYY</em>&#x232a;</span>-<span class="meta">&#x2329;<em class="metainner">MM</em>&#x232a;</span>-<span class="meta">&#x2329;<em class="metainner">DD</em>&#x232a;</span></code>
+where <span class="meta">&#x2329;<em class="metainner">YYYY</em>&#x232a;</span> is the year, <span class="meta">&#x2329;<em class="metainner">MM</em>&#x232a;</span> is the two digit month
+and <span class="meta">&#x2329;<em class="metainner">DD</em>&#x232a;</span> is the two digit day. The numeric value is the integer
+<a id="wrglossary.188"></a><a href="#glo:jdn">JDN</a>.
+2.Times are in the form <code class="code"><span class="meta">&#x2329;<em class="metainner">hh</em>&#x232a;</span>:<span class="meta">&#x2329;<em class="metainner">mm</em>&#x232a;</span>:<span class="meta">&#x2329;<em class="metainner">ss</em>&#x232a;</span></code>
+or <code class="code"><span class="meta">&#x2329;<em class="metainner">hh</em>&#x232a;</span>:<span class="meta">&#x2329;<em class="metainner">mm</em>&#x232a;</span></code> where <span class="meta">&#x2329;<em class="metainner">hh</em>&#x232a;</span> is the two digit 24
+hour, <span class="meta">&#x2329;<em class="metainner">mm</em>&#x232a;</span> is the two digit minute, and <span class="meta">&#x2329;<em class="metainner">ss</em>&#x232a;</span> is the two
+digit second (<span class="qt">&#x201c;00&#x201d;</span> if omitted). The numeric value is the <a id="wrglossary.189"></a><a href="#glo:jf">JF</a>.
+3.Timestamps include both a date and time. If the time zone is
+missing, UTC+0 is assumed. Recognised formats:
+<pre class="compactcodebox"><span class="meta">&#x2329;<em class="metainner">YYYY</em>&#x232a;</span>-<span class="meta">&#x2329;<em class="metainner">MM</em>&#x232a;</span>-<span class="meta">&#x2329;<em class="metainner">DD</em>&#x232a;</span>T<span class="meta">&#x2329;<em class="metainner">hh</em>&#x232a;</span>:<span class="meta">&#x2329;<em class="metainner">mm</em>&#x232a;</span>:<span class="meta">&#x2329;<em class="metainner">ss</em>&#x232a;</span><span class="meta">&#x2329;<em class="metainner">TZh</em>&#x232a;</span>:<span class="meta">&#x2329;<em class="metainner">TZm</em>&#x232a;</span>
+<span class="meta">&#x2329;<em class="metainner">YYYY</em>&#x232a;</span>-<span class="meta">&#x2329;<em class="metainner">MM</em>&#x232a;</span>-<span class="meta">&#x2329;<em class="metainner">DD</em>&#x232a;</span>T<span class="meta">&#x2329;<em class="metainner">hh</em>&#x232a;</span>:<span class="meta">&#x2329;<em class="metainner">mm</em>&#x232a;</span>:<span class="meta">&#x2329;<em class="metainner">ss</em>&#x232a;</span>Z
+<span class="meta">&#x2329;<em class="metainner">YYYY</em>&#x232a;</span>-<span class="meta">&#x2329;<em class="metainner">MM</em>&#x232a;</span>-<span class="meta">&#x2329;<em class="metainner">DD</em>&#x232a;</span>T<span class="meta">&#x2329;<em class="metainner">hh</em>&#x232a;</span>:<span class="meta">&#x2329;<em class="metainner">mm</em>&#x232a;</span>:<span class="meta">&#x2329;<em class="metainner">ss</em>&#x232a;</span>
+</pre>
+Where <span class="meta">&#x2329;<em class="metainner">TZh</em>&#x232a;</span> is the time zone hour and <span class="meta">&#x2329;<em class="metainner">TZm</em>&#x232a;</span> is the time
+zone minute.
+A space may also be used instead of <span class="qt">&#x201c;T&#x201d;</span> as the separator between
+the date and time. The corresponding numeric value is the <a id="wrglossary.190"></a><a href="#glo:jd">JD</a>, 
+which is the integer <a id="wrglossary.191"></a><a href="#glo:jdn">JDN</a> plus the fractional <a id="wrglossary.192"></a><a href="#glo:jf">JF</a>.
+
+</ol>
+
+<p>
+<dt>Strings</dt>
+
+<p>
+
+<dd>
+Any non-blank content that doesn&#x2019;t belong to the above 
+types is considered to be a string. See &#xa7;<a href="#sec:strings">2.8</a>.
+</dd>
+
+<p>
+<dt>Unknown</dt>
+
+<p>
+
+<dd>
+Blank values are classified as an unknown type. This may be the
+result of an empty element in a <a id="wrglossary.193"></a><a href="#glo:dual.CSV">CSV</a> list or file.
+</dd>
+
+<p>
+<dt>Null</dt>
+
+<p>
+
+<dd>
+Values that are missing (not simply empty) are considered null
+values. This is similar in concept to <a id="wrglossary.194"></a><a href="#glo:cnovaluetl"><code class="csfmt">\c_novalue_tl</code></a> but uses a
+different internal marker. See &#xa7;<a href="#sec:null">3.10</a> for further
+details.
+</dd>
+
+<p>
+
+</dl>
+
+<p>
+
+</section><!-- end of section sec:datatypes -->
+
+<section id="sec:numericopts"><!-- start of section sec:numericopts --><div class="tomain"><a href="#main">[top]</a></div>
+<h3><!-- start of subsection header -->2.2.1. Numeric Options<span class="labellink"><a href="#sec:numericopts">[link]</a></span></h3><!-- end of subsection header -->
+
+<p>
+The options listed here govern parsing and formatting of localised
+integers, decimals and currency. The options may be passed in the value of
+the <a id="wrglossary.195"></a><a href="#glo:opt.numeric"><span class="csoptfmt">numeric</span></a> option.
+For example:
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><a id="wrglossary.196"></a><a href="#glo:DTLsetup"><code class="csfmt">\DTLsetup</code></a>{
+  <a id="wrglossary.197"></a><a href="#glo:opt.numeric"><span class="csoptfmt">numeric</span></a><span class="optfmt">={
+    <a id="wrglossary.198"></a><a href="#glo:opt.numeric.auto-reformat"><code class="numericoptfmt">auto-reformat</code></a>,
+    <a id="wrglossary.199"></a><a href="#glo:opt.numeric.region-currency-prefix"><code class="numericoptfmt">region-currency-prefix</code></a><span class="optfmt">=smallcaps</span>
+  }</span>
+}
+</pre>
+<p>
+<div class="settingsbox"><div class="settingsboxtitle"><a href="#glo:sym.toggleoffsetting"><span title="Toggle (Off)" class="icon"><span class="fwsdisabledicon">&#x1f518;&#xfe0e;</span></span></a></div><!-- end of settingsboxtitle -->
+<a id="wrglossary.200"></a><code class="code"><dfn id="glo:opt.numeric.auto-reformat"><code class="numericoptfmt">auto-reformat</code></dfn>=<span class="meta">&#x2329;<em class="metainner">boolean</em>&#x232a;</span></code><span class="floatrightbox"><span class="summarytag">default: </span>true; <span class="summarytag">initial: </span>false</span><span class="clearfix"></span></div><!-- end of settingsbox -->
+
+Determines whether or not commands like <a id="wrglossary.201"></a><a href="#glo:DTLparse"><code class="csfmt">\DTLparse</code></a>
+should reformat the string part for integers, decimals and currency.
+(According to the <a id="wrglossary.202"></a><a href="#glo:opt.auto-reformat-types"><span class="csoptfmt">auto-reformat-types</span></a> setting.)
+<p>
+If <a id="wrglossary.203"></a><a href="#glo:opt.auto-reformat-types"><span class="csoptfmt">auto-reformat-types</span></a> includes the keyword <span class="optfmt">integer</span>,
+then any integers will be reformatted according to the current
+localisation settings. If <a id="wrglossary.204"></a><a href="#glo:opt.auto-reformat-types"><span class="csoptfmt">auto-reformat-types</span></a> includes the
+keyword <span class="optfmt">decimal</span>, then any decimals not in scientific
+notation will be reformatted according to the current localisation
+settings.
+<p>
+If <a id="wrglossary.205"></a><a href="#glo:opt.auto-reformat-types"><span class="csoptfmt">auto-reformat-types</span></a> includes the keyword <span class="optfmt">si</span>, then
+any scientific notation, will be have the string part set to 
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.206"></a><code class="code"><dfn id="glo:DTLscinum"><code class="csfmt">\DTLscinum</code></dfn>{<span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+If <a id="wrglossary.207"></a><a href="#glo:pkg.siunitx"><span class="styfmt">siunitx</span></a> is loaded, this will be defined to use <a id="wrglossary.208"></a><a href="#glo:num"><code class="csfmt">\num</code></a>
+otherwise it will simply expand to its argument.
+<p>
+If <a id="wrglossary.209"></a><a href="#glo:opt.auto-reformat-types"><span class="csoptfmt">auto-reformat-types</span></a> includes the keyword <span class="optfmt">currency</span>,
+then currency will be reformatted to use <a id="wrglossary.210"></a><a href="#glo:DTLfmtcurr"><code class="csfmt">\DTLfmtcurr</code></a>, if the
+associated currency code can be determined, or to
+<a id="wrglossary.211"></a><a href="#glo:DTLfmtcurrency"><code class="csfmt">\DTLfmtcurrency</code></a> otherwise.
+<p>
+<div class="settingsbox"><div class="settingsboxtitle"><a href="#glo:sym.toggleonsetting"><span title="Toggle (On)" class="icon"><span class="fwsactiveicon">&#x1f518;</span></span></a></div><!-- end of settingsboxtitle -->
+<a id="wrglossary.212"></a><code class="code"><dfn id="glo:opt.numeric.region-currency"><code class="numericoptfmt">region-currency</code></dfn>=<span class="meta">&#x2329;<em class="metainner">boolean</em>&#x232a;</span></code><span class="floatrightbox"><span class="summarytag">default: </span>true; <span class="summarytag">initial: </span>true</span><span class="clearfix"></span></div><!-- end of settingsbox -->
+
+Determines whether or not the region hook should change
+the default currency. The region files should provide a command
+called <a id="wrglossary.213"></a><a href="#glo:datatoolRegionSetCurrency"><code class="csfmt">\datatool<span class="meta">&#x2329;<em class="metainner">Region</em>&#x232a;</span>SetCurrency</code></a> which checks this boolean
+value before setting the default currency.
+<p>
+<div class="important"><div class="importanttitle"><a href="#glo:sym.important"><span title="Important" class="icon">&#x2139;</span></a></div><!-- end of importanttitle -->
+Note that if the region hook has already set the default currency,
+this option won&#x2019;t undo that. It can only prevent the change the next
+time the hook is used (for example, when the document language
+changes).
+</div><!-- end of important -->
+
+<p>
+<div class="settingsbox"><div class="settingsboxtitle"><a href="#glo:sym.valuesetting"><span title="Setting" class="icon"><span class="quarterleft">&#x1f39a;</span></span></a></div><!-- end of settingsboxtitle -->
+<a id="wrglossary.214"></a><code class="code"><dfn id="glo:opt.numeric.currency-symbol-style"><code class="numericoptfmt">currency-symbol-style</code></dfn>=<span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span></code><span class="floatrightbox"><span class="summarytag">initial: </span>symbol</span><span class="clearfix"></span></div><!-- end of settingsbox -->
+
+This option simply redefines <a id="wrglossary.215"></a><a href="#glo:DTLcurrCodeOrSymOrChar"><code class="csfmt">\DTLcurrCodeOrSymOrChar</code></a> to expand
+to its first argument (<span class="optfmt">iso</span>) or second argument
+(<span class="optfmt">symbol</span>) or third argument (<span class="optfmt">string</span>).
+<p>
+<div class="settingsbox"><div class="settingsboxtitle"><a href="#glo:sym.valuesetting"><span title="Setting" class="icon"><span class="quarterleft">&#x1f39a;</span></span></a></div><!-- end of settingsboxtitle -->
+<a id="wrglossary.216"></a><code class="code"><dfn id="glo:opt.numeric.set-currency"><code class="numericoptfmt">set-currency</code></dfn>=<span class="meta">&#x2329;<em class="metainner">currency-code</em>&#x232a;</span></code></div><!-- end of settingsbox -->
+
+Essentially this is like doing:
+<pre class="compactcodebox"><a id="wrglossary.217"></a><a href="#glo:DTLsetdefaultcurrency"><code class="csfmt">\DTLsetdefaultcurrency</code></a>{<span class="meta">&#x2329;<em class="metainner">currency-code</em>&#x232a;</span>}
+<a id="wrglossary.218"></a><a href="#glo:DTLsetup"><code class="csfmt">\DTLsetup</code></a>{<a id="wrglossary.219"></a><a href="#glo:opt.numeric.region-currency"><code class="numericoptfmt">region-currency</code></a><span class="optfmt">=false</span>}
+</pre>
+However, unlike <a id="wrglossary.220"></a><a href="#glo:DTLsetdefaultcurrency"><code class="csfmt">\DTLsetdefaultcurrency</code></a> the value <span class="meta">&#x2329;<em class="metainner">currency-code</em>&#x232a;</span>
+must be a defined currency code.
+<p>
+<div class="settingsbox"><div class="settingsboxtitle"><a href="#glo:sym.valuesetting"><span title="Setting" class="icon"><span class="quarterleft">&#x1f39a;</span></span></a></div><!-- end of settingsboxtitle -->
+<a id="wrglossary.221"></a><code class="code"><dfn id="glo:opt.numeric.region-currency-prefix"><code class="numericoptfmt">region-currency-prefix</code></dfn>=<span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span></code><span class="floatrightbox"><span class="summarytag">initial: </span>normal</span><span class="clearfix"></span></div><!-- end of settingsbox -->
+
+Redefines <a id="wrglossary.222"></a><a href="#glo:datatoolcurrencysymbolprefixfmt"><code class="csfmt">\datatoolcurrencysymbolprefixfmt</code></a>. Allows values are:
+<span class="optfmt">normal</span> (redefines to expand to its argument),
+<span class="optfmt">smallcaps</span> (redefines to expand to use <a id="wrglossary.223"></a><a href="#glo:textsc"><code class="csfmt">\textsc</code></a> with
+the argument converted to lowercase), or <span class="optfmt">smaller</span> (redefines
+to use <a id="wrglossary.224"></a><a href="#glo:textsmaller"><code class="csfmt">\textsmaller</code></a>, which will require the <a id="wrglossary.225"></a><a href="#glo:pkg.relsize"><span class="styfmt">relsize</span></a>
+package).
+<p>
+
+</section><!-- end of section sec:numericopts -->
+
+<section id="sec:parsefmtnum"><!-- start of section sec:parsefmtnum --><div class="tomain"><a href="#main">[top]</a></div>
+<h3><!-- start of subsection header -->2.2.2. Parsing Locale-Formatted Numbers and Currency Values<span class="labellink"><a href="#sec:parsefmtnum">[link]</a></span></h3><!-- end of subsection header -->
+
+<p>
+<a id="wrglossary.226"></a><a href="#glo:dual.formattednumber">Formatted numbers</a> can be parsed provided the appropriate
+<a id="wrglossary.227"></a><a href="#glo:idx.numbergroupchar">number group character</a> and <a id="wrglossary.228"></a><a href="#glo:idx.decimalchar">decimal character</a> have been set with
+<a id="wrglossary.229"></a><a href="#glo:DTLsetnumberchars"><code class="csfmt">\DTLsetnumberchars</code></a> and the <a id="wrglossary.230"></a><a href="#glo:idx.currencysym">currency symbol</a> has been declared
+with <a id="wrglossary.231"></a><a href="#glo:DTLdefcurrency"><code class="csfmt">\DTLdefcurrency</code></a> (typically by loading a region file
+via <a id="wrglossary.232"></a><a href="#glo:opt.locales"><span class="styoptfmt">locales</span></a> or the document language support). If you want to format a
+<a id="wrglossary.233"></a><a href="#glo:dual.plainnumber">plain number</a>, you can use <a id="wrglossary.234"></a><a href="#glo:DTLdecimaltolocale"><code class="csfmt">\DTLdecimaltolocale</code></a> or
+<a id="wrglossary.235"></a><a href="#glo:DTLdecimaltocurrency"><code class="csfmt">\DTLdecimaltocurrency</code></a>, described in
+&#xa7;<a href="#sec:localisation">2.3</a>, or use <a id="wrglossary.236"></a><a href="#glo:pkg.siunitx"><span class="styfmt">siunitx</span></a>.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.237"></a><code class="code"><dfn id="glo:DTLconverttodecimal"><code class="csfmt">\DTLconverttodecimal</code></dfn>{<span class="meta">&#x2329;<em class="metainner">num</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+Converts a <a id="wrglossary.238"></a><a href="#glo:dual.formattednumber">formatted number</a> <span class="meta">&#x2329;<em class="metainner">num</em>&#x232a;</span> to a <a id="wrglossary.239"></a><a href="#glo:dual.plainnumber">plain number</a> and stores
+the result in <span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span>. The <span class="meta">&#x2329;<em class="metainner">num</em>&#x232a;</span> argument may be a command
+whose definition is a <a id="wrglossary.240"></a><a href="#glo:dual.formattednumber">formatted number</a>. A full <a id="wrglossary.241"></a><a href="#glo:dual.expansion">expansion</a>
+is not used on <span class="meta">&#x2329;<em class="metainner">num</em>&#x232a;</span> to allow for non-robust currency symbols.
+<p>
+<div class="information"><div class="informationtitle"><a href="#glo:sym.information"><span title="Information" class="icon">&#x1f6c8;</span></a></div><!-- end of informationtitle -->
+<a id="wrglossary.242"></a><a href="#glo:DTLconverttodecimal"><code class="csfmt">\DTLconverttodecimal</code></a> is internally used by commands like
+<a id="wrglossary.243"></a><a href="#glo:DTLadd"><code class="csfmt">\DTLadd</code></a> to obtain the numerical value. The result is then
+converted back to a <a id="wrglossary.244"></a><a href="#glo:dual.formattednumber">formatted number</a> using either
+<a id="wrglossary.245"></a><a href="#glo:DTLdecimaltolocale"><code class="csfmt">\DTLdecimaltolocale</code></a> or <a id="wrglossary.246"></a><a href="#glo:DTLdecimaltocurrency"><code class="csfmt">\DTLdecimaltocurrency</code></a>, depending on
+the data type of the supplied arguments.
+The result is a <a id="wrglossary.247"></a><a href="#glo:dual.datumcs">datum control sequence</a> to reduce the need for re-parsing.
+</div><!-- end of information -->
+
+<p>
+A warning is issued if the data type is a string rather
+than a numeric value. An empty <span class="meta">&#x2329;<em class="metainner">num</em>&#x232a;</span> is treated as zero.
+No trimming is performed on <span class="meta">&#x2329;<em class="metainner">num</em>&#x232a;</span>.
+<p>
+For example:
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><a id="wrglossary.248"></a><a href="#glo:DTLconverttodecimal"><code class="csfmt">\DTLconverttodecimal</code></a>{<a id="wrglossary.249"></a><a href="#glo:cs.dollar">\$</a>1,234.50}{<code class="cmd">\myNum</code>}
+</pre>
+This will define <code class="cmd">\myName</code> to expand to <code class="code">1234.50</code> (assuming
+the default <a id="wrglossary.250"></a><a href="#glo:idx.numbergroupchar">number group character</a> and <a id="wrglossary.251"></a><a href="#glo:idx.decimalchar">decimal character</a>).
+Again, the result is a <a id="wrglossary.252"></a><a href="#glo:dual.datumcs">datum control sequence</a> to reduce the need for re-parsing.
+<p>
+
+</section><!-- end of section sec:parsefmtnum -->
+
+<section id="sec:datumcs"><!-- start of section sec:datumcs --><div class="tomain"><a href="#main">[top]</a></div>
+<h3><!-- start of subsection header -->2.2.3. Datum Commands<span class="labellink"><a href="#sec:datumcs">[link]</a></span></h3><!-- end of subsection header -->
+
+<p>
+<a id="wrglossary.253"></a><a id="wrglossary.254"></a>Instead of repeatedly parsing the same content, you may prefer to parse it once
+and store the information for later use. This can be done with the following
+command:
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.255"></a><code class="code"><dfn id="glo:DTLparse"><code class="csfmt">\DTLparse</code></dfn>{<span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">content</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+This parses <span class="meta">&#x2329;<em class="metainner">content</em>&#x232a;</span> (without <a id="wrglossary.256"></a><a href="#glo:dual.expansion">expansion</a>) to determine its data
+type and (if numerical) its value.
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.257"></a><code class="code"><dfn id="glo:DTLxparse"><code class="csfmt">\DTLxparse</code></dfn>{<span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">content</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+As <a id="wrglossary.258"></a><a href="#glo:DTLparse"><code class="csfmt">\DTLparse</code></a> but fully expands <span class="meta">&#x2329;<em class="metainner">content</em>&#x232a;</span> before parsing.
+<p>
+In both cases, the parsed data is stored in the control sequence
+<span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span> (a <a id="wrglossary.259"></a><a href="#glo:dual.datumcs">datum control sequence</a>) in a form that includes the original
+value (or expanded value in the case of <a id="wrglossary.260"></a><a href="#glo:DTLxparse"><code class="csfmt">\DTLxparse</code></a>), the data
+type, the numerical value (if one of the numerical types), and the
+currency symbol (if applicable).
+<p>
+The <span class="qt">&#x201c;string value&#x201d;</span>, which is the content that <span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span> will
+expand to, may be automatically reformatted if an applicable setting is
+in effect (such as <a id="wrglossary.261"></a><a href="#glo:opt.numeric"><span class="csoptfmt">numeric</span></a><span class="optfmt">={<a id="wrglossary.262"></a><a href="#glo:opt.numeric.auto-reformat"><code class="numericoptfmt">auto-reformat</code></a>}</span>).
+<p>
+<div class="important"><div class="importanttitle"><a href="#glo:sym.important"><span title="Important" class="icon">&#x2139;</span></a></div><!-- end of importanttitle -->
+This means that the numerical value is still available even if the 
+<a id="wrglossary.263"></a><a href="#glo:idx.numbergroupchar">number group character</a> and <a id="wrglossary.264"></a><a href="#glo:idx.decimalchar">decimal character</a> are later changed. The
+important thing is to ensure that they are correct before parsing
+the data.
+</div><!-- end of important -->
+
+<p>
+The <a id="wrglossary.265"></a><a href="#glo:dual.datumitem">datum item</a> format is particularly useful with databases
+(see &#xa7;<a href="#sec:databases">3</a>) that
+have numeric data which needs to be converted into
+<a id="wrglossary.266"></a><a href="#glo:dual.plainnumber">plain numbers</a> for arithmetic computations (such as aggregates)
+or plotting. If <span class="optfmt">store-datum</span> is enabled before creating the
+database, each value will be stored as a <a id="wrglossary.267"></a><a href="#glo:dual.datumitem">datum item</a>. If you
+then assign a placeholder command to the value,
+for example with <a id="wrglossary.268"></a><a href="#glo:DTLmapgetvalues"><code class="csfmt">\DTLmapgetvalues</code></a>, then that command will be a
+<a id="wrglossary.269"></a><a href="#glo:dual.datumcs">datum control sequence</a> in the same format as that obtained with
+<a id="wrglossary.270"></a><a href="#glo:DTLparse"><code class="csfmt">\DTLparse</code></a>.
+<p>
+The component parts can then be extracted using the following
+<a id="wrglossary.271"></a><a href="#glo:dual.expansion">expandable</a> commands, where <span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span> is the <a id="wrglossary.272"></a><a href="#glo:dual.datumcs">datum control sequence</a>.
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.273"></a><code class="code"><dfn id="glo:DTLusedatum"><code class="csfmt">\DTLusedatum</code></dfn>{<span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+Expands to the original value <span class="meta">&#x2329;<em class="metainner">content</em>&#x232a;</span> that was parsed (or the expanded value
+in the case of <a id="wrglossary.274"></a><a href="#glo:DTLxparse"><code class="csfmt">\DTLxparse</code></a>, or the reformatted string value, if
+the applicable option was in effect). You can also simply use the
+<a id="wrglossary.275"></a><a href="#glo:dual.datumcs">datum control sequence</a>. The difference is that <a id="wrglossary.276"></a><a href="#glo:DTLusedatum"><code class="csfmt">\DTLusedatum</code></a> can fully
+<a id="wrglossary.277"></a><a href="#glo:dual.expansion">expand</a> the datum value whereas using the <a id="wrglossary.278"></a><a href="#glo:dual.datumcs">datum control sequence</a>
+directly won&#x2019;t.
+If <span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span> is <a id="wrglossary.279"></a><a href="#glo:dtlnovalue"><code class="csfmt">\dtlnovalue</code></a>, then
+<code class="code"><a id="wrglossary.280"></a><a href="#glo:DTLusedatum"><code class="csfmt">\DTLusedatum</code></a>{<span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span>}</code> will expand to <a id="wrglossary.281"></a><a href="#glo:dtlnovalue"><code class="csfmt">\dtlnovalue</code></a>.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.282"></a><code class="code"><dfn id="glo:DTLdatumvalue"><code class="csfmt">\DTLdatumvalue</code></dfn>{<span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+Expands to the numeric value (as a <a id="wrglossary.283"></a><a href="#glo:dual.plainnumber">plain number</a>) if the
+parsed value was numerical, otherwise expands to empty.
+If <span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span> is <a id="wrglossary.284"></a><a href="#glo:dtlnovalue"><code class="csfmt">\dtlnovalue</code></a>, then <code class="code"><a id="wrglossary.285"></a><a href="#glo:DTLdatumvalue"><code class="csfmt">\DTLdatumvalue</code></a>{<span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span>}</code> will 
+expand to <a id="wrglossary.286"></a><a href="#glo:DTLnumbernull"><code class="csfmt">\DTLnumbernull</code></a>.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.287"></a><code class="code"><dfn id="glo:DTLdatumcurrency"><code class="csfmt">\DTLdatumcurrency</code></dfn>{<span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+Expands to the <a id="wrglossary.288"></a><a href="#glo:idx.currencysym">currency symbol</a> if the parsed value was a currency, 
+otherwise expands to empty.
+If <span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span> is <a id="wrglossary.289"></a><a href="#glo:dtlnovalue"><code class="csfmt">\dtlnovalue</code></a>, then
+<code class="code"><a id="wrglossary.290"></a><a href="#glo:DTLdatumcurrency"><code class="csfmt">\DTLdatumcurrency</code></a>{<span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span>}</code> will expand to <a id="wrglossary.291"></a><a href="#glo:dtlnovalue"><code class="csfmt">\dtlnovalue</code></a>.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.292"></a><code class="code"><dfn id="glo:DTLdatumtype"><code class="csfmt">\DTLdatumtype</code></dfn>{<span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+Expands to an integer representing the data type: <code class="code">0</code> (string),
+<code class="code">1</code> (integer), <code class="code">2</code> (decimal), <code class="code">3</code> (currency),
+<code class="code">4</code> (timestamp), <code class="code">5</code> (date), <code class="code">6</code> (time) or
+<code class="code">-1</code> (unknown). If <span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span> is <a id="wrglossary.293"></a><a href="#glo:dtlnovalue"><code class="csfmt">\dtlnovalue</code></a>, 
+then <code class="code"><a id="wrglossary.294"></a><a href="#glo:DTLdatumtype"><code class="csfmt">\DTLdatumtype</code></a>{<span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span>}</code> 
+will expand to the unknown data type value.
+<p>
+For example:
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><a id="wrglossary.295"></a><a href="#glo:DTLparse"><code class="csfmt">\DTLparse</code></a><code class="cmd">\mydatum</code>{1,234.0}
+Data type: <a id="wrglossary.296"></a><a href="#glo:DTLdatumtype"><code class="csfmt">\DTLdatumtype</code></a>{<code class="cmd">\mydatum</code>}.
+</pre>
+<p>
+Note that the data type is actually stored as a
+LaTeX3 integer constant, but <a id="wrglossary.297"></a><a href="#glo:DTLdatumtype"><code class="csfmt">\DTLdatumtype</code></a> will convert
+the constant value to an integer denotation. 
+If you want the actual constant, use:
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><code class="cmd">\exp_args:NV</code> <a id="wrglossary.298"></a><a href="#glo:datatooldatumtype:Nnnnn"><code class="csfmt">\datatool_datum_type:Nnnnn</code></a> <span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span>
+</pre>
+but there&#x2019;s no check for <a id="wrglossary.299"></a><a href="#glo:dtlnovalue"><code class="csfmt">\dtlnovalue</code></a> in this case.
+<p>
+For debugging purposes, you may find it easier to have a textual
+representation of the data type so that you don&#x2019;t have to lookup
+what the numeric value represents. You can do this with:
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.300"></a><code class="code"><dfn id="glo:DTLgetDataTypeName"><code class="csfmt">\DTLgetDataTypeName</code></dfn>{<span class="meta">&#x2329;<em class="metainner">number</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+This will expand to one of:
+<a id="wrglossary.301"></a><dfn id="glo:DTLdatatypeunsetname"><code class="csfmt">\DTLdatatypeunsetname</code></dfn>,
+<a id="wrglossary.302"></a><dfn id="glo:DTLdatatypestringname"><code class="csfmt">\DTLdatatypestringname</code></dfn>,
+<a id="wrglossary.303"></a><dfn id="glo:DTLdatatypeintegername"><code class="csfmt">\DTLdatatypeintegername</code></dfn>,
+<a id="wrglossary.304"></a><dfn id="glo:DTLdatatypedecimalname"><code class="csfmt">\DTLdatatypedecimalname</code></dfn>,
+<a id="wrglossary.305"></a><dfn id="glo:DTLdatatypecurrencyname"><code class="csfmt">\DTLdatatypecurrencyname</code></dfn>,
+<a id="wrglossary.306"></a><dfn id="glo:DTLdatatypedatetimename"><code class="csfmt">\DTLdatatypedatetimename</code></dfn>,
+<a id="wrglossary.307"></a><dfn id="glo:DTLdatatypedatename"><code class="csfmt">\DTLdatatypedatename</code></dfn>,
+<a id="wrglossary.308"></a><dfn id="glo:DTLdatatypetimename"><code class="csfmt">\DTLdatatypetimename</code></dfn>, or
+<a id="wrglossary.309"></a><dfn id="glo:DTLdatatypeinvalidname"><code class="csfmt">\DTLdatatypeinvalidname</code></dfn>.
+<p>
+You may also <span class="qt">&#x201c;show&#x201d;</span> the component parts in the console and
+transcript:
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.310"></a><code class="code"><dfn id="glo:datatooldatumshow:N"><code class="csfmt">\datatool_datum_show:N</code></dfn>{<span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+<p>
+Instead of parsing an existing value, you can define a new
+<a id="wrglossary.311"></a><a href="#glo:dual.datumcs">datum control sequence</a> using one of the commands below. Only
+<a id="wrglossary.312"></a><a href="#glo:DTLsetfpdatum"><code class="csfmt">\DTLsetfpdatum</code></a> performs any parsing.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.313"></a><code class="code"><dfn id="glo:DTLsetintegerdatum"><code class="csfmt">\DTLsetintegerdatum</code></dfn>{<span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">formatted value</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+Defines the control sequence <span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span> as an integer datum, where
+<span class="meta">&#x2329;<em class="metainner">formatted value</em>&#x232a;</span> is the formatted integer and <span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span> is
+the integer value as a <a id="wrglossary.314"></a><a href="#glo:dual.plainnumber">plain number</a>.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.315"></a><code class="code"><dfn id="glo:DTLxsetintegerdatum"><code class="csfmt">\DTLxsetintegerdatum</code></dfn>{<span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">formatted value</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+As <a id="wrglossary.316"></a><a href="#glo:DTLsetintegerdatum"><code class="csfmt">\DTLsetintegerdatum</code></a> but expands <span class="meta">&#x2329;<em class="metainner">formatted value</em>&#x232a;</span> and
+<span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span>.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.317"></a><code class="code"><dfn id="glo:DTLsetdecimaldatum"><code class="csfmt">\DTLsetdecimaldatum</code></dfn>{<span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">formatted value</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+Defines the control sequence <span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span> as a decimal datum, where
+<span class="meta">&#x2329;<em class="metainner">formatted value</em>&#x232a;</span> is the formatted decimal and <span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span> is
+the decimal value as a <a id="wrglossary.318"></a><a href="#glo:dual.plainnumber">plain number</a>.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.319"></a><code class="code"><dfn id="glo:DTLxsetdecimaldatum"><code class="csfmt">\DTLxsetdecimaldatum</code></dfn>{<span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">formatted value</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+As <a id="wrglossary.320"></a><a href="#glo:DTLsetdecimaldatum"><code class="csfmt">\DTLsetdecimaldatum</code></a> but expands <span class="meta">&#x2329;<em class="metainner">formatted value</em>&#x232a;</span> and
+<span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span>.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.321"></a><code class="code"><dfn id="glo:DTLsetfpdatum"><code class="csfmt">\DTLsetfpdatum</code></dfn>{<span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">formatted value</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+Similar to <a id="wrglossary.322"></a><a href="#glo:DTLsetdecimaldatum"><code class="csfmt">\DTLsetdecimaldatum</code></a> but this will expand and parse
+<span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span> and store it with the <a id="wrglossary.323"></a><a href="#glo:datatooldatumfp:nnn"><code class="csfmt">\datatool_datum_fp:nnn</code></a> markup.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.324"></a><code class="code"><dfn id="glo:DTLsetcurrencydatum"><code class="csfmt">\DTLsetcurrencydatum</code></dfn>{<span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">formatted value</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">currency symbol</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+Defines the control sequence <span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span> as a currency datum, where
+<span class="meta">&#x2329;<em class="metainner">formatted value</em>&#x232a;</span> is the formatted currency and <span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span> is
+the currency value as a <a id="wrglossary.325"></a><a href="#glo:dual.plainnumber">plain number</a>. This has an extra
+argument which is the currency symbol.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.326"></a><code class="code"><dfn id="glo:DTLxsetcurrencydatum"><code class="csfmt">\DTLxsetcurrencydatum</code></dfn>{<span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">formatted value</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">currency symbol</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+As <a id="wrglossary.327"></a><a href="#glo:DTLsetcurrencydatum"><code class="csfmt">\DTLsetcurrencydatum</code></a> but expands <span class="meta">&#x2329;<em class="metainner">formatted value</em>&#x232a;</span>,
+<span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span> and <span class="meta">&#x2329;<em class="metainner">currency symbol</em>&#x232a;</span>.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.328"></a><code class="code"><dfn id="glo:DTLsetstringdatum"><code class="csfmt">\DTLsetstringdatum</code></dfn>{<span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">string</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+Defines the control sequence <span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span> as a string datum.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.329"></a><code class="code"><dfn id="glo:DTLxsetstringdatum"><code class="csfmt">\DTLxsetstringdatum</code></dfn>{<span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">string</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+As <a id="wrglossary.330"></a><a href="#glo:DTLsetstringdatum"><code class="csfmt">\DTLsetstringdatum</code></a> but expands <span class="meta">&#x2329;<em class="metainner">string</em>&#x232a;</span>.
+<p>
+<a id="wrglossary.331"></a><a href="#glo:dual.datumcs">Datum control sequences</a> may be used in commands that expect a
+<a id="wrglossary.332"></a><a href="#glo:dual.formattednumber">formatted number</a>, such as <a id="wrglossary.333"></a><a href="#glo:DTLadd"><code class="csfmt">\DTLadd</code></a>, as demonstrated in
+<div class="marginright"><a id="ex:datumcs-backref">&#x1f5b9;</a><a href="#ex:datumcs">5</a></div>Example <a href="#ex:datumcs">5</a>, which is produced with the code below.
+<p>
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><code class="cmd">\usepackage</code>{datatool-base}
+<code class="cmd">\usepackage</code>{siunitx}
+<a id="wrglossary.334"></a><a href="#glo:DTLparse"><code class="csfmt">\DTLparse</code></a>{<code class="cmd">\numA</code>}{23,452}
+<a id="wrglossary.335"></a><a href="#glo:DTLparse"><code class="csfmt">\DTLparse</code></a>{<code class="cmd">\numB</code>}{45.0}
+<a id="wrglossary.336"></a><a href="#glo:DTLparse"><code class="csfmt">\DTLparse</code></a>{<code class="cmd">\numC</code>}{<a id="wrglossary.337"></a><a href="#glo:pounds"><code class="csfmt">\pounds</code></a> 24.50}
+<a id="wrglossary.338"></a><a href="#glo:DTLsetfpdatum"><code class="csfmt">\DTLsetfpdatum</code></a>{<code class="cmd">\numD</code>}{<a id="wrglossary.339"></a><a href="#glo:num"><code class="csfmt">\num</code></a>{1.5e-4}}{1.5e-4}
+<code class="cbeg">\begin{document}</code>
+Original value: <a id="wrglossary.340"></a><a href="#glo:DTLusedatum"><code class="csfmt">\DTLusedatum</code></a>{<code class="cmd">\numC</code>} or <code class="cmd">\numC</code>.
+Numeric value: <a id="wrglossary.341"></a><a href="#glo:DTLdatumvalue"><code class="csfmt">\DTLdatumvalue</code></a>{<code class="cmd">\numC</code>}.
+Currency: <a id="wrglossary.342"></a><a href="#glo:DTLdatumcurrency"><code class="csfmt">\DTLdatumcurrency</code></a>{<code class="cmd">\numC</code>}.
+Data type: <a id="wrglossary.343"></a><a href="#glo:number"><code class="csfmt">\number</code></a><a id="wrglossary.344"></a><a href="#glo:DTLdatumtype"><code class="csfmt">\DTLdatumtype</code></a>{<code class="cmd">\numC</code>}.
+
+<a id="wrglossary.345"></a><a href="#glo:DTLadd"><code class="csfmt">\DTLadd</code></a>{<code class="cmd">\result</code>}{<code class="cmd">\numA</code>}{<code class="cmd">\numB</code>}
+$<code class="cmd">\numA</code> + <code class="cmd">\numB</code> = <code class="cmd">\result</code>$
+
+<a id="wrglossary.346"></a><a href="#glo:DTLaddall"><code class="csfmt">\DTLaddall</code></a>{<code class="cmd">\result</code>}{<code class="cmd">\numA</code>,<code class="cmd">\numB</code>,<code class="cmd">\numC</code>}
+$<code class="cmd">\numA</code> + <code class="cmd">\numB</code> + <code class="cmd">\numC</code> = <code class="cmd">\result</code>$
+
+<a id="wrglossary.347"></a><a href="#glo:dtladd"><code class="csfmt">\dtladd</code></a>{<code class="cmd">\result</code>}{<a id="wrglossary.348"></a><a href="#glo:DTLdatumvalue"><code class="csfmt">\DTLdatumvalue</code></a>{<code class="cmd">\numA</code>}}{<a id="wrglossary.349"></a><a href="#glo:DTLdatumvalue"><code class="csfmt">\DTLdatumvalue</code></a>{<code class="cmd">\numB</code>}}
+$<a id="wrglossary.350"></a><a href="#glo:DTLdatumvalue"><code class="csfmt">\DTLdatumvalue</code></a>{<code class="cmd">\numA</code>} + <a id="wrglossary.351"></a><a href="#glo:DTLdatumvalue"><code class="csfmt">\DTLdatumvalue</code></a>{<code class="cmd">\numB</code>} = <code class="cmd">\result</code>$
+
+<a id="wrglossary.352"></a><a href="#glo:dtladdall"><code class="csfmt">\dtladdall</code></a>{<code class="cmd">\result</code>}
+{<a id="wrglossary.353"></a><a href="#glo:DTLdatumvalue"><code class="csfmt">\DTLdatumvalue</code></a>{<code class="cmd">\numA</code>},<a id="wrglossary.354"></a><a href="#glo:DTLdatumvalue"><code class="csfmt">\DTLdatumvalue</code></a>{<code class="cmd">\numB</code>},<a id="wrglossary.355"></a><a href="#glo:DTLdatumvalue"><code class="csfmt">\DTLdatumvalue</code></a>{<code class="cmd">\numC</code>}}
+$<a id="wrglossary.356"></a><a href="#glo:DTLdatumvalue"><code class="csfmt">\DTLdatumvalue</code></a>{<code class="cmd">\numA</code>} + <a id="wrglossary.357"></a><a href="#glo:DTLdatumvalue"><code class="csfmt">\DTLdatumvalue</code></a>{<code class="cmd">\numB</code>}
+ + <a id="wrglossary.358"></a><a href="#glo:DTLdatumvalue"><code class="csfmt">\DTLdatumvalue</code></a>{<code class="cmd">\numC</code>} = <code class="cmd">\result</code>$
+
+<a id="wrglossary.359"></a><a href="#glo:DTLxsetdecimaldatum"><code class="csfmt">\DTLxsetdecimaldatum</code></a>{<code class="cmd">\total</code>}{<a id="wrglossary.360"></a><a href="#glo:num"><code class="csfmt">\num</code></a>{<code class="cmd">\result</code>}}{<code class="cmd">\result</code>}
+Total: <code class="cmd">\total</code>.
+
+<a id="wrglossary.361"></a><a href="#glo:dtlmul"><code class="csfmt">\dtlmul</code></a>{<code class="cmd">\result</code>}{20}{<a id="wrglossary.362"></a><a href="#glo:DTLdatumvalue"><code class="csfmt">\DTLdatumvalue</code></a>{<code class="cmd">\numD</code>}}
+$20 <code class="cmd">\times</code> <code class="cmd">\numD</code> = <code class="cmd">\result</code>$
+
+<code class="cend">\end{document}</code>
+</pre>
+<div class="resultbox"><div class="resultboxtitle"><a href="#glo:sym.result"><span title="Result" class="icon">&#x1f5ba;</span></a></div><!-- end of resultboxtitle -->
+<a href="#ex:datumcs-backref"><span title="Up" class="icon">&#x2b71;</span></a><a id="ex:datumcs"></a>Example 5: Datum Control Sequences <a href="datatool-user-examples/datatool-user-example005.tex" class="icon"><span title="Download TeX File" class="icon">&#x1f4e5;<sup>&#x1f5b9;</sup></span></a> <a href="datatool-user-examples/datatool-user-example005.pdf" class="icon"><span title="Download PDF" class="icon">&#x1f4e5;<sup>&#x1f5ba;</sup></span></a>
+<p>
+<object data="datatool-user-examples/datatool-user-example005.png" type="image/png" width="388" height="111">Example document that demonstrates parsing data and
+storing the content in datum control sequences.</object>
+</div><!-- end of resultbox -->
+
+<p>
+
+</section><!-- end of section sec:datumcs -->
+
+<section id="sec:datumitems"><!-- start of section sec:datumitems --><div class="tomain"><a href="#main">[top]</a></div>
+<h3><!-- start of subsection header -->2.2.4. Datum Items (Advanced)<span class="labellink"><a href="#sec:datumitems">[link]</a></span></h3><!-- end of subsection header -->
+
+<p>
+If you have the <a id="wrglossary.363"></a><a href="#glo:dual.expansion">expansion</a> text from a <a id="wrglossary.364"></a><a href="#glo:dual.datumcs">datum control sequence</a> (a
+<a id="wrglossary.365"></a><a href="#glo:dual.datumitem">datum item</a>), that text will be in the form:
+<pre class="compactcodebox"><span class="meta">&#x2329;<em class="metainner">marker-cs</em>&#x232a;</span>{<span class="meta">&#x2329;<em class="metainner">string</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">currency</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">type</em>&#x232a;</span>}
+</pre>
+<p>
+Decimals may have the <span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span> part stored as:
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.366"></a><code class="code"><dfn id="glo:datatooldatumfp:nnn"><code class="csfmt">\datatool_datum_fp:nnn</code></dfn> {<span class="meta">&#x2329;<em class="metainner">fp-value</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">fp-var-content</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">decimal</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+With <a id="wrglossary.367"></a><a href="#glo:opt.math"><span class="styoptfmt">math</span></a><span class="optfmt">=fp</span> this expands to <span class="meta">&#x2329;<em class="metainner">decimal</em>&#x232a;</span> (since the
+<a id="wrglossary.368"></a><a href="#glo:pkg.fp"><span class="styfmt">fp</span></a> package can&#x2019;t parse scientific notation) otherwise this
+expands to <span class="meta">&#x2329;<em class="metainner">fp-value</em>&#x232a;</span> (the original value if supplied in
+scientific notation or the <a id="wrglossary.369"></a><a href="#glo:dual.plainnumber">plain number</a> obtained from parsing
+a locale decimal). The <span class="meta">&#x2329;<em class="metainner">fp-var-content</em>&#x232a;</span> argument allows an <span class="styfmt">l3fp</span>
+variable to be reconstructed (with <a id="wrglossary.370"></a><a href="#glo:datatoolsetfp:Nn"><code class="csfmt">\datatool_set_fp:Nn</code></a>) without 
+having to reparse the value.
+<p>
+Temporal data types may have the <span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span> part stored as:
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.371"></a><code class="code"><dfn id="glo:DTLtemporalvalue"><code class="csfmt">\DTLtemporalvalue</code></dfn>{<span class="meta">&#x2329;<em class="metainner">number</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">ISO</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+This allows the date/time stamp to be retained. This simply expands
+to the first argument by default, which is the numeric value
+associated with the data. In the case of date (without time), the
+value is an integer Julian day; in the case of a timestamp (date and
+time), the value is a decimal Julian date; in the case of time
+(without a date), the value is the fractional part of the Julian
+date.
+<p>
+The date/time stamp can be extracted with:
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.372"></a><code class="code"><dfn id="glo:datatoolextracttimestamp:NN"><code class="csfmt">\datatool_extract_timestamp:NN</code></dfn> <span class="meta">&#x2329;<em class="metainner">datum-cs</em>&#x232a;</span> <span class="meta">&#x2329;<em class="metainner">result-tl</em>&#x232a;</span></code></div><!-- end of pinnedbox -->
+
+where <span class="meta">&#x2329;<em class="metainner">result-tl-var</em>&#x232a;</span> is the token list variable in which to
+store the date/time stamp and <span class="meta">&#x2329;<em class="metainner">datum-cs</em>&#x232a;</span> is the <a id="wrglossary.373"></a><a href="#glo:dual.datumcs">datum control sequence</a>.
+This works by locally redefining <a id="wrglossary.374"></a><a href="#glo:DTLtemporalvalue"><code class="csfmt">\DTLtemporalvalue</code></a> and then
+expanding <code class="code"><a id="wrglossary.375"></a><a href="#glo:DTLtemporalvalue"><code class="csfmt">\DTLtemporalvalue</code></a>{<span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span>}</code>. If the
+<span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span> part in <span class="meta">&#x2329;<em class="metainner">datum-cs</em>&#x232a;</span> is just a number and not
+encapsulated within <a id="wrglossary.376"></a><a href="#glo:DTLtemporalvalue"><code class="csfmt">\DTLtemporalvalue</code></a> then this trick won&#x2019;t
+work and the number will need to be converted back.
+The result will be empty if there is no date/time information.
+<p>
+To allow for new data types introduced in a later version, you can
+check for the current maximum allowed value with:
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.377"></a><code class="code"><dfn id="glo:datatoolmaxknowntype:"><code class="csfmt">\datatool_max_known_type:</code></dfn></code></div><!-- end of pinnedbox -->
+
+This will expand to the appropriate constant.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.378"></a><code class="code"><dfn id="glo:datatoolifvaliddatumtype:n"><code class="csfmt">\datatool_if_valid_datum_type:n<em class="boolsuffix">TF</em></code></dfn> {<span class="meta">&#x2329;<em class="metainner">n</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">true</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">false</em>&#x232a;</span>}</code><br><code class="code"><code class="csfmt">\datatool_if_valid_datum_type_p:n</code> {<span class="meta">&#x2329;<em class="metainner">n</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">true</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">false</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+Tests if the argument <span class="meta">&#x2329;<em class="metainner">n</em>&#x232a;</span> represents a valid data type
+(including unknown).
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.379"></a><code class="code"><dfn id="glo:datatoolifnumericdatumtype:n"><code class="csfmt">\datatool_if_numeric_datum_type:n<em class="boolsuffix">TF</em></code></dfn> {<span class="meta">&#x2329;<em class="metainner">n</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">true</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">false</em>&#x232a;</span>}</code><br><code class="code"><code class="csfmt">\datatool_if_numeric_datum_type_p:n</code> {<span class="meta">&#x2329;<em class="metainner">n</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">true</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">false</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+Tests if the argument <span class="meta">&#x2329;<em class="metainner">n</em>&#x232a;</span> represents a numeric data type.
+Note that temporal data types are considered numeric.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.380"></a><code class="code"><dfn id="glo:datatooliftemporaldatumtype:n"><code class="csfmt">\datatool_if_temporal_datum_type:n<em class="boolsuffix">TF</em></code></dfn> {<span class="meta">&#x2329;<em class="metainner">n</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">true</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">false</em>&#x232a;</span>}</code><br><code class="code"><code class="csfmt">\datatool_if_temporal_datum_type_p:n</code> {<span class="meta">&#x2329;<em class="metainner">n</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">true</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">false</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+Tests if the argument <span class="meta">&#x2329;<em class="metainner">n</em>&#x232a;</span> represents a temporal data type.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.381"></a><code class="code"><dfn id="glo:datatoolifnumberonlydatumtype:n"><code class="csfmt">\datatool_if_number_only_datum_type:n<em class="boolsuffix">TF</em></code></dfn> {<span class="meta">&#x2329;<em class="metainner">n</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">true</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">false</em>&#x232a;</span>}</code><br><code class="code"><code class="csfmt">\datatool_if_number_only_datum_type_p:n</code> {<span class="meta">&#x2329;<em class="metainner">n</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">true</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">false</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+Tests if the argument <span class="meta">&#x2329;<em class="metainner">n</em>&#x232a;</span> represents an integer or decimal data type
+(not currency or temporal).
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.382"></a><code class="code"><dfn id="glo:datatoolifanyintdatumtype:n"><code class="csfmt">\datatool_if_any_int_datum_type:n<em class="boolsuffix">TF</em></code></dfn> {<span class="meta">&#x2329;<em class="metainner">n</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">true</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">false</em>&#x232a;</span>}</code><br><code class="code"><code class="csfmt">\datatool_if_any_int_datum_type_p:n</code> {<span class="meta">&#x2329;<em class="metainner">n</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">true</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">false</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+Tests if the argument <span class="meta">&#x2329;<em class="metainner">n</em>&#x232a;</span> represents data type that has an
+integer value (integer or date, but not decimal or currency or
+timestamps or times).
+<p>
+
+</section><!-- end of section sec:datumitems -->
+
+<section id="sec:datumcomponents"><!-- start of section sec:datumcomponents --><div class="tomain"><a href="#main">[top]</a></div>
+<h4><!-- start of subsubsection header -->2.2.4.1. Datum Components<span class="labellink"><a href="#sec:datumcomponents">[link]</a></span></h4><!-- end of subsubsection header -->
+
+<p>
+It&#x2019;s possible to pick out the desired component using an
+<span class="meta">&#x2329;<em class="metainner">n</em>&#x232a;</span> of <span class="meta">&#x2329;<em class="metainner">m</em>&#x232a;</span> style of command. However, the following
+commands are provided as it&#x2019;s more obvious from the command name
+which element is required. Note that these require LaTeX3 syntax
+enabled:
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.383"></a><code class="code"><dfn id="glo:datatooldatumstring:Nnnnn"><code class="csfmt">\datatool_datum_string:Nnnnn</code></dfn> <span class="meta">&#x2329;<em class="metainner">marker-cs</em>&#x232a;</span> {<span class="meta">&#x2329;<em class="metainner">string</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">currency</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">type</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+Expands to <span class="meta">&#x2329;<em class="metainner">string</em>&#x232a;</span>.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.384"></a><code class="code"><dfn id="glo:datatooldatumvalue:Nnnnn"><code class="csfmt">\datatool_datum_value:Nnnnn</code></dfn> <span class="meta">&#x2329;<em class="metainner">marker-cs</em>&#x232a;</span> {<span class="meta">&#x2329;<em class="metainner">string</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">currency</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">type</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+Expands to <span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span>.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.385"></a><code class="code"><dfn id="glo:datatooldatumcurrency:Nnnnn"><code class="csfmt">\datatool_datum_currency:Nnnnn</code></dfn> <span class="meta">&#x2329;<em class="metainner">marker-cs</em>&#x232a;</span> {<span class="meta">&#x2329;<em class="metainner">string</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">currency</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">type</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+Expands to <span class="meta">&#x2329;<em class="metainner">currency</em>&#x232a;</span>.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.386"></a><code class="code"><dfn id="glo:datatooldatumtype:Nnnnn"><code class="csfmt">\datatool_datum_type:Nnnnn</code></dfn> <span class="meta">&#x2329;<em class="metainner">marker-cs</em>&#x232a;</span> {<span class="meta">&#x2329;<em class="metainner">string</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">currency</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">type</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+Expands to <span class="meta">&#x2329;<em class="metainner">type</em>&#x232a;</span>.
+<p>
+
+</section><!-- end of section sec:datumcomponents -->
+
+<section id="sec:datumifeq"><!-- start of section sec:datumifeq --><div class="tomain"><a href="#main">[top]</a></div>
+<h4><!-- start of subsubsection header -->2.2.4.2. Datum Tests for Equality<span class="labellink"><a href="#sec:datumifeq">[link]</a></span></h4><!-- end of subsubsection header -->
+
+<p>
+If you want to test if a <a id="wrglossary.387"></a><a href="#glo:dual.datumcs">datum control sequence</a> is equal to a string, then
+you can&#x2019;t simply use <code class="csfmt">\tl_if_eq:NnTF</code> or <a id="wrglossary.388"></a><a href="#glo:ifdefstring"><code class="csfmt">\ifdefstring</code></a> as
+the datum markup will prevent a match. Commands such as
+<a id="wrglossary.389"></a><a href="#glo:DTLifstringeq"><code class="csfmt">\DTLifstringeq</code></a> expand the arguments which will remove the datum
+markup, but the following commands take the data type into account.
+<p>
+If both arguments have a numeric type then they will be compared
+numerically and by the currency symbol. If both are ordinary token
+lists without the datum markup then they will be compared using a
+normal token list comparison. If one has the datum format and the
+other doesn&#x2019;t, then a string comparison is used.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.390"></a><code class="code"><dfn id="glo:datatoolifvalueeq:NN"><code class="csfmt">\datatool_if_value_eq:NN<em class="boolsuffix">TF</em></code></dfn> <span class="meta">&#x2329;<em class="metainner">tl var1</em>&#x232a;</span> <span class="meta">&#x2329;<em class="metainner">tl var2</em>&#x232a;</span> {<span class="meta">&#x2329;<em class="metainner">true</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">false</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+Compares two variables where one or other may be a <a id="wrglossary.391"></a><a href="#glo:dual.datumcs">datum control sequence</a> or
+simply a token list variable.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.392"></a><code class="code"><dfn id="glo:datatoolifvalueeq:Nn"><code class="csfmt">\datatool_if_value_eq:Nn<em class="boolsuffix">TF</em></code></dfn> <span class="meta">&#x2329;<em class="metainner">tl var</em>&#x232a;</span> {<span class="meta">&#x2329;<em class="metainner">tl</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">true</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">false</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+Test for equality where the variable <span class="meta">&#x2329;<em class="metainner">tl var</em>&#x232a;</span> may be a <a id="wrglossary.393"></a><a href="#glo:dual.datumcs">datum control sequence</a> and the
+token list <span class="meta">&#x2329;<em class="metainner">tl</em>&#x232a;</span> may be a <a id="wrglossary.394"></a><a href="#glo:dual.datumitem">datum item</a>.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.395"></a><code class="code"><dfn id="glo:datatoolifvalueeq:nN"><code class="csfmt">\datatool_if_value_eq:nN<em class="boolsuffix">TF</em></code></dfn> {<span class="meta">&#x2329;<em class="metainner">tl</em>&#x232a;</span>} <span class="meta">&#x2329;<em class="metainner">tl var</em>&#x232a;</span> {<span class="meta">&#x2329;<em class="metainner">true</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">false</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+Test for equality where the token list <span class="meta">&#x2329;<em class="metainner">tl</em>&#x232a;</span> may be a
+<a id="wrglossary.396"></a><a href="#glo:dual.datumitem">datum item</a> and the variable <span class="meta">&#x2329;<em class="metainner">tl var</em>&#x232a;</span> may be a
+<a id="wrglossary.397"></a><a href="#glo:dual.datumcs">datum control sequence</a>.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.398"></a><code class="code"><dfn id="glo:datatoolifvalueeq:nn"><code class="csfmt">\datatool_if_value_eq:nn<em class="boolsuffix">TF</em></code></dfn> {<span class="meta">&#x2329;<em class="metainner">tl1</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">tl2</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">true</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">false</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+Compares two token lists where one or other may be a <a id="wrglossary.399"></a><a href="#glo:dual.datumitem">datum item</a>.
+<p>
+<div class="marginright"><a id="ex:datumifeq-backref">&#x1f5b9;</a><a href="#ex:datumifeq">6</a></div>Example <a href="#ex:datumifeq">6</a> demonstrates the above commands. First some
+<a id="wrglossary.400"></a><a href="#glo:dual.datumcs">datum control sequences</a> are defined:
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><a id="wrglossary.401"></a><a href="#glo:DTLparse"><code class="csfmt">\DTLparse</code></a>{<code class="cmd">\Fruit</code>}{Pear}
+<a id="wrglossary.402"></a><a href="#glo:DTLparse"><code class="csfmt">\DTLparse</code></a>{<code class="cmd">\Price</code>}{<a id="wrglossary.403"></a><a href="#glo:cs.dollar">\$</a>1.50}
+<a id="wrglossary.404"></a><a href="#glo:DTLparse"><code class="csfmt">\DTLparse</code></a>{<code class="cmd">\Quantity</code>}{10}
+</pre>
+The following <code class="csfmt">\OtherPrice</code> is numerically equivalent to <code class="csfmt">\Price</code> 
+and has the same currency symbol but the string representation is different:
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><a id="wrglossary.405"></a><a href="#glo:DTLsetcurrencydatum"><code class="csfmt">\DTLsetcurrencydatum</code></a>{<code class="cmd">\OtherPrice</code>}{1 dollar 50<code class="cmd">\textcent</code>}{1.5}{<a id="wrglossary.406"></a><a href="#glo:cs.dollar">\$</a>}
+</pre>
+Similarly, the following <code class="csfmt">\OtherQuantity</code> has the same
+numerical value as <code class="csfmt">\Quantity</code> but it&#x2019;s a decimal instead of an
+integer:
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><a id="wrglossary.407"></a><a href="#glo:DTLsetdecimaldatum"><code class="csfmt">\DTLsetdecimaldatum</code></a>{<code class="cmd">\OtherQuantity</code>}{10.00}{10.0}
+</pre>
+For convenience a command is provided for the tests:
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><code class="cmd">\newcommand</code>{<code class="cmd">\test</code>}[3]{#1=#2 (<code class="cmd">\texttt</code>{<code class="cmd">\string</code>#3}) ?
+  #3{#1}{#2}{true}{false}.<code class="cmd">\par</code>}
+</pre>
+The actual tests need to have LaTeX3 syntax enabled:
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><a id="wrglossary.408"></a><a href="#glo:ExplSyntaxOn"><code class="csfmt">\ExplSyntaxOn</code></a>
+</pre>
+First are the string tests:
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><code class="cmd">\test</code> <code class="cmd">\Fruit</code> {Pear} <code class="cmd">\tl_if_eq:NnTF</code>
+<code class="cmd">\test</code> <code class="cmd">\Fruit</code> {Pear} <code class="cmd">\tl_if_eq:enTF</code>
+<code class="cmd">\test</code> <code class="cmd">\Fruit</code> {Pear} <a id="wrglossary.409"></a><a href="#glo:datatoolifvalueeq:Nn"><code class="csfmt">\datatool_if_value_eq:NnTF</code></a>
+</pre>
+The next set may appear to be numeric tests but they are still string
+tests because they are being compared with a non-datum token list.
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><code class="cmd">\test</code> <code class="cmd">\Price</code> {<a id="wrglossary.410"></a><a href="#glo:cs.dollar">\$</a>1.50} <code class="cmd">\tl_if_eq:NnTF</code>
+<code class="cmd">\test</code> <code class="cmd">\Price</code> {<a id="wrglossary.411"></a><a href="#glo:cs.dollar">\$</a>1.50} <code class="cmd">\tl_if_eq:enTF</code>
+<code class="cmd">\test</code> <code class="cmd">\Price</code> {<a id="wrglossary.412"></a><a href="#glo:cs.dollar">\$</a>1.50} <a id="wrglossary.413"></a><a href="#glo:datatoolifvalueeq:Nn"><code class="csfmt">\datatool_if_value_eq:NnTF</code></a>
+<code class="cmd">\test</code> <code class="cmd">\Price</code> {<a id="wrglossary.414"></a><a href="#glo:cs.dollar">\$</a>1.5} <a id="wrglossary.415"></a><a href="#glo:datatoolifvalueeq:Nn"><code class="csfmt">\datatool_if_value_eq:NnTF</code></a>
+</pre>
+For an actual numeric test, both arguments must use the datum
+format. Note that <code class="csfmt">\Price</code> and <code class="csfmt">\OtherPrice</code> are
+numerically equivalent but when viewed as token list variables, they
+don&#x2019;t have the same content.
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><code class="cmd">\test</code> <code class="cmd">\Price</code> <code class="cmd">\OtherPrice</code> <code class="cmd">\tl_if_eq:NNTF</code>
+<code class="cmd">\test</code> <code class="cmd">\Price</code> <code class="cmd">\OtherPrice</code> <a id="wrglossary.416"></a><a href="#glo:datatoolifvalueeq:NN"><code class="csfmt">\datatool_if_value_eq:NNTF</code></a>
+</pre>
+There are similar tests for the quantity:
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><code class="cmd">\test</code> <code class="cmd">\Quantity</code> {10} <code class="cmd">\tl_if_eq:NnTF</code>
+<code class="cmd">\test</code> <code class="cmd">\Quantity</code> {10} <code class="cmd">\tl_if_eq:enTF</code>
+<code class="cmd">\test</code> <code class="cmd">\Quantity</code> {10} <a id="wrglossary.417"></a><a href="#glo:datatoolifvalueeq:Nn"><code class="csfmt">\datatool_if_value_eq:NnTF</code></a>
+<code class="cmd">\test</code> <code class="cmd">\Quantity</code> {10.00} <a id="wrglossary.418"></a><a href="#glo:datatoolifvalueeq:Nn"><code class="csfmt">\datatool_if_value_eq:NnTF</code></a>
+<code class="cmd">\test</code> <code class="cmd">\Quantity</code> <code class="cmd">\OtherQuantity</code> <code class="cmd">\tl_if_eq:NNTF</code>
+<code class="cmd">\test</code> <code class="cmd">\Quantity</code> <code class="cmd">\OtherQuantity</code> <a id="wrglossary.419"></a><a href="#glo:datatoolifvalueeq:NN"><code class="csfmt">\datatool_if_value_eq:NNTF</code></a>
+</pre>
+<p>
+<div class="resultbox"><div class="resultboxtitle"><a href="#glo:sym.result"><span title="Result" class="icon">&#x1f5ba;</span></a></div><!-- end of resultboxtitle -->
+<a href="#ex:datumifeq-backref"><span title="Up" class="icon">&#x2b71;</span></a><a id="ex:datumifeq"></a>Example 6: Datum Tests for Equality <a href="datatool-user-examples/datatool-user-example006.tex" class="icon"><span title="Download TeX File" class="icon">&#x1f4e5;<sup>&#x1f5b9;</sup></span></a> <a href="datatool-user-examples/datatool-user-example006.pdf" class="icon"><span title="Download PDF" class="icon">&#x1f4e5;<sup>&#x1f5ba;</sup></span></a>
+<p>
+<object data="datatool-user-examples/datatool-user-example006.png" type="image/png" width="306" height="216">Example document that demonstrates equality tests with
+datum markup.</object>
+</div><!-- end of resultbox -->
+
+<p>
+
+</section><!-- end of section sec:datumifeq -->
+
+<section id="sec:datumfp"><!-- start of section sec:datumfp --><div class="tomain"><a href="#main">[top]</a></div>
+<h4><!-- start of subsubsection header -->2.2.4.3. Conversion to Floating Point<span class="labellink"><a href="#sec:datumfp">[link]</a></span></h4><!-- end of subsubsection header -->
+
+<p>
+If you need to set an <span class="styfmt">l3fp</span> variable to a value that may be
+a <a id="wrglossary.420"></a><a href="#glo:dual.datumcs">datum control sequence</a> or <a id="wrglossary.421"></a><a href="#glo:dual.datumitem">datum item</a> or may not yet be parsed, you can
+use:
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.422"></a><code class="code"><dfn id="glo:datatoolsetfp:Nn"><code class="csfmt">\datatool_set_fp:Nn</code></dfn> <span class="meta">&#x2329;<em class="metainner">fp-var</em>&#x232a;</span> {<span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+This sets the floating point variable <span class="meta">&#x2329;<em class="metainner">fp-var</em>&#x232a;</span> to the floating
+point number obtained from the given <span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span>. If the
+<span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span> is either a <a id="wrglossary.423"></a><a href="#glo:dual.datumcs">datum control sequence</a> or <a id="wrglossary.424"></a><a href="#glo:dual.datumitem">datum item</a>
+then no parsing is required. If not, the <span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span> will be
+expanded and then parsed to obtain its numeric value before setting 
+the variable. (Be aware that this may cause non-robust currency symbols to
+expand so that they are no longer recognised as a currency symbol.)
+If <span class="meta">&#x2329;<em class="metainner">value</em>&#x232a;</span> is determined to have a string or unknown data type
+the variable will be set to zero.
+<p>
+<div class="marginright"><a id="ex:datumfp-backref">&#x1f5b9;</a><a href="#ex:datumfp">7</a></div>Example <a href="#ex:datumfp">7</a> performs floating point calculations on 
+a <a id="wrglossary.425"></a><a href="#glo:dual.formattednumber">formatted number</a> (which needs to be parsed according to the current settings)
+and a value provided in scientific notation (with a formatted representation 
+using <a id="wrglossary.426"></a><a href="#glo:pkg.siunitx"><span class="styfmt">siunitx</span></a>).
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><code class="cmd">\usepackage</code>{datatool-base}
+<code class="cmd">\usepackage</code>{siunitx}
+<a id="wrglossary.427"></a><a href="#glo:DTLparse"><code class="csfmt">\DTLparse</code></a>{<code class="cmd">\numA</code>}{1,500.0}
+<a id="wrglossary.428"></a><a href="#glo:DTLsetfpdatum"><code class="csfmt">\DTLsetfpdatum</code></a>{<code class="cmd">\numB</code>}{<a id="wrglossary.429"></a><a href="#glo:num"><code class="csfmt">\num</code></a>{1.5e-4}}{1.5e-4}
+<code class="cbeg">\begin{document}</code>
+A = <code class="cmd">\numA</code> <code class="cmd">\space</code> (value: <a id="wrglossary.430"></a><a href="#glo:DTLdatumvalue"><code class="csfmt">\DTLdatumvalue</code></a><code class="cmd">\numA</code>).
+B = <code class="cmd">\numB</code> <code class="cmd">\space</code> (value: <a id="wrglossary.431"></a><a href="#glo:DTLdatumvalue"><code class="csfmt">\DTLdatumvalue</code></a><code class="cmd">\numB</code>).
+
+<a id="wrglossary.432"></a><a href="#glo:ExplSyntaxOn"><code class="csfmt">\ExplSyntaxOn</code></a>
+<a id="wrglossary.433"></a><a href="#glo:datatoolsetfp:Nn"><code class="csfmt">\datatool_set_fp:Nn</code></a> <code class="cmd">\l_tmpa_fp</code> { <code class="cmd">\numA</code> }
+<a id="wrglossary.434"></a><a href="#glo:datatoolsetfp:Nn"><code class="csfmt">\datatool_set_fp:Nn</code></a> <code class="cmd">\l_tmpb_fp</code> { <code class="cmd">\numB</code> }
+<code class="cmd">\fp_to_tl:N</code> <code class="cmd">\l_tmpa_fp</code> <code class="cmd">\c_space_tl</code>
+ <code class="cmd">\texttimes</code> <code class="cmd">\c_space_tl</code>
+<code class="cmd">\fp_to_tl:N</code> <code class="cmd">\l_tmpb_fp</code> <code class="cmd">\c_space_tl</code> = <code class="cmd">\c_space_tl</code>
+<code class="cmd">\fp_eval:n</code> { <code class="cmd">\l_tmpa_fp</code> * <code class="cmd">\l_tmpb_fp</code> }
+<a id="wrglossary.435"></a><a href="#glo:ExplSyntaxOff"><code class="csfmt">\ExplSyntaxOff</code></a>
+<code class="cend">\end{document}</code>
+</pre>
+<div class="resultbox"><div class="resultboxtitle"><a href="#glo:sym.result"><span title="Result" class="icon">&#x1f5ba;</span></a></div><!-- end of resultboxtitle -->
+<a href="#ex:datumfp-backref"><span title="Up" class="icon">&#x2b71;</span></a><a id="ex:datumfp"></a>Example 7: Datum Control Sequences to Floating Point Variables <a href="datatool-user-examples/datatool-user-example007.tex" class="icon"><span title="Download TeX File" class="icon">&#x1f4e5;<sup>&#x1f5b9;</sup></span></a> <a href="datatool-user-examples/datatool-user-example007.pdf" class="icon"><span title="Download PDF" class="icon">&#x1f4e5;<sup>&#x1f5ba;</sup></span></a>
+<p>
+<object data="datatool-user-examples/datatool-user-example007.png" type="image/png" width="309" height="25">Example document that demonstrates converting locale
+formatted numbers to floating point variables.</object>
+</div><!-- end of resultbox -->
+
+<a id="wrglossary.436"></a><a id="wrglossary.437"></a>
+<p>
+
+</section><!-- end of section sec:datumfp -->
+
+<section id="sec:localisation"><!-- start of section sec:localisation --><div class="tomain"><a href="#main">[top]</a></div>
+<h2><!-- start of section header -->2.3. Localisation<span class="labellink"><a href="#sec:localisation">[link]</a></span></h2><!-- end of section header -->
+
+<p>
+The <a id="wrglossary.438"></a><a href="#glo:pkg.datatool-base"><span class="styfmt">datatool-base</span></a> package (v3.0+) loads the <a id="wrglossary.439"></a><a href="#glo:pkg.tracklang"><span class="styfmt">tracklang</span></a>
+package, which attempts to determine the document localisation
+settings. No actual localisation is provided by <a id="wrglossary.440"></a><a href="#glo:pkg.tracklang"><span class="styfmt">tracklang</span></a>,
+but it enables support to be easily added and maintained
+independently from a package (that uses the <a id="wrglossary.441"></a><a href="#glo:pkg.tracklang"><span class="styfmt">tracklang</span></a>
+interface) with <a id="wrglossary.442"></a><a href="#glo:ext.ldf"><span class="extfmt">ldf</span></a> files that have a particular naming
+scheme.
+<p>
+This means that by adding a file
+called <a id="wrglossary.443"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-</span><span class="meta">&#x2329;<em class="metainner">locale</em>&#x232a;</span><span class="filefmt">.ldf</span></a> to TeX&#x2019;s path, the file can
+automatically be loaded by <a id="wrglossary.444"></a><a href="#glo:pkg.datatool-base"><span class="styfmt">datatool-base</span></a> without any
+adjustments to the <a id="wrglossary.445"></a><a href="#glo:pkg.datatool-base"><span class="styfmt">datatool-base</span></a> code.
+There is a search order for <span class="meta">&#x2329;<em class="metainner">locale</em>&#x232a;</span> to allow for fine grained
+support. See the <a id="wrglossary.446"></a><a href="#glo:pkg.tracklang"><span class="styfmt">tracklang</span></a> documentation for further details
+or the <span class="qt">&#x201c;Locale Sensitive Files&#x201d;</span> section of
+<a href="https://www.dickimaw-books.com/latex/tracklang/otherpkg.shtml">Using
+<span class="styfmt">tracklang</span> in Packages with Localisation Features</a>.
+<p>
+The <a id="wrglossary.447"></a><a href="#glo:pkg.tracklang"><span class="styfmt">tracklang</span></a> package has limitations, but you may be
+able to supply the language identifier as a document class
+option, for example:
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><code class="cmd">\documentclass</code>[british]{article}
+</pre>
+or load <a id="wrglossary.448"></a><a href="#glo:pkg.babel"><span class="styfmt">babel</span></a>/<a id="wrglossary.449"></a><a href="#glo:pkg.polyglossia"><span class="styfmt">polyglossia</span></a> and setup language
+support before the first package to load <a id="wrglossary.450"></a><a href="#glo:pkg.tracklang"><span class="styfmt">tracklang</span></a>, for example:
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><code class="cmd">\usepackage</code>[british]{babel}
+<code class="cmd">\usepackage</code>{datatool-base}
+</pre>
+or use <a id="wrglossary.451"></a><a href="#glo:pkg.datatool-base"><span class="styfmt">datatool-base</span>&#x2019;s</a> <a id="wrglossary.452"></a><a href="#glo:opt.locales"><span class="styoptfmt">locales</span></a> (or <a id="wrglossary.453"></a><a href="#glo:opt.locales"><span class="styoptfmt">lang</span></a>) option, for example:
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><code class="cmd">\usepackage</code>[<a id="wrglossary.454"></a><a href="#glo:opt.locales"><span class="styoptfmt">locales</span></a><span class="optfmt">=en-GB</span>]{datatool-base}
+</pre>
+If you use <a id="wrglossary.455"></a><a href="#glo:babelprovide"><code class="csfmt">\babelprovide</code></a>, ensure that you have at least
+version 1.6.4 of <a id="wrglossary.456"></a><a href="#glo:pkg.tracklang"><span class="styfmt">tracklang</span></a> and load <a id="wrglossary.457"></a><a href="#glo:pkg.tracklang"><span class="styfmt">tracklang</span></a> after all
+instances of <a id="wrglossary.458"></a><a href="#glo:babelprovide"><code class="csfmt">\babelprovide</code></a>. There&#x2019;s no support for
+<span class="qt">&#x201c;lazy loading&#x201d;</span> in the document environment.
+<p>
+Note that this option will have an effect on packages that are
+subsequently loaded that also use <a id="wrglossary.459"></a><a href="#glo:pkg.tracklang"><span class="styfmt">tracklang</span></a>.
+Likewise, if you have already loaded a package that uses
+<a id="wrglossary.460"></a><a href="#glo:pkg.tracklang"><span class="styfmt">tracklang</span></a> (such as <a id="wrglossary.461"></a><a href="#glo:pkg.datetime2"><span class="styfmt">datetime2</span></a>) then the tracked locales 
+from that will be picked up.
+For example:
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><code class="cmd">\usepackage</code>[en-GB]{datetime2}
+<code class="cmd">\usepackage</code>{datatool-base}
+</pre>
+See the <a id="wrglossary.462"></a><a href="#glo:pkg.tracklang"><span class="styfmt">tracklang</span></a> documentation or
+<a href="https://www.dickimaw-books.com/latex/tracklang">Localisation with
+<span class="filefmt">tracklang.tex</span></a> for further details.
+<p>
+<div class="information"><div class="informationtitle"><a href="#glo:sym.information"><span title="Information" class="icon">&#x1f6c8;</span></a></div><!-- end of informationtitle -->
+If <a id="wrglossary.463"></a><a href="#glo:pkg.tracklang"><span class="styfmt">tracklang</span></a> doesn&#x2019;t recognise the language identifier, 
+the root language will be <span class="qt">&#x201c;undetermined&#x201d;</span> (with code <span class="qt">&#x201c;und&#x201d;</span>) and so the file
+<a id="wrglossary.464"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-undetermined.ldf</span></a> (provided with <a id="wrglossary.465"></a><a href="#glo:pkg.datatool"><span class="styfmt">datatool</span></a>) will be loaded.
+</div><!-- end of information -->
+
+<p>
+For some packages (such as <a id="wrglossary.466"></a><a href="#glo:pkg.databib"><span class="styfmt">databib</span></a> and <a id="wrglossary.467"></a><a href="#glo:pkg.person"><span class="styfmt">person</span></a>), the
+localisation support just relates to translating fixed text and the
+corresponding filename may simply have <span class="meta">&#x2329;<em class="metainner">locale</em>&#x232a;</span> as the
+<a id="wrglossary.468"></a><a href="#glo:pkg.tracklang"><span class="styfmt">tracklang</span></a> root language label. So regardless of whether you
+have used <a id="wrglossary.469"></a><a href="#glo:opt.locales"><span class="styoptfmt">locales</span></a><span class="optfmt">=en-GB</span> or <a id="wrglossary.470"></a><a href="#glo:opt.locales"><span class="styoptfmt">locales</span></a><span class="optfmt">=en-US</span>, the
+<a id="wrglossary.471"></a><a href="#glo:pkg.person"><span class="styfmt">person</span></a> package will require the file 
+<span class="filefmt">person-english.ldf</span> (provided with
+<a id="wrglossary.472"></a><a href="#glo:pkg.datatool-english"><span class="styfmt">datatool-english</span></a>).
+<p>
+However, settings such as the currency symbol are specific to a
+region not a language. So <a id="wrglossary.473"></a><a href="#glo:opt.locales"><span class="styoptfmt">locales</span></a><span class="optfmt">=en-GB</span> would need the
+default currency switched to GBP whereas <a id="wrglossary.474"></a><a href="#glo:opt.locales"><span class="styoptfmt">locales</span></a><span class="optfmt">=en-IE</span> would
+need the default currency switched to EUR and <a id="wrglossary.475"></a><a href="#glo:opt.locales"><span class="styoptfmt">locales</span></a><span class="optfmt">=en-ZA</span>
+would need the default currency switched to ZAR.
+<p>
+Therefore, localisation support for <a id="wrglossary.476"></a><a href="#glo:pkg.datatool-base"><span class="styfmt">datatool-base</span></a> (and its
+supplementary packages) is split into two parts: the language file
+<span class="filefmt">datatool-</span><span class="meta">&#x2329;<em class="metainner">language</em>&#x232a;</span><span class="filefmt">.ldf</span> (for example, <a id="wrglossary.477"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-english.ldf</span></a>)
+which deals with the orthography, translations of fixed text, and
+other language-specific code, and the region file
+<span class="filefmt">datatool-</span><span class="meta">&#x2329;<em class="metainner">region</em>&#x232a;</span><span class="filefmt">.ldf</span> (for example, <a id="wrglossary.478"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-GB.ldf</span></a>) which
+deals with language-independent region code. You will need both
+files for full support but partial support can be obtained if one is
+missing.
+<p>
+The region files are fairly straightforward (albeit time-consuming)
+to create. They are therefore all bundled together in a single
+distribution <a id="wrglossary.479"></a><a href="#glo:pkg.datatool-regions"><span class="styfmt">datatool-regions</span></a> which needs to be installed in addition to
+installing <a id="wrglossary.480"></a><a href="#glo:pkg.datatool"><span class="styfmt">datatool</span></a>. See &#xa7;<a href="#sec:addregion">2.3.4</a> for
+further details.
+<p>
+Locale-sensitive commands that relate to regions may all be reset back to their
+original definitions with:
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.481"></a><code class="code"><dfn id="glo:DTLresetRegion"><code class="csfmt">\DTLresetRegion</code></dfn></code></div><!-- end of pinnedbox -->
+
+Note that this will clear <a id="wrglossary.482"></a><a href="#glo:ldatatoolcurrentregiontl"><code class="csfmt">\l_datatool_current_region_tl</code></a> and reset
+the current <a id="wrglossary.483"></a><a href="#glo:idx.numbergroupchar">number group character</a> and <a id="wrglossary.484"></a><a href="#glo:idx.decimalchar">decimal character</a> and currency
+in addition to redefining commands such as
+<a id="wrglossary.485"></a><a href="#glo:DTLCurrentLocaleCurrencyDP"><code class="csfmt">\DTLCurrentLocaleCurrencyDP</code></a>.
+<p>
+The language files are more complicated and require knowledge of
+someone familiar with the language. Each language bundle should
+therefore be developed independently by a maintainer fluent in the
+language and it will need to be installed in addition to installing
+<a id="wrglossary.486"></a><a href="#glo:pkg.datatool"><span class="styfmt">datatool</span></a>. At the time of writing, only <a id="wrglossary.487"></a><a href="#glo:pkg.datatool-english"><span class="styfmt">datatool-english</span></a> is
+available, but you can copy and adapt it as appropriate. 
+(Don&#x2019;t add me as author or maintainer of your contribution.)
+The <a id="wrglossary.488"></a><a href="#glo:pkg.datatool-english"><span class="styfmt">datatool-english</span></a> bundle includes limited support for
+Old English (Anglo-Saxon) for Latin and Runic scripts, which may be
+used as examples for extended Latin or non-Latin languages.
+See &#xa7;<a href="#sec:addlang">2.3.5</a> for further details.
+<p>
+Locale-sensitive commands that relate to language may all be reset back to their
+original definitions with:
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.489"></a><code class="code"><dfn id="glo:DTLresetLanguage"><code class="csfmt">\DTLresetLanguage</code></dfn></code></div><!-- end of pinnedbox -->
+
+Note that this clears <a id="wrglossary.490"></a><a href="#glo:ldatatoolcurrentlanguagetl"><code class="csfmt">\l_datatool_current_language_tl</code></a>
+in addition to redefining commands such as
+<a id="wrglossary.491"></a><a href="#glo:DTLandname"><code class="csfmt">\DTLandname</code></a>, but only for the <a id="wrglossary.492"></a><a href="#glo:pkg.datatool-base"><span class="styfmt">datatool-base</span></a> set of
+commands. Additional commands provided for the supplementary
+packages are not affected.
+<p>
+<div class="marginright"><a id="ex:enCA-backref">&#x1f5b9;</a><a href="#ex:enCA">8</a></div>Example <a href="#ex:enCA">8</a> assumes that <a id="wrglossary.493"></a><a href="#glo:pkg.datatool-regions"><span class="styfmt">datatool-regions</span></a> and 
+<a id="wrglossary.494"></a><a href="#glo:pkg.datatool-english"><span class="styfmt">datatool-english</span></a> are both installed.
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><code class="cmd">\usepackage</code>[<a id="wrglossary.495"></a><a href="#glo:opt.locales"><span class="styoptfmt">locales</span></a><span class="optfmt">=en-CA</span>]{datatool-base}
+<code class="cbeg">\begin{document}</code>
+Default currency: <a id="wrglossary.496"></a><a href="#glo:DTLCurrencyCode"><code class="csfmt">\DTLCurrencyCode</code></a>.
+
+<code class="cmd">\newcommand</code>{<code class="cmd">\mylist</code>}{elk,&#xe9;lite,elephant}
+<a id="wrglossary.497"></a><a href="#glo:DTLsortwordlist"><code class="csfmt">\DTLsortwordlist</code></a>{<code class="cmd">\mylist</code>}{<a id="wrglossary.498"></a><a href="#glo:DTLsortletterhandler"><code class="csfmt">\DTLsortletterhandler</code></a>}
+Sorted list: <a id="wrglossary.499"></a><a href="#glo:DTLformatlist"><code class="csfmt">\DTLformatlist</code></a>{<code class="cmd">\mylist</code>}.
+<code class="cend">\end{document}</code>
+</pre>
+<div class="resultbox"><div class="resultboxtitle"><a href="#glo:sym.result"><span title="Result" class="icon">&#x1f5ba;</span></a></div><!-- end of resultboxtitle -->
+<a href="#ex:enCA-backref"><span title="Up" class="icon">&#x2b71;</span></a><a id="ex:enCA"></a>Example 8: Localisation Support (en-CA) <a href="datatool-user-examples/datatool-user-example008.tex" class="icon"><span title="Download TeX File" class="icon">&#x1f4e5;<sup>&#x1f5b9;</sup></span></a> <a href="datatool-user-examples/datatool-user-example008.pdf" class="icon"><span title="Download PDF" class="icon">&#x1f4e5;<sup>&#x1f5ba;</sup></span></a>
+<p>
+<object data="datatool-user-examples/datatool-user-example008.png" type="image/png" width="177" height="26">Example document demonstrating support for en-CA
+region (datatool-regions and datatool-english must be installed as well).</object>
+</div><!-- end of resultbox -->
+
+The above example shows the default currency code <span class="qt">&#x201c;CAD&#x201d;</span>, which
+has been set by <a id="wrglossary.500"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-CA.ldf</span></a>. The sorted list has <span class="qt">&#x201c;&#xe9;lite&#x201d;</span> between
+<span class="qt">&#x201c;elephant&#x201d;</span> and <span class="qt">&#x201c;elk&#x201d;</span> because <a id="wrglossary.501"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-english.ldf</span></a> has enabled support
+for common <a id="wrglossary.502"></a><a href="#glo:dual.utf8">UTF-8</a> characters so that <span class="qt">&#x201c;&#xe9;&#x201d;</span> is treated as <span class="qt">&#x201c;e&#x201d;</span>
+for sorting purposes.
+<p>
+<div class="marginright"><a id="ex:frCA-backref">&#x1f5b9;</a><a href="#ex:frCA">9</a></div>Suppose now that you have <a id="wrglossary.503"></a><a href="#glo:pkg.datatool-regions"><span class="styfmt">datatool-regions</span></a> 
+installed but no French support. However your document language is French Canadian
+(fr-CA):
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><code class="cmd">\usepackage</code>[canadien]{babel}
+<code class="cmd">\usepackage</code>{datatool-base}
+<code class="cbeg">\begin{document}</code>
+Default currency: <a id="wrglossary.504"></a><a href="#glo:DTLCurrencyCode"><code class="csfmt">\DTLCurrencyCode</code></a>.
+
+<code class="cmd">\newcommand</code>{<code class="cmd">\mylist</code>}{elk,&#xe9;lite,elephant}
+<a id="wrglossary.505"></a><a href="#glo:DTLsortwordlist"><code class="csfmt">\DTLsortwordlist</code></a>{<code class="cmd">\mylist</code>}{<a id="wrglossary.506"></a><a href="#glo:DTLsortletterhandler"><code class="csfmt">\DTLsortletterhandler</code></a>}
+Sorted list: <a id="wrglossary.507"></a><a href="#glo:DTLformatlist"><code class="csfmt">\DTLformatlist</code></a>{<code class="cmd">\mylist</code>}.
+<code class="cend">\end{document}</code>
+</pre>
+In this case, the <a id="wrglossary.508"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-CA.ldf</span></a> file is found, so the default currency
+code is still CAD but no file is found to provide support for the
+sorting handler so the extended Latin character <span class="qt">&#x201c;&#xe9;&#x201d;</span> is placed after
+the Basic Latin characters.
+<div class="resultbox"><div class="resultboxtitle"><a href="#glo:sym.result"><span title="Result" class="icon">&#x1f5ba;</span></a></div><!-- end of resultboxtitle -->
+<a href="#ex:frCA-backref"><span title="Up" class="icon">&#x2b71;</span></a><a id="ex:frCA"></a>Example 9: Localisation Support (fr-CA) <a href="datatool-user-examples/datatool-user-example009.tex" class="icon"><span title="Download TeX File" class="icon">&#x1f4e5;<sup>&#x1f5b9;</sup></span></a> <a href="datatool-user-examples/datatool-user-example009.pdf" class="icon"><span title="Download PDF" class="icon">&#x1f4e5;<sup>&#x1f5ba;</sup></span></a>
+<p>
+<object data="datatool-user-examples/datatool-user-example009.png" type="image/png" width="170" height="26">Example document demonstrating support for fr-CA
+region (datatool localisation files must be installed as well).</object>
+</div><!-- end of resultbox -->
+
+<p>
+The above example produces a warning from <a id="wrglossary.509"></a><a href="#glo:pkg.babel"><span class="styfmt">babel</span></a> as the <span class="optfmt">canadien</span>
+option is now deprecated by <a id="wrglossary.510"></a><a href="#glo:pkg.babel"><span class="styfmt">babel</span></a>. An alternative is:
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><code class="cmd">\usepackage</code>{babel}
+<a id="wrglossary.511"></a><a href="#glo:babelprovide"><code class="csfmt">\babelprovide</code></a>{canadianfrench}
+<code class="cmd">\usepackage</code>{datatool-base}
+</pre>
+However, ensure that you have at least version 1.6.4 of
+<a id="wrglossary.512"></a><a href="#glo:pkg.tracklang"><span class="styfmt">tracklang</span></a>.
+<p>
+Localisation files may provide options. These are define with:
+<code class="cmd">\datatoollocaledefinekeys:nn</code>
+This is simply a shortcut that uses <code class="csfmt">\keys_define:nn</code>. The
+<span class="meta">&#x2329;<em class="metainner">module</em>&#x232a;</span> should be the applicable language code (for example,
+<span class="qt">&#x201c;en&#x201d;</span>) or region code (for example, <span class="qt">&#x201c;GB&#x201d;</span>) or tag (for example,
+<span class="qt">&#x201c;en-CA&#x201d;</span> or <span class="qt">&#x201c;fr-CA&#x201d;</span>), depending on what kind of support the
+file provides. Sub-modules may also be specified.
+<p>
+These options can be set in the document with:
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.513"></a><code class="code"><dfn id="glo:DTLsetLocaleOptions"><code class="csfmt">\DTLsetLocaleOptions</code></dfn>[<span class="meta">&#x2329;<em class="metainner">parent module(s)</em>&#x232a;</span>]{<span class="meta">&#x2329;<em class="metainner">module(s)</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">key=value list</em>&#x232a;</span>}</code><span class="floatrightbox"><span class="summarytag">modifier: </span>* </span><span class="clearfix"></span></div><!-- end of pinnedbox -->
+
+If the optional argument is provided, this iterates over each locale parent module 
+and sets the given options for each sub-module identified by
+<code class="code"><span class="meta">&#x2329;<em class="metainner">parent</em>&#x232a;</span>/<span class="meta">&#x2329;<em class="metainner">module</em>&#x232a;</span></code>.
+If the optional argument is omitted or empty, this iterates over
+each locale module and sets the given options. 
+<p>
+For example, with <a id="wrglossary.514"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-GB.ldf</span></a> the parent module is <span class="qt">&#x201c;GB&#x201d;</span> and there
+are no sub-modules. To switch number style:
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><a id="wrglossary.515"></a><a href="#glo:DTLsetLocaleOptions"><code class="csfmt">\DTLsetLocaleOptions</code></a>{GB}{number-style=education}
+</pre>
+Another example, both <a id="wrglossary.516"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-GB.ldf</span></a> and <a id="wrglossary.517"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-CA.ldf</span></a> support a currency
+symbol prefix so the setting can be switched on for both at the same
+time:
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><a id="wrglossary.518"></a><a href="#glo:DTLsetLocaleOptions"><code class="csfmt">\DTLsetLocaleOptions</code></a>{CA,GB}{currency-symbol-prefix}
+</pre>
+<p>
+The <a id="wrglossary.519"></a><a href="#glo:file.databib-english.ldf"><span class="filefmt">databib-english.ldf</span></a> has parent module <span class="qt">&#x201c;en&#x201d;</span> and
+sub-module <span class="qt">&#x201c;databib&#x201d;</span>. To switch the way month names are
+abbreviated for the <span class="optfmt">abbrv</span> style:
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><a id="wrglossary.520"></a><a href="#glo:DTLsetLocaleOptions"><code class="csfmt">\DTLsetLocaleOptions</code></a>[en]{databib}{short-month-style=dotless}
+</pre>
+Or:
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><a id="wrglossary.521"></a><a href="#glo:DTLsetLocaleOptions"><code class="csfmt">\DTLsetLocaleOptions</code></a>{en/databib}{short-month-style=dotless}
+</pre>
+<p>
+The unstarred form uses:
+<code class="cmd">\datatoolsetlocaleoptions:nn</code>
+This iterates over each module and sets the provided options using
+<code class="csfmt">\keys_set:nn</code>, which will trigger an error 
+for unknown options.
+<p>
+The starred form uses:
+<code class="cmd">\datatoolsetlocaleoptions:nn</code>
+This iterates over each module and sets the provided options using
+<code class="csfmt">\keys_set_known:nn</code>, which won&#x2019;t trigger an error 
+for unknown options.
+<p>
+If you want to directly use the <span class="styfmt">l3keys</span> functions, the
+module path should be prefixed with &#x201c;<code class="qtt">datatool / locale&#xa0;/</code>&#x201d;.
+<p>
+
+</section><!-- end of section sec:localisation -->
+
+<section id="sec:encoding"><!-- start of section sec:encoding --><div class="tomain"><a href="#main">[top]</a></div>
+<h3><!-- start of subsection header -->2.3.1. Encoding<span class="labellink"><a href="#sec:encoding">[link]</a></span></h3><!-- end of subsection header -->
+
+<p>
+In recent years, the LaTeX kernel has provided significant
+improvements to <a id="wrglossary.522"></a><a href="#glo:dual.utf8">UTF-8</a> support for pdfLaTeX. (The newer
+engines, XeLaTeX and LuaLaTeX are natively <a id="wrglossary.523"></a><a href="#glo:dual.utf8">UTF-8</a>.)
+In particular, even if you don&#x2019;t load <a id="wrglossary.524"></a><a href="#glo:pkg.inputenc"><span class="styfmt">inputenc</span></a>, the document
+is now assumed to be <a id="wrglossary.525"></a><a href="#glo:dual.utf8">UTF-8</a> (whereas in the past the default
+<a id="wrglossary.526"></a><a href="#glo:idx.encoding">encoding</a> was <a id="wrglossary.527"></a><a href="#glo:dual.ascii">ASCII</a>).
+<p>
+<div class="warning"><div class="warningtitle"><a href="#glo:sym.warning"><span title="Warning" class="icon">&#x26a0;</span></a></div><!-- end of warningtitle -->
+If <a id="wrglossary.528"></a><a href="#glo:pkg.inputenc"><span class="styfmt">inputenc</span></a> is required, it should be loaded
+before <a id="wrglossary.529"></a><a href="#glo:pkg.datatool-base"><span class="styfmt">datatool-base</span></a> (and <a id="wrglossary.530"></a><a href="#glo:pkg.tracklang"><span class="styfmt">tracklang</span></a>).
+Non-<a id="wrglossary.531"></a><a href="#glo:dual.utf8">UTF-8</a> documents may not be supported by the localisation
+files. For example, the <span class="meta">&#x2329;<em class="metainner">string</em>&#x232a;</span> argument of
+<a id="wrglossary.532"></a><a href="#glo:DTLdefcurrency"><code class="csfmt">\DTLdefcurrency</code></a> may not be correct.
+</div><!-- end of warning -->
+
+<p>
+To assist localisation files, the <a id="wrglossary.533"></a><a href="#glo:pkg.datatool-base"><span class="styfmt">datatool-base</span></a> package provides 
+both a string (detokenized)
+variable and corresponding token list variables that expand to common 
+symbols (mostly currency) that are included in Unicode and may be of
+use with localisation.
+These variables are first defined to expand to an
+approximate <a id="wrglossary.534"></a><a href="#glo:dual.ascii">ASCII</a> representation, but then will be
+redefined if the relevant
+<span class="filefmt">datatool-</span><span class="meta">&#x2329;<em class="metainner">encoding</em>&#x232a;</span><span class="filefmt">.ldf</span> file is found.
+This means that unsupported encodings will fallback
+on <a id="wrglossary.535"></a><a href="#glo:dual.ascii">ASCII</a> values. There is limited support for ISO-8859-1
+(cent, pound, currency and yen). 
+<p>
+For example, <a id="wrglossary.536"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-GB.ldf</span></a> defines the GBP currency as follows:
+<pre class="compactcodebox"><a id="wrglossary.537"></a><a href="#glo:datatooldefcurrency:nnnn"><code class="csfmt">\datatool_def_currency:nnnV</code></a>
+ { <a id="wrglossary.538"></a><a href="#glo:datatoolGBcurrencyfmt"><code class="csfmt">\datatoolGBcurrencyfmt</code></a> }
+ { GBP }
+ { <a id="wrglossary.539"></a><a href="#glo:pounds"><code class="csfmt">\pounds</code></a> }
+ <a id="wrglossary.540"></a><a href="#glo:ldatatoolpoundtl"><code class="csfmt">\l_datatool_pound_tl</code></a>
+</pre>
+This means that the region <a id="wrglossary.541"></a><a href="#glo:ext.ldf"><span class="extfmt">ldf</span></a> file doesn&#x2019;t need to keep track 
+of the encoding. (The language <a id="wrglossary.542"></a><a href="#glo:ext.ldf"><span class="extfmt">ldf</span></a> typically does.)
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.543"></a><code class="code"><dfn id="glo:ldatatoolcentstr"><code class="csfmt">\l_datatool_cent_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the cent sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">c</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.544"></a><code class="code"><dfn id="glo:ldatatoolcenttl"><code class="csfmt">\l_datatool_cent_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the cent sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">c</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.545"></a><code class="code"><dfn id="glo:ldatatoolpoundstr"><code class="csfmt">\l_datatool_pound_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the pound sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">L</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.546"></a><code class="code"><dfn id="glo:ldatatoolpoundtl"><code class="csfmt">\l_datatool_pound_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the pound sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">L</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.547"></a><code class="code"><dfn id="glo:ldatatoolcurrencystr"><code class="csfmt">\l_datatool_currency_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the currency sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">#</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.548"></a><code class="code"><dfn id="glo:ldatatoolcurrencytl"><code class="csfmt">\l_datatool_currency_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the currency sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">#</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.549"></a><code class="code"><dfn id="glo:ldatatoolyenstr"><code class="csfmt">\l_datatool_yen_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the yen sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">Y</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.550"></a><code class="code"><dfn id="glo:ldatatoolyentl"><code class="csfmt">\l_datatool_yen_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the yen sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">Y</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.551"></a><code class="code"><dfn id="glo:ldatatoolmiddotstr"><code class="csfmt">\l_datatool_middot_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the middle dot (raised decimal point) &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">.</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.552"></a><code class="code"><dfn id="glo:ldatatoolmiddottl"><code class="csfmt">\l_datatool_middot_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the middle dot (raised decimal point) &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">.</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.553"></a><code class="code"><dfn id="glo:ldatatoolflorinstr"><code class="csfmt">\l_datatool_florin_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the florin sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">f</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.554"></a><code class="code"><dfn id="glo:ldatatoolflorintl"><code class="csfmt">\l_datatool_florin_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the florin sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">f</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.555"></a><code class="code"><dfn id="glo:ldatatoolbahtstr"><code class="csfmt">\l_datatool_baht_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the baht sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">B</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.556"></a><code class="code"><dfn id="glo:ldatatoolbahttl"><code class="csfmt">\l_datatool_baht_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the baht sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">B</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.557"></a><code class="code"><dfn id="glo:ldatatoolecustr"><code class="csfmt">\l_datatool_ecu_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the ecu sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">CE</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.558"></a><code class="code"><dfn id="glo:ldatatoolecutl"><code class="csfmt">\l_datatool_ecu_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the ecu sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">CE</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.559"></a><code class="code"><dfn id="glo:ldatatoolcolonsignstr"><code class="csfmt">\l_datatool_colonsign_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the colon sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">C</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.560"></a><code class="code"><dfn id="glo:ldatatoolcolonsigntl"><code class="csfmt">\l_datatool_colonsign_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the colon sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">C</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.561"></a><code class="code"><dfn id="glo:ldatatoolcruzeriostr"><code class="csfmt">\l_datatool_cruzerio_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the cruzerio sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">Cr</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.562"></a><code class="code"><dfn id="glo:ldatatoolcruzeriotl"><code class="csfmt">\l_datatool_cruzerio_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the cruzerio sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">Cr</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.563"></a><code class="code"><dfn id="glo:ldatatoolfrenchfrancstr"><code class="csfmt">\l_datatool_frenchfranc_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the French franc sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">F</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.564"></a><code class="code"><dfn id="glo:ldatatoolfrenchfranctl"><code class="csfmt">\l_datatool_frenchfranc_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the French franc sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">F</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.565"></a><code class="code"><dfn id="glo:ldatatoollirastr"><code class="csfmt">\l_datatool_lira_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the lira sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">L</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.566"></a><code class="code"><dfn id="glo:ldatatoolliratl"><code class="csfmt">\l_datatool_lira_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the lira sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">L</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.567"></a><code class="code"><dfn id="glo:ldatatoolmillstr"><code class="csfmt">\l_datatool_mill_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the mill sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">m</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.568"></a><code class="code"><dfn id="glo:ldatatoolmilltl"><code class="csfmt">\l_datatool_mill_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the mill sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">m</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.569"></a><code class="code"><dfn id="glo:ldatatoolnairastr"><code class="csfmt">\l_datatool_naira_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the naira sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">N</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.570"></a><code class="code"><dfn id="glo:ldatatoolnairatl"><code class="csfmt">\l_datatool_naira_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the naira sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">N</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.571"></a><code class="code"><dfn id="glo:ldatatoolpesetastr"><code class="csfmt">\l_datatool_peseta_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the peseta sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">Pts</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.572"></a><code class="code"><dfn id="glo:ldatatoolpesetatl"><code class="csfmt">\l_datatool_peseta_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the peseta sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">Pts</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.573"></a><code class="code"><dfn id="glo:ldatatoolrupeestr"><code class="csfmt">\l_datatool_rupee_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the rupee sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">Rs</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.574"></a><code class="code"><dfn id="glo:ldatatoolrupeetl"><code class="csfmt">\l_datatool_rupee_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the rupee sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">Rs</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.575"></a><code class="code"><dfn id="glo:ldatatoolwonstr"><code class="csfmt">\l_datatool_won_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the won sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">W</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.576"></a><code class="code"><dfn id="glo:ldatatoolwontl"><code class="csfmt">\l_datatool_won_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the won sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">W</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.577"></a><code class="code"><dfn id="glo:ldatatoolshekelstr"><code class="csfmt">\l_datatool_shekel_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the shekel sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">S</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.578"></a><code class="code"><dfn id="glo:ldatatoolshekeltl"><code class="csfmt">\l_datatool_shekel_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the shekel sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">S</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.579"></a><code class="code"><dfn id="glo:ldatatooldongstr"><code class="csfmt">\l_datatool_dong_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the dong sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">d</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.580"></a><code class="code"><dfn id="glo:ldatatooldongtl"><code class="csfmt">\l_datatool_dong_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the dong sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">d</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.581"></a><code class="code"><dfn id="glo:ldatatooleurostr"><code class="csfmt">\l_datatool_euro_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the euro sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">E</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.582"></a><code class="code"><dfn id="glo:ldatatooleurotl"><code class="csfmt">\l_datatool_euro_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the euro sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">E</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.583"></a><code class="code"><dfn id="glo:ldatatoolkipstr"><code class="csfmt">\l_datatool_kip_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the kip sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">K</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.584"></a><code class="code"><dfn id="glo:ldatatoolkiptl"><code class="csfmt">\l_datatool_kip_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the kip sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">K</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.585"></a><code class="code"><dfn id="glo:ldatatooltugrikstr"><code class="csfmt">\l_datatool_tugrik_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the tugrik sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">T</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.586"></a><code class="code"><dfn id="glo:ldatatooltugriktl"><code class="csfmt">\l_datatool_tugrik_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the tugrik sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">T</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.587"></a><code class="code"><dfn id="glo:ldatatooldrachmastr"><code class="csfmt">\l_datatool_drachma_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the drachma sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">Dr</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.588"></a><code class="code"><dfn id="glo:ldatatooldrachmatl"><code class="csfmt">\l_datatool_drachma_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the drachma sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">Dr</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.589"></a><code class="code"><dfn id="glo:ldatatoolgermanpennystr"><code class="csfmt">\l_datatool_germanpenny_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the Germany penny sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">p</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.590"></a><code class="code"><dfn id="glo:ldatatoolgermanpennytl"><code class="csfmt">\l_datatool_germanpenny_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the Germany penny sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">p</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.591"></a><code class="code"><dfn id="glo:ldatatoolpesostr"><code class="csfmt">\l_datatool_peso_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the peso sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">P</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.592"></a><code class="code"><dfn id="glo:ldatatoolpesotl"><code class="csfmt">\l_datatool_peso_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the peso sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">P</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.593"></a><code class="code"><dfn id="glo:ldatatoolguaranistr"><code class="csfmt">\l_datatool_guarani_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the guarani sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">G.</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.594"></a><code class="code"><dfn id="glo:ldatatoolguaranitl"><code class="csfmt">\l_datatool_guarani_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the guarani sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">G.</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.595"></a><code class="code"><dfn id="glo:ldatatoolaustralstr"><code class="csfmt">\l_datatool_austral_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the austral sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">A</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.596"></a><code class="code"><dfn id="glo:ldatatoolaustraltl"><code class="csfmt">\l_datatool_austral_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the austral sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">A</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.597"></a><code class="code"><dfn id="glo:ldatatoolhryvniastr"><code class="csfmt">\l_datatool_hryvnia_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the hryvnia sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">S</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.598"></a><code class="code"><dfn id="glo:ldatatoolhryvniatl"><code class="csfmt">\l_datatool_hryvnia_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the hryvnia sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">S</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.599"></a><code class="code"><dfn id="glo:ldatatoolcedistr"><code class="csfmt">\l_datatool_cedi_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the cedi sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">S</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.600"></a><code class="code"><dfn id="glo:ldatatoolceditl"><code class="csfmt">\l_datatool_cedi_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the cedi sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">S</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.601"></a><code class="code"><dfn id="glo:ldatatoollivretournoisstr"><code class="csfmt">\l_datatool_livretournois_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the livre tournois sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">lt</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.602"></a><code class="code"><dfn id="glo:ldatatoollivretournoistl"><code class="csfmt">\l_datatool_livretournois_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the livre tournois sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">lt</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.603"></a><code class="code"><dfn id="glo:ldatatoolspesmilostr"><code class="csfmt">\l_datatool_spesmilo_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the spesmilo sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">Sm</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.604"></a><code class="code"><dfn id="glo:ldatatoolspesmilotl"><code class="csfmt">\l_datatool_spesmilo_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the spesmilo sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">Sm</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.605"></a><code class="code"><dfn id="glo:ldatatooltengestr"><code class="csfmt">\l_datatool_tenge_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the tenge sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">T</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.606"></a><code class="code"><dfn id="glo:ldatatooltengetl"><code class="csfmt">\l_datatool_tenge_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the tenge sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">T</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.607"></a><code class="code"><dfn id="glo:ldatatoolindianrupeestr"><code class="csfmt">\l_datatool_indianrupee_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the Indian rupee sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">R</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.608"></a><code class="code"><dfn id="glo:ldatatoolindianrupeetl"><code class="csfmt">\l_datatool_indianrupee_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the Indian rupee sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">R</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.609"></a><code class="code"><dfn id="glo:ldatatoolturkishlirastr"><code class="csfmt">\l_datatool_turkishlira_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the Turkish lira sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">L</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.610"></a><code class="code"><dfn id="glo:ldatatoolturkishliratl"><code class="csfmt">\l_datatool_turkishlira_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the Turkish lira sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">L</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.611"></a><code class="code"><dfn id="glo:ldatatoolnordicmarkstr"><code class="csfmt">\l_datatool_nordicmark_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the Nordic mark sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">M</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.612"></a><code class="code"><dfn id="glo:ldatatoolnordicmarktl"><code class="csfmt">\l_datatool_nordicmark_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the Nordic mark sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">M</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.613"></a><code class="code"><dfn id="glo:ldatatoolmanatstr"><code class="csfmt">\l_datatool_manat_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the manat sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">M</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.614"></a><code class="code"><dfn id="glo:ldatatoolmanattl"><code class="csfmt">\l_datatool_manat_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the manat sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">M</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.615"></a><code class="code"><dfn id="glo:ldatatoolrublestr"><code class="csfmt">\l_datatool_ruble_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the ruble sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">R</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.616"></a><code class="code"><dfn id="glo:ldatatoolrubletl"><code class="csfmt">\l_datatool_ruble_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the ruble sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">R</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.617"></a><code class="code"><dfn id="glo:ldatatoollaristr"><code class="csfmt">\l_datatool_lari_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the lari sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">L</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.618"></a><code class="code"><dfn id="glo:ldatatoollaritl"><code class="csfmt">\l_datatool_lari_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the lari sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">L</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.619"></a><code class="code"><dfn id="glo:ldatatoolbitcoinstr"><code class="csfmt">\l_datatool_bitcoin_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the bitcoin sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">L</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.620"></a><code class="code"><dfn id="glo:ldatatoolbitcointl"><code class="csfmt">\l_datatool_bitcoin_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the bitcoin sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">L</code>&#x201d; otherwise..
+<p>
+
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.621"></a><code class="code"><dfn id="glo:ldatatoolsomstr"><code class="csfmt">\l_datatool_som_str</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the string representation of the som sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">c</code>&#x201d; otherwise..
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.622"></a><code class="code"><dfn id="glo:ldatatoolsomtl"><code class="csfmt">\l_datatool_som_tl</code></dfn></code></div><!-- end of pinnedbox -->
+Expands to the symbol representation of the som sign &#x201c;<code class="qtt"></code>&#x201d;, if supported by the current encoding, or &#x201c;<code class="qtt">c</code>&#x201d; otherwise..
+<p>
+
+<p>
+If any of the currency symbols are available in the current
+encoding, they will be added to the currency signs regular
+expression variable:
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.623"></a><code class="code"><dfn id="glo:ldatatoolcurrencysignsregex"><code class="csfmt">\l_datatool_currencysigns_regex</code></dfn></code></div><!-- end of pinnedbox -->
+
+This may be used within the locale handler to match for supported
+currency symbols.
+<p>
+
+</section><!-- end of section sec:encoding -->
+
+<section id="sec:numerical"><!-- start of section sec:numerical --><div class="tomain"><a href="#main">[top]</a></div>
+<h3><!-- start of subsection header -->2.3.2. Numerical<span class="labellink"><a href="#sec:numerical">[link]</a></span></h3><!-- end of subsection header -->
+
+<p>
+Non locale-sensitive numeric commands (such as <a id="wrglossary.624"></a><a href="#glo:dtladd"><code class="csfmt">\dtladd</code></a>)
+require <a id="wrglossary.625"></a><a href="#glo:dual.plainnumber">plain numbers</a> with a period/full stop <a id="wrglossary.626"></a><a href="#glo:idx.decimalpoint">decimal point (<code class="code">.</code>)</a>
+and no <a id="wrglossary.627"></a><a href="#glo:idx.numbergroupchar">number group character</a> or <a id="wrglossary.628"></a><a href="#glo:idx.currencysym">currency symbol</a>.
+<p>
+Numeric commands for <a id="wrglossary.629"></a><a href="#glo:dual.formattednumber">formatted numbers</a> (such as <a id="wrglossary.630"></a><a href="#glo:DTLadd"><code class="csfmt">\DTLadd</code></a>)
+parse their values for the <a id="wrglossary.631"></a><a href="#glo:idx.currencysym">currency symbol</a>, <a id="wrglossary.632"></a><a href="#glo:idx.decimalchar">decimal character</a> and
+<a id="wrglossary.633"></a><a href="#glo:idx.numbergroupchar">number group character</a>. The <a id="wrglossary.634"></a><a href="#glo:idx.numbergroupchar">number group character</a> is only used in
+integers and before the <a id="wrglossary.635"></a><a href="#glo:idx.decimalchar">decimal character</a> in decimal and currency
+values. The <a id="wrglossary.636"></a><a href="#glo:idx.decimalchar">decimal character</a> is only relevant to decimal numbers
+and currency values.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.637"></a><code class="code"><dfn id="glo:DTLsetnumberchars"><code class="csfmt">\DTLsetnumberchars</code></dfn>{<span class="meta">&#x2329;<em class="metainner">number group char</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">decimal char</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+Sets the current <a id="wrglossary.638"></a><a href="#glo:idx.numbergroupchar">number group character</a> and <a id="wrglossary.639"></a><a href="#glo:idx.decimalchar">decimal character</a>. The
+default values are &#x201c;<code class="qtt"><a id="wrglossary.640"></a><a href="#glo:idx.sym.numbergroup"><code class="code">,</code></a></code>&#x201d; (comma) and
+&#x201c;<code class="qtt"><a id="wrglossary.641"></a><a href="#glo:idx.decimalpoint">decimal point</a></code>&#x201d; (full stop/period), although localisation
+support may change this.
+<p>
+With LaTeX3 syntax enabled, the following may be used instead.
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.642"></a><code class="code"><dfn id="glo:datatoolsetnumberchars:nn"><code class="csfmt">\datatool_set_numberchars:nn</code></dfn>{<span class="meta">&#x2329;<em class="metainner">number group char</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">decimal char</em>&#x232a;</span>}</code><span class="floatrightbox"><span class="summarytag">variants: </span><code class="code">nV Vn VV</code></span><span class="clearfix"></span></div><!-- end of pinnedbox -->
+
+As from version 3.0, <a id="wrglossary.643"></a><a href="#glo:DTLsetnumberchars"><code class="csfmt">\DTLsetnumberchars</code></a> simply uses this
+function to set the current <a id="wrglossary.644"></a><a href="#glo:idx.numbergroupchar">number group character</a> and
+<a id="wrglossary.645"></a><a href="#glo:idx.decimalchar">decimal character</a>.
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.646"></a><code class="code"><dfn id="glo:datatoolsetnumberchars:nnnn"><code class="csfmt">\datatool_set_numberchars:nnnn</code></dfn>{<span class="meta">&#x2329;<em class="metainner">format number group char</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">format decimal char</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">parse number group char</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">parse decimal char</em>&#x232a;</span>}</code><span class="floatrightbox"><span class="summarytag">variants: </span><code class="code">VVVV eeee</code></span><span class="clearfix"></span></div><!-- end of pinnedbox -->
+
+Allows alternative content to be used when formatting, but be aware 
+that repeated parsing and formatting will fail if the parsing and
+formatting characters are different.
+<p>
+For more complex parsing requirements, regular expressions can be
+provided to match the <a id="wrglossary.647"></a><a href="#glo:idx.numbergroupchar">number group character</a> and
+<a id="wrglossary.648"></a><a href="#glo:idx.decimalchar">decimal character</a> sub-groups:
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.649"></a><code class="code"><dfn id="glo:datatoolsetnumbercharsregex:nnnn"><code class="csfmt">\datatool_set_numberchars_regex:nnnn</code></dfn>{<span class="meta">&#x2329;<em class="metainner">format number group char</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">format decimal char</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">parse number group regex</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">parse decimal regex</em>&#x232a;</span>}</code><span class="floatrightbox"><span class="summarytag">variants: </span><code class="code">VVnn Vnnn nVnn</code></span><span class="clearfix"></span></div><!-- end of pinnedbox -->
+
+The final two arguments should be in a regular expression form.
+These will be embedded into the main parsing regular expression with
+<code class="csfmt">\ur</code>.
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.650"></a><code class="code"><dfn id="glo:datatoolsetnumbercharsregextl:nnnn"><code class="csfmt">\datatool_set_numberchars_regex_tl:nnnn</code></dfn>{<span class="meta">&#x2329;<em class="metainner">format number group char</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">format decimal char</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">parse number group regex</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">parse decimal char</em>&#x232a;</span>}</code><span class="floatrightbox"><span class="summarytag">variants: </span><code class="code">VVnn Vnnn nVnn nVnV nnnV</code></span><span class="clearfix"></span></div><!-- end of pinnedbox -->
+
+The third argument is a regular expression to match the
+<a id="wrglossary.651"></a><a href="#glo:idx.numbergroupchar">number group character</a> but the fourth is just the
+<a id="wrglossary.652"></a><a href="#glo:idx.decimalchar">decimal character</a>.
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.653"></a><code class="code"><dfn id="glo:datatoolsetnumbercharstlregex:nnnn"><code class="csfmt">\datatool_set_numberchars_tl_regex:nnnn</code></dfn>{<span class="meta">&#x2329;<em class="metainner">format number group char</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">format decimal char</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">parse number group char</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">parse decimal regex</em>&#x232a;</span>}</code><span class="floatrightbox"><span class="summarytag">variants: </span><code class="code">VVnn Vnnn nVnn VnVn nnVn</code></span><span class="clearfix"></span></div><!-- end of pinnedbox -->
+
+The third is just the <a id="wrglossary.654"></a><a href="#glo:idx.decimalchar">decimal character</a> but 
+the fourth argument is a regular expression to match the
+<a id="wrglossary.655"></a><a href="#glo:idx.decimalchar">decimal character</a>.
+<p>
+The following are just shortcuts that use one of the above.
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.656"></a><code class="code"><dfn id="glo:datatoolsetthinspacegroupdecimalchar:n"><code class="csfmt">\datatool_set_thinspace_group_decimal_char:n</code></dfn>{<span class="meta">&#x2329;<em class="metainner">decimal char</em>&#x232a;</span>}</code><span class="floatrightbox"><span class="summarytag">variants: </span><code class="code">V</code></span><span class="clearfix"></span></div><!-- end of pinnedbox -->
+
+A special case for thin space number group separators.
+This command is similar to <a id="wrglossary.657"></a><a href="#glo:datatoolsetnumberchars:nn"><code class="csfmt">\datatool_set_numberchars:nn</code></a> but uses
+<a id="wrglossary.658"></a><a href="#glo:cs.comma">\,</a> (thin space) for the <a id="wrglossary.659"></a><a href="#glo:idx.numbergroupchar">number group character</a> when
+formatting, and allows <a id="wrglossary.660"></a><a href="#glo:cs.comma">\,</a> or a normal space or the Unicode
+character U+2009 (thin space) as the <a id="wrglossary.661"></a><a href="#glo:idx.numbergroupchar">number group character</a> when
+parsing. The <a id="wrglossary.662"></a><a href="#glo:idx.decimalchar">decimal character</a> for both formatting and parsing is
+set to <span class="meta">&#x2329;<em class="metainner">decimal char</em>&#x232a;</span>.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.663"></a><code class="code"><dfn id="glo:datatoolsetunderscoregroupdecimalchar:n"><code class="csfmt">\datatool_set_underscore_group_decimal_char:n</code></dfn>{<span class="meta">&#x2329;<em class="metainner">decimal char</em>&#x232a;</span>}</code><span class="floatrightbox"><span class="summarytag">variants: </span><code class="code">V</code></span><span class="clearfix"></span></div><!-- end of pinnedbox -->
+
+Similarly, but uses <a id="wrglossary.664"></a><a href="#glo:cs.underscore">\_</a> for the <a id="wrglossary.665"></a><a href="#glo:idx.numbergroupchar">number group character</a>
+when formatting but accepts both <a id="wrglossary.666"></a><a href="#glo:cs.underscore">\_</a> or
+the underscore character when parsing.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.667"></a><code class="code"><dfn id="glo:datatoolsetaposgroupdecimalchar:n"><code class="csfmt">\datatool_set_apos_group_decimal_char:n</code></dfn>{<span class="meta">&#x2329;<em class="metainner">decimal char</em>&#x232a;</span>}</code><span class="floatrightbox"><span class="summarytag">variants: </span><code class="code">V</code></span><span class="clearfix"></span></div><!-- end of pinnedbox -->
+
+Similarly, but uses an apostrophe (&#x2019;) for the <a id="wrglossary.668"></a><a href="#glo:idx.numbergroupchar">number group character</a>
+when formatting but will match on:
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.669"></a><code class="code"><dfn id="glo:cdatatoolapostropheregex"><code class="csfmt">\c_datatool_apostrophe_regex</code></dfn></code></div><!-- end of pinnedbox -->
+
+when parsing. This matches either the straight apostrophe (U+27) or
+the curly apostrophe (U+2019).
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.670"></a><code class="code"><dfn id="glo:DTLsetdefaultcurrency"><code class="csfmt">\DTLsetdefaultcurrency</code></dfn>{<span class="meta">&#x2329;<em class="metainner">ISO or symbol</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+Sets the default currency. If the argument is an ISO code, then the
+currency must have first been defined with <a id="wrglossary.671"></a><a href="#glo:DTLdefcurrency"><code class="csfmt">\DTLdefcurrency</code></a>
+(see &#xa7;<a href="#sec:currency">2.6</a>). This commands also defines
+<a id="wrglossary.672"></a><a href="#glo:DTLCurrencyCode"><code class="csfmt">\DTLCurrencyCode</code></a> to <a id="wrglossary.673"></a><a href="#glo:dual.expansion">expand</a> to the associated ISO code and
+redefines <a id="wrglossary.674"></a><a href="#glo:DTLfmtcurrency"><code class="csfmt">\DTLfmtcurrency</code></a> to match the formatting associated
+with the currency.
+<p>
+<div class="information"><div class="informationtitle"><a href="#glo:sym.information"><span title="Information" class="icon">&#x1f6c8;</span></a></div><!-- end of informationtitle -->
+To allow for backward-compatibility, if the argument hasn&#x2019;t been
+identified with <a id="wrglossary.675"></a><a href="#glo:DTLdefcurrency"><code class="csfmt">\DTLdefcurrency</code></a> then it&#x2019;s assumed to be just a
+currency symbol and <a id="wrglossary.676"></a><a href="#glo:DTLCurrencyCode"><code class="csfmt">\DTLCurrencyCode</code></a> will be defined to
+<span class="qt">&#x201c;XXX&#x201d;</span>. <a id="wrglossary.677"></a><a href="#glo:DTLfmtcurrency"><code class="csfmt">\DTLfmtcurrency</code></a> won&#x2019;t be changed.
+This form is now discouraged and may be deprecated in future.
+</div><!-- end of information -->
+
+<p>
+The region file should register the currency code with:
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.678"></a><code class="code"><dfn id="glo:datatoolregisterregionalcurrencycode:nn"><code class="csfmt">\datatool_register_regional_currency_code:nn</code></dfn> {<span class="meta">&#x2329;<em class="metainner">region-code</em>&#x232a;</span>} {<span class="meta">&#x2329;<em class="metainner">currency-code</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+This makes it easier for the currency parser to check for currency
+symbols that are prefixed by the region code (for example,
+US$ or GB&#xa3;). Note that this check is only performed if the
+region file defines:
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.679"></a><code class="code"><dfn id="glo:datatoolRegionsymbolprefix"><code class="csfmt">\datatool<span class="meta">&#x2329;<em class="metainner">Region</em>&#x232a;</span>symbolprefix</code></dfn>{<span class="meta">&#x2329;<em class="metainner">tag</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+The prefix command allows the region code to be shown before the
+currency symbol, if applicable. It may be used in the definition of
+the currency formatting command.
+<p>
+<div class="information"><div class="informationtitle"><a href="#glo:sym.information"><span title="Information" class="icon">&#x1f6c8;</span></a></div><!-- end of informationtitle -->
+The naming of the <a id="wrglossary.680"></a><a href="#glo:datatoolRegionsymbolprefix"><code class="csfmt">\datatool<span class="meta">&#x2329;<em class="metainner">Region</em>&#x232a;</span>symbolprefix</code></a> command is
+important as the parser used by commands like <a id="wrglossary.681"></a><a href="#glo:DTLparse"><code class="csfmt">\DTLparse</code></a> will check for it 
+and, if defined, will also check for currency symbols prefixed by
+their region&#x2019;s code.
+</div><!-- end of information -->
+
+<p>
+The prefix command may either expand to nothing or to:
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.682"></a><code class="code"><dfn id="glo:datatoolcurrencysymbolregionprefix:n"><code class="csfmt">\datatool_currency_symbol_region_prefix:n</code></dfn>{<span class="meta">&#x2329;<em class="metainner">tag</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+This uses <a id="wrglossary.683"></a><a href="#glo:DTLcurrCodeOrSymOrChar"><code class="csfmt">\DTLcurrCodeOrSymOrChar</code></a> to only show the tag when that
+command expands to its second or third argument. (Since the tag is typically
+the region code, it&#x2019;s redundant to insert it before the currency
+code.) The tag is formatted with:
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.684"></a><code class="code"><dfn id="glo:datatoolcurrencysymbolprefixfmt"><code class="csfmt">\datatoolcurrencysymbolprefixfmt</code></dfn>{<span class="meta">&#x2329;<em class="metainner">tag</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+This may be redefined, which will change the way the tag is
+formatted for all regions that support it. For convenience, the 
+<a id="wrglossary.685"></a><a href="#glo:opt.numeric"><span class="csoptfmt">numeric</span></a> option <a id="wrglossary.686"></a><a href="#glo:opt.numeric.region-currency-prefix"><code class="numericoptfmt">region-currency-prefix</code></a> may be used
+to redefine this formatting command to use small caps. 
+<p>
+Region files should provide a hook called
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.687"></a><code class="code"><dfn id="glo:datatoolRegionSetCurrency"><code class="csfmt">\datatool<span class="meta">&#x2329;<em class="metainner">Region</em>&#x232a;</span>SetCurrency</code></dfn></code></div><!-- end of pinnedbox -->
+
+where <span class="meta">&#x2329;<em class="metainner">Region</em>&#x232a;</span> is the two letter uppercase region code.
+This command should check the boolean variable:
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.688"></a><code class="code"><dfn id="glo:ldatatoolregionsetcurrencybool"><code class="csfmt">\l_datatool_region_set_currency_bool</code></dfn></code></div><!-- end of pinnedbox -->
+
+(which corresponds to the <a id="wrglossary.689"></a><a href="#glo:opt.numeric.region-currency"><code class="numericoptfmt">region-currency</code></a> numeric
+option). The hook should only set the currency if this boolean value
+is true.
+<p>
+Similarly, a hook to set the current <a id="wrglossary.690"></a><a href="#glo:idx.numbergroupchar">number group character</a> and
+<a id="wrglossary.691"></a><a href="#glo:idx.decimalchar">decimal character</a>:
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.692"></a><code class="code"><dfn id="glo:datatoolRegionSetNumberChars"><code class="csfmt">\datatool<span class="meta">&#x2329;<em class="metainner">Region</em>&#x232a;</span>SetNumberChars</code></dfn></code></div><!-- end of pinnedbox -->
+
+This command should check the boolean variable:
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.693"></a><code class="code"><dfn id="glo:ldatatoolregionsetnumbercharsbool"><code class="csfmt">\l_datatool_region_set_numberchars_bool</code></dfn></code></div><!-- end of pinnedbox -->
+
+(which corresponds to the <a id="wrglossary.694"></a><a href="#glo:opt.numeric.region-number-chars"><code class="numericoptfmt">region-number-chars</code></a> numeric
+option). The hook should only set the number group and decimal
+characters if this boolean value is true.
+<p>
+If you simply want to typeset <a id="wrglossary.695"></a><a href="#glo:dual.plainnumber">plain numbers</a> as
+<a id="wrglossary.696"></a><a href="#glo:dual.formattednumber">formatted numbers</a> then consider using <a id="wrglossary.697"></a><a href="#glo:pkg.siunitx"><span class="styfmt">siunitx</span></a> instead.
+However you can use the following, which picks up the above settings.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.698"></a><code class="code"><dfn id="glo:DTLdecimaltolocale"><code class="csfmt">\DTLdecimaltolocale</code></dfn>{<span class="meta">&#x2329;<em class="metainner">num</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+Converts a <a id="wrglossary.699"></a><a href="#glo:dual.plainnumber">plain number</a> <span class="meta">&#x2329;<em class="metainner">num</em>&#x232a;</span> into a <a id="wrglossary.700"></a><a href="#glo:dual.formattednumber">formatted number</a>
+and stores the result in <span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span>. If a currency symbol is
+required, use <a id="wrglossary.701"></a><a href="#glo:DTLdecimaltocurrency"><code class="csfmt">\DTLdecimaltocurrency</code></a> instead.
+If <a id="wrglossary.702"></a><a href="#glo:datatoolsetnumberchars:nnnn"><code class="csfmt">\datatool_set_numberchars:nnnn</code></a> was used, the characters
+supplied with the
+<span class="meta">&#x2329;<em class="metainner">format number group char</em>&#x232a;</span> and <span class="meta">&#x2329;<em class="metainner">format decimal char</em>&#x232a;</span> arguments 
+will be used.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.703"></a><code class="code"><dfn id="glo:DTLdecimaltocurrency"><code class="csfmt">\DTLdecimaltocurrency</code></dfn>[<span class="meta">&#x2329;<em class="metainner">currency symbol</em>&#x232a;</span>]{<span class="meta">&#x2329;<em class="metainner">num</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+Converts a <a id="wrglossary.704"></a><a href="#glo:dual.plainnumber">plain number</a> <span class="meta">&#x2329;<em class="metainner">num</em>&#x232a;</span> into a <a id="wrglossary.705"></a><a href="#glo:dual.formattednumber">formatted number</a>
+(as above)
+with the currency symbol supplied in the optional argument (or the
+default currency symbol if omitted) and stores the result in <span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span>.
+The number of digits will be rounded according to:
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.706"></a><code class="code"><dfn id="glo:DTLCurrentLocaleCurrencyDP"><code class="csfmt">\DTLCurrentLocaleCurrencyDP</code></dfn></code><span class="floatrightbox"><span class="summarytag">initial: </span>2</span><span class="clearfix"></span></div><!-- end of pinnedbox -->
+
+If the expansion text is empty then <a id="wrglossary.707"></a><a href="#glo:DTLdecimaltocurrency"><code class="csfmt">\DTLdecimaltocurrency</code></a> won&#x2019;t
+round the result. Otherwise, the expansion text should be the number
+of decimal places to round to. This command is redefined by
+localisation hooks.
+<p>
+For example
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><code class="cmd">\documentclass</code>{article}
+<code class="cmd">\usepackage</code>[en-GB]{datatool-base}
+<code class="cbeg">\begin{document}</code>
+<a id="wrglossary.708"></a><a href="#glo:DTLdecimaltocurrency"><code class="csfmt">\DTLdecimaltocurrency</code></a>{1234.5672}{<code class="cmd">\result</code>}<span class="comment">% parse number</span>
+Result: <code class="cmd">\result</code>.
+Value: <a id="wrglossary.709"></a><a href="#glo:DTLdatumvalue"><code class="csfmt">\DTLdatumvalue</code></a>{<code class="cmd">\result</code>}.
+<code class="cend">\end{document}</code>
+</pre>
+<p>
+
+</section><!-- end of section sec:numerical -->
+
+<section id="sec:lexicographical"><!-- start of section sec:lexicographical --><div class="tomain"><a href="#main">[top]</a></div>
+<h3><!-- start of subsection header -->2.3.3. Lexicographical<span class="labellink"><a href="#sec:lexicographical">[link]</a></span></h3><!-- end of subsection header -->
+
+<p>
+The commands described in this section are used by string sorting
+and initial letter commands to enable locale-sensitive functions to
+be used, if available.
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.710"></a><code class="code"><dfn id="glo:DTLCurrentLocaleWordHandler"><code class="csfmt">\DTLCurrentLocaleWordHandler</code></dfn>{<span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+This is the current locale word handler used by <a id="wrglossary.711"></a><a href="#glo:DTLDefaultLocaleWordHandler"><code class="csfmt">\DTLDefaultLocaleWordHandler</code></a>.
+If no localisation support is provided, this command does nothing.
+If localisation support is added, this handler should make any
+appropriate adjustments to <span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span> to convert its content to a
+byte sequence that will ensure the string is correctly sorted
+according to the locale&#x2019;s alphabet.
+<p>
+The handler definition will usually depend on the encoding.
+For example, <a id="wrglossary.712"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-english-utf8.ldf</span></a> defines
+<a id="wrglossary.713"></a><a href="#glo:DTLenLocaleHandler"><code class="csfmt">\DTLenLocaleHandler</code></a> and the following is
+added (indirectly) to the language hook (see &#xa7;<a href="#sec:addlang">2.3.5</a>):
+<pre class="compactcodebox"><code class="cmd">\let</code><a id="wrglossary.714"></a><a href="#glo:DTLCurrentLocaleWordHandler"><code class="csfmt">\DTLCurrentLocaleWordHandler</code></a><a id="wrglossary.715"></a><a href="#glo:DTLenLocaleHandler"><code class="csfmt">\DTLenLocaleHandler</code></a>
+</pre>
+This allows accented characters, such as <span class="qt">&#x201c;&#xc1;&#x201d;</span>, to be converted to
+non-accented Basic Latin characters, such as <span class="qt">&#x201c;A&#x201d;</span>.
+This command is also defined by <a id="wrglossary.716"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-english-latin1.ldf</span></a> and
+<a id="wrglossary.717"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-english-ascii.ldf</span></a> but has less support.
+<p>
+<div class="information"><div class="informationtitle"><a href="#glo:sym.information"><span title="Information" class="icon">&#x1f6c8;</span></a></div><!-- end of informationtitle -->
+Remember that the purpose of the handler is to convert a string into
+a byte sequence that reflects the desired ordering. This byte
+sequence is not intended to be typeset. It&#x2019;s therefore possible to
+use <a id="wrglossary.718"></a><a href="#glo:dual.ascii">ASCII</a> control characters to influence the order. This is
+the method used by the marker commands, such as
+<a id="wrglossary.719"></a><a href="#glo:datatoolpersoncomma"><code class="csfmt">\datatoolpersoncomma</code></a>.
+</div><!-- end of information -->
+
+<p>
+For example<div class="marginright"><a id="ex:icelandic-backref">&#x1f5b9;</a><a href="#ex:icelandic">10</a></div>, suppose you want to provide support for Icelandic,
+where &#xc1;&#xe1;, &#xd0;&#xf0;, &#xc9;&#xe9;, &#xcd;&#xed;, &#xd3;&#xf3;, &#xda;&#xfa;, &#xdd;&#xfd;, &#xde;&#xfe;, &#xc6;&#xe6; and &#xd6;&#xf6; are all distinct
+letters of the alphabet. This means that the method used by the
+English hander isn&#x2019;t appropriate.
+<p>
+As with the English handler, the punctuation characters can be
+adjusted to ensure that they are placed before <span class="qt">&#x201c;A&#x201d;</span>. This means
+that the final <a id="wrglossary.720"></a><a href="#glo:idx.uppercase">uppercase</a> letters <span class="qt">&#x201c;&#xde;&#x201d;</span>, <span class="qt">&#x201c;&#xc6;&#x201d;</span> and <span class="qt">&#x201c;&#xd6;&#x201d;</span> can be reassigned
+to the character positions after <span class="qt">&#x201c;Z&#x201d;</span> and the <a id="wrglossary.721"></a><a href="#glo:idx.lowercase">lowercase</a> <span class="qt">&#x201c;&#xfe;&#x201d;</span>, <span class="qt">&#x201c;&#xe6;&#x201d;</span> and
+<span class="qt">&#x201c;&#xf6;&#x201d;</span> can be reassigned to the character positions after <span class="qt">&#x201c;z&#x201d;</span>
+(similar to <a id="wrglossary.722"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-ang-Latn.ldf</span></a>).
+The other characters need to be positioned between Basic Latin characters. For
+example, <span class="qt">&#x201c;&#xc1;&#x201d;</span> needs to be between <span class="qt">&#x201c;A&#x201d;</span> and <span class="qt">&#x201c;B&#x201d;</span>. This can be
+achieved by replacing <a id="wrglossary.723"></a><a href="#glo:idx.uppercase">uppercase</a> <span class="qt">&#x201c;&#xc1;&#x201d;</span> with <span class="qt">&#x201c;A&#x201d;</span> followed by 
+the control character <a id="wrglossary.724"></a><a href="#glo:dual.hexcp">0x7F</a> (which is the final <a id="wrglossary.725"></a><a href="#glo:dual.ascii">ASCII</a> character). 
+Similarly <a id="wrglossary.726"></a><a href="#glo:idx.lowercase">lowercase</a> <span class="qt">&#x201c;&#xe1;&#x201d;</span> is replaced by <span class="qt">&#x201c;a&#x201d;</span> followed by
+<a id="wrglossary.727"></a><a href="#glo:dual.hexcp">0x7F</a> and so on.
+<p>
+The language code for Icelandic is <span class="qt">&#x201c;is&#x201d;</span> so it will be used in
+the command names. Remember that 
+<a id="wrglossary.728"></a><a href="#glo:ldatatoolcurrentlanguagetl"><code class="csfmt">\l_datatool_current_language_tl</code></a> will need to be redefined to match.
+(Alternatively, <span class="qt">&#x201c;isl&#x201d;</span> or <span class="qt">&#x201c;ice&#x201d;</span> could also be used but the
+important thing is to be consistent in the event that a region file
+tries searching for a command name to determine if it&#x2019;s supported
+for the current language.)
+<p>
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><a id="wrglossary.729"></a><a href="#glo:ExplSyntaxOn"><code class="csfmt">\ExplSyntaxOn</code></a>
+<code class="cmd">\newcommand</code> {<code class="cmd">\DTLisLocaleHandler</code>} [ 1 ]
+{
+  <code class="cmd">\regex_replace_case_all:nN</code>
+  {
+    { &#xc1; } { A<code class="cmd">\cL</code><code class="cmd">\x</code>{7f} } { &#xe1; } { a<code class="cmd">\cL</code><code class="cmd">\x</code>{7f} }
+    { &#xd0; } { D<code class="cmd">\cL</code><code class="cmd">\x</code>{7f} } { &#xf0; } { d<code class="cmd">\cL</code><code class="cmd">\x</code>{7f} }
+    { &#xc9; } { E<code class="cmd">\cL</code><code class="cmd">\x</code>{7f} } { &#xe9; } { e<code class="cmd">\cL</code><code class="cmd">\x</code>{7f} }
+    { &#xcd; } { I<code class="cmd">\cL</code><code class="cmd">\x</code>{7f} } { &#xed; } { i<code class="cmd">\cL</code><code class="cmd">\x</code>{7f} }
+    { &#xd3; } { O<code class="cmd">\cL</code><code class="cmd">\x</code>{7f} } { &#xf3; } { o<code class="cmd">\cL</code><code class="cmd">\x</code>{7f} }
+    { &#xda; } { U<code class="cmd">\cL</code><code class="cmd">\x</code>{7f} } { &#xfa; } { u<code class="cmd">\cL</code><code class="cmd">\x</code>{7f} }
+    { &#xdd; } { Y<code class="cmd">\cL</code><code class="cmd">\x</code>{7f} } { &#xfd; } { y<code class="cmd">\cL</code><code class="cmd">\x</code>{7f} }
+    { &#xde; } { <code class="cmd">\cL</code><code class="cmd">\x</code>{5b} } { &#xfe; } { <code class="cmd">\cL</code><code class="cmd">\x</code>{7b} }
+    { &#xc6; } { <code class="cmd">\cL</code><code class="cmd">\x</code>{5c} } { &#xe6; } { <code class="cmd">\cL</code><code class="cmd">\x</code>{7c} }
+    { &#xd6; } { <code class="cmd">\cL</code><code class="cmd">\x</code>{5d} } { &#xf6; } { <code class="cmd">\cL</code><code class="cmd">\x</code>{7d} }
+<span class="comment">% currency signs and punctuation</span>
+<span class="comment">% [&#x2026;]</span>
+  }
+  #1
+}
+<a id="wrglossary.730"></a><a href="#glo:ExplSyntaxOff"><code class="csfmt">\ExplSyntaxOff</code></a>
+</pre>
+Substitutions for foreign language letters (such as replacing <span class="qt">&#x201c;&#xdf;&#x201d;</span>
+with <span class="qt">&#x201c;ss&#x201d;</span>) should be added as applicable. The currency signs and
+punctuation are as for <a id="wrglossary.731"></a><a href="#glo:DTLenLocaleHandler"><code class="csfmt">\DTLenLocaleHandler</code></a>, shown
+earlier.
+<p>
+For example, the string <span class="qt">&#x201c;az&#x201d;</span> will be unchanged and has the byte
+sequence <a id="wrglossary.732"></a><a href="#glo:dual.hexcp">0x61</a> <a id="wrglossary.733"></a><a href="#glo:dual.hexcp">0x7A</a>. Whereas the string <span class="qt">&#x201c;&#xe1;a&#x201d;</span> will be converted by
+the above Icelandic handler to the byte sequence <a id="wrglossary.734"></a><a href="#glo:dual.hexcp">0x61</a> <a id="wrglossary.735"></a><a href="#glo:dual.hexcp">0x7F</a> <a id="wrglossary.736"></a><a href="#glo:dual.hexcp">0x61</a>.
+Since <a id="wrglossary.737"></a><a href="#glo:dual.hexcp">0x7A</a> is less than <a id="wrglossary.738"></a><a href="#glo:dual.hexcp">0x7F</a>, <span class="qt">&#x201c;az&#x201d;</span> comes before <span class="qt">&#x201c;&#xe1;a&#x201d;</span>. With the
+English handler, <span class="qt">&#x201c;&#xe1;a&#x201d;</span> will be converted to <span class="qt">&#x201c;aa&#x201d;</span> which has the
+byte sequence <a id="wrglossary.739"></a><a href="#glo:dual.hexcp">0x61</a> <a id="wrglossary.740"></a><a href="#glo:dual.hexcp">0x61</a>. Since <a id="wrglossary.741"></a><a href="#glo:dual.hexcp">0x61</a> is less than <a id="wrglossary.742"></a><a href="#glo:dual.hexcp">0x7A</a>, <span class="qt">&#x201c;&#xe1;a&#x201d;</span> would
+come before <span class="qt">&#x201c;az&#x201d;</span>.
+<p>
+Note the use of <code class="csfmt">\cL</code> to ensure that the replacement characters
+have a letter category code (even though they&#x2019;re not actually letters).
+This will allow the process to be reversed without changing
+punctuation characters that were originally present in the sort string
+(see Example <a href="#ex:icelandiclettergroup">12</a>).
+<p>
+The language hook (see &#xa7;<a href="#sec:addlang">2.3.5</a>) then needs to set the locale handler:
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><code class="cmd">\let</code><a id="wrglossary.743"></a><a href="#glo:DTLCurrentLocaleWordHandler"><code class="csfmt">\DTLCurrentLocaleWordHandler</code></a><code class="cmd">\DTLisLocaleHandler</code>
+</pre>
+You may prefer to use <code class="csfmt">\renewcommand</code> if you want to provide
+options to adjust the handler (as with <a id="wrglossary.744"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-ang-Runr.ldf</span></a>).
+<p>
+Example <a href="#ex:icelandic">10</a> uses the above to sort a list of words:
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><code class="cmd">\newcommand</code>{<code class="cmd">\mylist</code>}{b&#xf3;kstafinn, vera, e&#xf0;a, &#xe9;g, b&#xfd;sna, 
+&#xfe;&#xfa;, vakna, epli, brag&#xf0;s, aldar, ba&#xf0;, bolli, &#xfd;mist, af,
+&#xf3;&#xe1;rei&#xf0;anleg, b&#xe6;r, dalur, &#xf6;r, &#xfe;orn, &#xfe;au, okt&#xf3;ber, esja, 
+&#xf6;ngull, d&#xe6;mi, a&#xf0;, yfir, &#xf6;&#xf0;rum, or&#xf0;, detta, &#xe1;hrif, yngri, 
+&#xf3;vinur, &#xe6;tla&#xf0;}
+
+<a id="wrglossary.745"></a><a href="#glo:DTLsortwordlist"><code class="csfmt">\DTLsortwordlist</code></a>{<code class="cmd">\mylist</code>}{<a id="wrglossary.746"></a><a href="#glo:DTLsortletterhandler"><code class="csfmt">\DTLsortletterhandler</code></a>}
+Sorted list: <a id="wrglossary.747"></a><a href="#glo:DTLformatlist"><code class="csfmt">\DTLformatlist</code></a>{<code class="cmd">\mylist</code>}.
+</pre>
+<p>
+<div class="resultbox"><div class="resultboxtitle"><a href="#glo:sym.result"><span title="Result" class="icon">&#x1f5ba;</span></a></div><!-- end of resultboxtitle -->
+<a href="#ex:icelandic-backref"><span title="Up" class="icon">&#x2b71;</span></a><a id="ex:icelandic"></a>Example 10: Icelandic Alphabetic <a href="datatool-user-examples/datatool-user-example010.tex" class="icon"><span title="Download TeX File" class="icon">&#x1f4e5;<sup>&#x1f5b9;</sup></span></a> <a href="datatool-user-examples/datatool-user-example010.pdf" class="icon"><span title="Download PDF" class="icon">&#x1f4e5;<sup>&#x1f5ba;</sup></span></a>
+<p>
+<object data="datatool-user-examples/datatool-user-example010.png" type="image/png" width="388" height="41">Example document demonstrating how support for the
+Icelandic alphabet can be provided for sorting. Typically the
+preamble code would be placed in a localisation file.</object>
+</div><!-- end of resultbox -->
+
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.748"></a><code class="code"><dfn id="glo:DTLCurrentLocaleGetGroupString"><code class="csfmt">\DTLCurrentLocaleGetGroupString</code></dfn>{<span class="meta">&#x2329;<em class="metainner">actual</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">sort value</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+This is used by <a id="wrglossary.749"></a><a href="#glo:DTLassignlettergroup"><code class="csfmt">\DTLassignlettergroup</code></a> to set <span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span>
+(a token list variable) to the content from which the letter group
+will be obtained (but only for string data types). 
+<p>
+For example, <a id="wrglossary.750"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-english.ldf</span></a> sets <span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span> to the 
+sort value as this ensures that any supported accented characters and
+ligatures will have already been converted to Basic Latin
+characters.
+<p>
+However <a id="wrglossary.751"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-ang-Latn.ldf</span></a> and <a id="wrglossary.752"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-ang-Runr.ldf</span></a> can&#x2019;t do this as 
+the construction of the sort value means that the characters in the
+sort value may be significantly different from the actual letters.
+In this case, the original value must be used instead, but it&#x2019;s
+needs some processing to map extended characters to their equivalent
+sort group. For example, <span class="qt">&#x201c;&#x1fc;&#x201d;</span> needs to be mapped to <span class="qt">&#x201c;&#xc6;&#x201d;</span>.
+Additionally, the actual value is likely to need pre-processing
+with <a id="wrglossary.753"></a><a href="#glo:datatoolsortpreprocess:Nn"><code class="csfmt">\datatool_sort_preprocess:Nn</code></a>.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.754"></a><code class="code"><dfn id="glo:DTLCurrentLocaleGetInitialLetter"><code class="csfmt">\DTLCurrentLocaleGetInitialLetter</code></dfn>{<span class="meta">&#x2329;<em class="metainner">text</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">cs</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+This is used by <a id="wrglossary.755"></a><a href="#glo:DTLGetInitialLetter"><code class="csfmt">\DTLGetInitialLetter</code></a> and
+<a id="wrglossary.756"></a><a href="#glo:DTLassignlettergroup"><code class="csfmt">\DTLassignlettergroup</code></a> to obtain the initial letter of
+the given text. The default definition just uses
+<a id="wrglossary.757"></a><a href="#glo:datatoolgetfirstletter:nN"><code class="csfmt">\datatool_get_first_letter:nN</code></a> which skips leading non-letters.
+<p>
+This command is intended for use with sorting functions to obtain the letter
+group, so the actual letter returned may not be the initial
+letter. For example, if the word starts with the ligature <span class="qt">&#x201c;&#xc6;&#x201d;</span>
+then the localisation may return <span class="qt">&#x201c;A&#x201d;</span> rather than <span class="qt">&#x201c;&#xc6;&#x201d;</span>.
+<p>
+For example, <a id="wrglossary.758"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-english.ldf</span></a> defines:
+<pre class="compactcodebox"><code class="cmd">\newcommand</code>{<code class="cmd">\DTLenLocaleGetInitialLetter</code>}[2]{
+  <a id="wrglossary.759"></a><a href="#glo:datatoolgetfirstletter:nN"><code class="csfmt">\datatool_get_first_letter:nN</code></a> { #1 } #2
+  <a id="wrglossary.760"></a><a href="#glo:DTLenLocaleHandler"><code class="csfmt">\DTLenLocaleHandler</code></a> #2
+  <code class="cmd">\int_compare:nNnT</code> { <code class="cmd">\tl_count:N</code> #2 } > { <code class="cmd">\c_one_int</code> }
+   {
+     <code class="cmd">\exp_args:NV</code> <a id="wrglossary.761"></a><a href="#glo:datatoolgetfirstletter:nN"><code class="csfmt">\datatool_get_first_letter:nN</code></a> #2 #2
+   }
+}
+</pre>
+and adds the following to the language hook:
+<pre class="compactcodebox"><code class="cmd">\let</code><a id="wrglossary.762"></a><a href="#glo:DTLCurrentLocaleGetInitialLetter"><code class="csfmt">\DTLCurrentLocaleGetInitialLetter</code></a>
+ <code class="cmd">\DTLenLocaleGetInitialLetter</code>
+</pre>
+(See &#xa7;<a href="#sec:addlang">2.3.5</a> for further details.)
+<p>
+<div class="marginright"><a id="ex:ijinitial-backref">&#x1f5b9;</a><a href="#ex:ijinitial">11</a></div>Example <a href="#ex:ijinitial">11</a> has a possible implementation for Dutch that will search for
+<span class="qt">&#x201c;IJ&#x201d;</span> or <span class="qt">&#x201c;ij&#x201d;</span>:
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><code class="cmd">\newcommand</code>{<code class="cmd">\DTLdutchLocaleGetInitialLetter</code>}[2]{
+  <code class="cmd">\tl_clear:N</code> #2
+  <a id="wrglossary.763"></a><a href="#glo:textmapinline:nn"><code class="csfmt">\text_map_inline:nn</code></a> { #1 }
+  {
+    <code class="cmd">\tl_if_empty:NTF</code> #2
+     {
+       <a id="wrglossary.764"></a><a href="#glo:datatoolifletter:n"><code class="csfmt">\datatool_if_letter:nT</code></a> { ##1 }
+        {
+          <code class="cmd">\tl_set:Nn</code> #2 { ##1 }
+          <code class="cmd">\tl_if_in:nnF</code> { Ii }  ##1  { <code class="cmd">\text_map_break:</code> }
+        }
+     }
+     {
+       <code class="cmd">\tl_if_in:nnT</code> { Jj } { ##1 }
+        {
+          <code class="cmd">\tl_put_right:Nn</code> #2 { ##1 }
+        }
+       <code class="cmd">\text_map_break:</code>
+     }
+  }
+}
+</pre>
+(Note that this will also find <span class="qt">&#x201c;Ij&#x201d;</span> and <span class="qt">&#x201c;iJ&#x201d;</span>. Some adjustment
+is required to exclude those cases.)
+Suppose that this has been implemented via a language hook (see &#xa7;<a href="#sec:addlang">2.3.5</a>):
+<pre class="compactcodebox"><code class="cmd">\let</code><a id="wrglossary.765"></a><a href="#glo:DTLCurrentLocaleGetInitialLetter"><code class="csfmt">\DTLCurrentLocaleGetInitialLetter</code></a>
+ <code class="cmd">\DTLdutchLocaleGetInitialLetter</code>
+</pre>
+Then it will affect commands that fetch an initial letter, such as
+<a id="wrglossary.766"></a><a href="#glo:DTLinitials"><code class="csfmt">\DTLinitials</code></a>:
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div>IJsselmeer: <a id="wrglossary.767"></a><a href="#glo:DTLinitials"><code class="csfmt">\DTLinitials</code></a>{IJsselmeer}
+Industrieel: <a id="wrglossary.768"></a><a href="#glo:DTLinitials"><code class="csfmt">\DTLinitials</code></a>{Industrieel}
+``IJsselmeer'': <a id="wrglossary.769"></a><a href="#glo:DTLinitials"><code class="csfmt">\DTLinitials</code></a>{``IJsselmeer''}
+``Industrieel'': <a id="wrglossary.770"></a><a href="#glo:DTLinitials"><code class="csfmt">\DTLinitials</code></a>{``Industrieel''}
+</pre>
+The test for a letter (with <a id="wrglossary.771"></a><a href="#glo:datatoolifletter:n"><code class="csfmt">\datatool_if_letter:nT</code></a>) ensures that
+leading punctuation is skipped.
+<div class="resultbox"><div class="resultboxtitle"><a href="#glo:sym.result"><span title="Result" class="icon">&#x1f5ba;</span></a></div><!-- end of resultboxtitle -->
+<a href="#ex:ijinitial-backref"><span title="Up" class="icon">&#x2b71;</span></a><a id="ex:ijinitial"></a>Example 11: IJ-Initial Support <a href="datatool-user-examples/datatool-user-example011.tex" class="icon"><span title="Download TeX File" class="icon">&#x1f4e5;<sup>&#x1f5b9;</sup></span></a> <a href="datatool-user-examples/datatool-user-example011.pdf" class="icon"><span title="Download PDF" class="icon">&#x1f4e5;<sup>&#x1f5ba;</sup></span></a>
+<p>
+<object data="datatool-user-examples/datatool-user-example011.png" type="image/png" width="325" height="10">Example document demonstrating how IJ support can be
+added to commands that fetch an initial letter. Typically the
+preamble code would be placed in a localisation file.</object>
+</div><!-- end of resultbox -->
+
+<p>
+Remember that <a id="wrglossary.772"></a><a href="#glo:DTLCurrentLocaleGetInitialLetter"><code class="csfmt">\DTLCurrentLocaleGetInitialLetter</code></a> is also used to obtain the
+letter group (but not the non-letter group) from sort values with
+<a id="wrglossary.773"></a><a href="#glo:DTLsortwordlist"><code class="csfmt">\DTLsortwordlist</code></a>. 
+<p>
+<div class="marginright"><a id="ex:icelandiclettergroup-backref">&#x1f5b9;</a><a href="#ex:icelandiclettergroup">12</a></div>Example <a href="#ex:icelandiclettergroup">12</a> adapts the
+earlier Icelandic Example <a href="#ex:icelandic">10</a> to show the letter groups.
+Recall that Example <a href="#ex:icelandic">10</a> substituted
+<a id="wrglossary.774"></a><a href="#glo:dual.utf8">UTF-8</a> characters for <a id="wrglossary.775"></a><a href="#glo:dual.ascii">ASCII</a> characters with control codes
+or punctuation characters used to influencing sorting. This means
+that, for example, <span class="qt">&#x201c;&#xfd;&#x201d;</span> will be replaced with <span class="qt">&#x201c;y&#x201d;</span> followed by
+the control code <a id="wrglossary.776"></a><a href="#glo:dual.hexcp">0x7F</a> assigned with the letter category code.
+<p>
+The content used to obtain the group letter may be either the
+original (<span class="qt">&#x201c;actual&#x201d;</span>) string or the sort value. This is determined
+by <a id="wrglossary.777"></a><a href="#glo:DTLCurrentLocaleGetGroupString"><code class="csfmt">\DTLCurrentLocaleGetGroupString</code></a>. For example,
+<a id="wrglossary.778"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-english.ldf</span></a> uses the sort value, since all the extended characters
+are mapped to Basic Latin letters. In this case, we have some
+awkward control characters which will mess up the letter group.
+<p>
+There are two ways of dealing with this. The first method is the
+case used by <a id="wrglossary.779"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-ang-Latn.ldf</span></a> which defines
+<a id="wrglossary.780"></a><a href="#glo:DTLangLatnLocaleGetGroupString"><code class="csfmt">\DTLangLatnLocaleGetGroupString</code></a>.
+That starts with the actual value and processes it
+with <a id="wrglossary.781"></a><a href="#glo:datatoolsortpreprocess:Nn"><code class="csfmt">\datatool_sort_preprocess:Nn</code></a> and then replaces any
+leading accented character with the unaccented letter.
+<p>
+The second method is used here. This starts with the sort value and
+reverses the mapping applied by the handler.
+In this case, a localisation file that provides
+<code class="csfmt">\DTLisLocaleHandler</code> would also need to provide a way
+of reversing the substitutions for the letter groups. Since the replacement
+(non-alphabetic) characters are assigned the letter category code, this makes
+them easier to distinguish from actual punctuation characters.
+<p>
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><code class="cmd">\newcommand</code>{<code class="cmd">\DTLisLocaleGetGroupString</code>}[3]{
+  <code class="cmd">\tl_set:Nn</code> #3 { #2 }
+  <code class="cmd">\regex_replace_case_once:nN</code>
+   {
+     { A<code class="cmd">\cL</code><code class="cmd">\x</code>{7f} } { &#xc1; } { a<code class="cmd">\cL</code><code class="cmd">\x</code>{7f} } { &#xe1; }
+     { D<code class="cmd">\cL</code><code class="cmd">\x</code>{7f} } { &#xd0; } { d<code class="cmd">\cL</code><code class="cmd">\x</code>{7f} } { &#xf0; }
+     { E<code class="cmd">\cL</code><code class="cmd">\x</code>{7f} } { &#xc9; } { e<code class="cmd">\cL</code><code class="cmd">\x</code>{7f} } { &#xe9; }
+     { I<code class="cmd">\cL</code><code class="cmd">\x</code>{7f} } { &#xcd; } { i<code class="cmd">\cL</code><code class="cmd">\x</code>{7f} } { &#xed; }
+     { O<code class="cmd">\cL</code><code class="cmd">\x</code>{7f} } { &#xd3; } { o<code class="cmd">\cL</code><code class="cmd">\x</code>{7f} } { &#xf3; }
+     { U<code class="cmd">\cL</code><code class="cmd">\x</code>{7f} } { &#xda; } { u<code class="cmd">\cL</code><code class="cmd">\x</code>{7f} } { &#xfa; }
+     { Y<code class="cmd">\cL</code><code class="cmd">\x</code>{7f} } { &#xdd; } { y<code class="cmd">\cL</code><code class="cmd">\x</code>{7f} } { &#xfd; }
+     { <code class="cmd">\cL</code><code class="cmd">\x</code>{5b} } { &#xde; } { <code class="cmd">\cL</code><code class="cmd">\x</code>{7b} } { &#xfe; }
+     { <code class="cmd">\cL</code><code class="cmd">\x</code>{5c} } { &#xc6; } { <code class="cmd">\cL</code><code class="cmd">\x</code>{7c} } { &#xe6; }
+     { <code class="cmd">\cL</code><code class="cmd">\x</code>{5d} } { &#xd6; } { <code class="cmd">\cL</code><code class="cmd">\x</code>{7d} } { &#xf6; }
+   } #3
+}
+</pre>
+Note that, unlike the handler function, this only needs to perform
+one replacement as we&#x2019;re only interested in the start of the string.
+Unlike the first method (used by <a id="wrglossary.782"></a><a href="#glo:DTLangLatnLocaleGetGroupString"><code class="csfmt">\DTLangLatnLocaleGetGroupString</code></a>)
+we don&#x2019;t need to worry about whether or not leading hyphens have
+been stripped.
+Deciding which method to use comes down to whether it&#x2019;s more complex
+to reverse the mapping on the sort value or to process the actual
+value.
+<p>
+Suppose that this has been implemented via a language hook 
+(see &#xa7;<a href="#sec:addlang">2.3.5</a>):
+<pre class="compactcodebox"><code class="cmd">\let</code><a id="wrglossary.783"></a><a href="#glo:DTLCurrentLocaleGetInitialLetter"><code class="csfmt">\DTLCurrentLocaleGetInitialLetter</code></a>
+ <code class="cmd">\DTLisLocaleGetInitialLetter</code>
+</pre>
+Example <a href="#ex:icelandic">10</a> can now be adapted to show the letter groups:
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><a id="wrglossary.784"></a><a href="#glo:DTLsortwordlist"><code class="csfmt">\DTLsortwordlist</code></a>{<code class="cmd">\mylist</code>}{<a id="wrglossary.785"></a><a href="#glo:DTLsortletterhandler"><code class="csfmt">\DTLsortletterhandler</code></a>}
+<code class="cmd">\renewcommand</code>{<a id="wrglossary.786"></a><a href="#glo:DTLlistformatitem"><code class="csfmt">\DTLlistformatitem</code></a>}[1]{#1 (<a id="wrglossary.787"></a><a href="#glo:DTLsortedletter"><code class="csfmt">\DTLsortedletter</code></a>{#1})}
+Sorted list: <a id="wrglossary.788"></a><a href="#glo:DTLformatlist"><code class="csfmt">\DTLformatlist</code></a>{<code class="cmd">\mylist</code>}.
+</pre>
+<p>
+<div class="resultbox"><div class="resultboxtitle"><a href="#glo:sym.result"><span title="Result" class="icon">&#x1f5ba;</span></a></div><!-- end of resultboxtitle -->
+<a href="#ex:icelandiclettergroup-backref"><span title="Up" class="icon">&#x2b71;</span></a><a id="ex:icelandiclettergroup"></a>Example 12: Icelandic Sorting and Letter Groups <a href="datatool-user-examples/datatool-user-example012.tex" class="icon"><span title="Download TeX File" class="icon">&#x1f4e5;<sup>&#x1f5b9;</sup></span></a> <a href="datatool-user-examples/datatool-user-example012.pdf" class="icon"><span title="Download PDF" class="icon">&#x1f4e5;<sup>&#x1f5ba;</sup></span></a>
+<p>
+<object data="datatool-user-examples/datatool-user-example012.png" type="image/png" width="388" height="72">Example document demonstrating how support for the
+Icelandic alphabet can be provided for sorting and letter groups. Typically the
+preamble code would be placed in a localisation file.</object>
+</div><!-- end of resultbox -->
+
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.789"></a><code class="code"><dfn id="glo:dtllettergroup"><code class="csfmt">\dtllettergroup</code></dfn>{<span class="meta">&#x2329;<em class="metainner">character</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+By default, this expands to <code class="code"><a id="wrglossary.790"></a><a href="#glo:texttitlecasefirst:n"><code class="csfmt">\text_titlecase_first:n</code></a>{<span class="meta">&#x2329;<em class="metainner">character</em>&#x232a;</span>}</code>.
+In the case of Dutch, this would need to be changed to use
+<a id="wrglossary.791"></a><a href="#glo:textuppercase:n"><code class="csfmt">\text_uppercase:n</code></a> instead to ensure that <span class="qt">&#x201c;ij&#x201d;</span> becomes <span class="qt">&#x201c;IJ&#x201d;</span>
+instead of <span class="qt">&#x201c;Ij&#x201d;</span>.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.792"></a><code class="code"><dfn id="glo:dtlnonlettergroup"><code class="csfmt">\dtlnonlettergroup</code></dfn>{<span class="meta">&#x2329;<em class="metainner">character</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+By default, this simply expands to <span class="meta">&#x2329;<em class="metainner">character</em>&#x232a;</span>. A language file
+may redefine this to produce a textual title. For example,
+<span class="qt">&#x201c;Symbols&#x201d;</span>.
+<p>
+For the Icelandic word sort handler in Example <a href="#ex:icelandic">10</a>,
+the <span class="meta">&#x2329;<em class="metainner">character</em>&#x232a;</span> will always be the double-quote <code class="code">"</code>
+because of the final substitution case in the regular expression.
+For the handler provided in <a id="wrglossary.793"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-english-utf8.ldf</span></a> (see
+&#xa7;<a href="#sec:addlang">2.3.5</a>), the character will either be a
+double-quote <code class="code">"</code> or a literal dollar <code class="code">$</code> (with category
+code other).
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.794"></a><code class="code"><dfn id="glo:dtlnumbergroup"><code class="csfmt">\dtlnumbergroup</code></dfn>{<span class="meta">&#x2329;<em class="metainner">num</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+(Only used with <a id="wrglossary.795"></a><a href="#glo:opt.lists.sort-datum"><code class="listsoptfmt">sort-datum</code></a><span class="optfmt">={true}</span>.)
+By default, this simply expands to <span class="meta">&#x2329;<em class="metainner">num</em>&#x232a;</span>. A language file
+may redefine this to produce a textual title. For example,
+<span class="qt">&#x201c;Numbers&#x201d;</span>.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.796"></a><code class="code"><dfn id="glo:dtlcurrencygroup"><code class="csfmt">\dtlcurrencygroup</code></dfn>{<span class="meta">&#x2329;<em class="metainner">sym</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">num</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+(Only used with <a id="wrglossary.797"></a><a href="#glo:opt.lists.sort-datum"><code class="listsoptfmt">sort-datum</code></a><span class="optfmt">={true}</span>.)
+By default, this simply expands to <span class="meta">&#x2329;<em class="metainner">sym</em>&#x232a;</span>. A language file
+may redefine this to produce a textual title. For example,
+<span class="qt">&#x201c;Currency&#x201d;</span>.
+<p>
+
+</section><!-- end of section sec:lexicographical -->
+
+<section id="sec:addregion"><!-- start of section sec:addregion --><div class="tomain"><a href="#main">[top]</a></div>
+<h3><!-- start of subsection header -->2.3.4. Adding New Region Support<span class="labellink"><a href="#sec:addregion">[link]</a></span></h3><!-- end of subsection header -->
+
+<p>
+The language-independent region files are all bundled together in a
+single distribution <a id="wrglossary.798"></a><a href="#glo:pkg.datatool-regions"><span class="styfmt">datatool-regions</span></a> which is separate from
+the core <a id="wrglossary.799"></a><a href="#glo:pkg.datatool"><span class="styfmt">datatool</span></a> distribution and available on GitHub
+(<a href="https://github.com/nlct/datatool-regions">https://github.com/nlct/datatool-regions</a>). There are
+currently only a limited number of regions supported but more can be
+added via a pull request and only the <a id="wrglossary.800"></a><a href="#glo:pkg.datatool-regions"><span class="styfmt">datatool-regions</span></a>
+collection need be uploaded, without the extra overhead of producing
+a new version of <a id="wrglossary.801"></a><a href="#glo:pkg.datatool"><span class="styfmt">datatool</span></a>.
+<p>
+<div class="information"><div class="informationtitle"><a href="#glo:sym.information"><span title="Information" class="icon">&#x1f6c8;</span></a></div><!-- end of informationtitle -->
+There is an interactive Perl script on GitHub that will create a
+<a id="wrglossary.802"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-</span><span class="meta">&#x2329;<em class="metainner">region</em>&#x232a;</span><span class="filefmt">.ldf</span></a> file based on your responses.
+</div><!-- end of information -->
+
+<p>
+The region file deals with setting the default currency,
+<a id="wrglossary.803"></a><a href="#glo:idx.numbergroupchar">number group character</a> and <a id="wrglossary.804"></a><a href="#glo:idx.decimalchar">decimal character</a>, and also the numeric
+date formats for use with <a id="wrglossary.805"></a><a href="#glo:opt.datetime.parse"><code class="datetimeoptfmt">parse</code></a><span class="optfmt">=region</span>
+or <a id="wrglossary.806"></a><a href="#glo:opt.datetime.parse"><code class="datetimeoptfmt">parse</code></a><span class="optfmt">=iso+region</span>. Note that any date formats
+that have textual parts (such as month names) should be dealt with
+by the language support.
+<p>
+A more specific 
+<span class="filefmt">datatool-</span><span class="meta">&#x2329;<em class="metainner">lang</em>&#x232a;</span><span class="filefmt">-</span><span class="meta">&#x2329;<em class="metainner">region</em>&#x232a;</span><span class="filefmt">.ldf</span> file may be used to
+override any of these settings but that file should be provided with the
+corresponding language support (see &#xa7;<a href="#sec:addlang">2.3.5</a>).
+For example, <a id="wrglossary.807"></a><a href="#glo:pkg.datatool-english"><span class="styfmt">datatool-english</span></a> provides <a id="wrglossary.808"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-en-CA.ldf</span></a> to set the 
+<a id="wrglossary.809"></a><a href="#glo:idx.numbergroupchar">number group character</a> and <a id="wrglossary.810"></a><a href="#glo:idx.decimalchar">decimal character</a> since it varies
+according to the language for that region.
+<p>
+<div class="information"><div class="informationtitle"><a href="#glo:sym.information"><span title="Information" class="icon">&#x1f6c8;</span></a></div><!-- end of informationtitle -->
+For further details, see the <a id="wrglossary.811"></a><a href="#glo:pkg.datatool-regions"><span class="styfmt">datatool-regions</span></a> documentation.
+</div><!-- end of information -->
+
+<p>
+
+</section><!-- end of section sec:addregion -->
+
+<section id="sec:addlang"><!-- start of section sec:addlang --><div class="tomain"><a href="#main">[top]</a></div>
+<h3><!-- start of subsection header -->2.3.5. Adding New Language Support<span class="labellink"><a href="#sec:addlang">[link]</a></span></h3><!-- end of subsection header -->
+
+<p>
+The <a id="wrglossary.812"></a><dfn id="glo:pkg.datatool-english"><span class="styfmt">datatool-english</span></dfn> package (distributed separately)
+may be used as an example. (The <a id="wrglossary.813"></a><a href="#glo:pkg.datatool-english"><span class="styfmt">datatool-english</span></a> bundle
+includes <a id="wrglossary.814"></a><a href="#glo:file.databib-english.ldf"><span class="filefmt">databib-english.ldf</span></a> to provide localisation support
+for the <a id="wrglossary.815"></a><a href="#glo:pkg.databib"><span class="styfmt">databib</span></a> package, and <a id="wrglossary.816"></a><a href="#glo:file.person-english.ldf"><span class="filefmt">person-english.ldf</span></a> to
+provide localisation support for the <a id="wrglossary.817"></a><a href="#glo:pkg.person"><span class="styfmt">person</span></a> package, see
+&#xa7;&#xa7;<a href="#sec:databiblang">7.11</a> & <a href="#sec:personlang">9.7.3</a> for further details.)
+<p>
+The <a id="wrglossary.818"></a><a href="#glo:pkg.datatool-english"><span class="styfmt">datatool-english</span></a> bundle also includes limited support for
+Old English (Anglo-Saxon) for Latin and Runic scripts, which may be
+used as examples for extended Latin or non-Latin languages.
+<p>
+The language file should be called
+<span class="filefmt">datatool-</span><span class="meta">&#x2329;<em class="metainner">language</em>&#x232a;</span><span class="filefmt">.ldf</span> where <span class="meta">&#x2329;<em class="metainner">language</em>&#x232a;</span>
+is the root language label (<a id="wrglossary.819"></a><a href="#glo:pkg.tracklang"><span class="styfmt">tracklang</span></a> label). Using the root
+language label ensures that it&#x2019;s the last in <a id="wrglossary.820"></a><a href="#glo:pkg.tracklang"><span class="styfmt">tracklang</span>&#x2019;s</a>
+file search list, which means that it can be overridden by a more
+specific label, if required.
+So in the event that there is some particular language setting that is specific to
+a particular region, a language module may also include a file named
+<span class="filefmt">datatool-</span><span class="meta">&#x2329;<em class="metainner">lang</em>&#x232a;</span><span class="filefmt">-</span><span class="meta">&#x2329;<em class="metainner">region</em>&#x232a;</span><span class="filefmt">.ldf</span> where
+<span class="meta">&#x2329;<em class="metainner">lang</em>&#x232a;</span> is the language code (such as <span class="qt">&#x201c;fr&#x201d;</span>) and 
+<span class="meta">&#x2329;<em class="metainner">region</em>&#x232a;</span> is the region code (such as <span class="qt">&#x201c;CA&#x201d;</span>)..
+For example:
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><a id="wrglossary.821"></a><a href="#glo:TrackLangProvidesResource"><code class="csfmt">\TrackLangProvidesResource</code></a>{fr-CA}
+<code class="cmd">\TrackLangRequireResource</code>{french}
+<a id="wrglossary.822"></a><a href="#glo:ExplSyntaxOn"><code class="csfmt">\ExplSyntaxOn</code></a>
+<code class="cmd">\newcommand</code><a id="wrglossary.823"></a><a href="#glo:datatoolRegionSetNumberChars"><code class="csfmt">\datatoolfrCASetNumberChars</code></a>
+{
+ <code class="cmd">\bool_if:NT</code> <a id="wrglossary.824"></a><a href="#glo:ldatatoolregionsetnumbercharsbool"><code class="csfmt">\l_datatool_region_set_numberchars_bool</code></a>
+  
+    <a id="wrglossary.825"></a><a href="#glo:DTLsetnumberchars"><code class="csfmt">\DTLsetnumberchars</code></a>{.}{,}<span class="comment">% number group and decimal symbol</span>
+ 
+  
+}
+<code class="cmd">\newcommand</code><a id="wrglossary.826"></a><a href="#glo:DTLtagLocaleHook"><code class="csfmt">\DTLfrCALocaleHook</code></a>
+{
+ <a id="wrglossary.827"></a><a href="#glo:datatoolRegionSetNumberChars"><code class="csfmt">\datatoolfrCASetNumberChars</code></a>
+}
+<a id="wrglossary.828"></a><a href="#glo:ExplSyntaxOff"><code class="csfmt">\ExplSyntaxOff</code></a>
+<a id="wrglossary.829"></a><a href="#glo:TrackLangAddToCaptions"><code class="csfmt">\TrackLangAddToCaptions</code></a>{<a id="wrglossary.830"></a><a href="#glo:DTLtagLocaleHook"><code class="csfmt">\DTLfrCALocaleHook</code></a>}
+</pre>
+The <a id="wrglossary.831"></a><a href="#glo:pkg.datatool-english"><span class="styfmt">datatool-english</span></a> distribution provides a similar
+<a id="wrglossary.832"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-en-CA.ldf</span></a> file.
+<p>
+In the case of <a id="wrglossary.833"></a><a href="#glo:pkg.datatool-english"><span class="styfmt">datatool-english</span></a>, the root language label is <span class="qt">&#x201c;english&#x201d;</span> (even if
+the language has been specified using a dialect label, such as
+<span class="qt">&#x201c;british&#x201d;</span>) so the filename is <a id="wrglossary.834"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-english.ldf</span></a>. 
+The file needs to identify itself (analogous
+to <code class="csfmt">\ProvidesPackage</code> for packages):
+<pre class="compactcodebox"><a id="wrglossary.835"></a><a href="#glo:TrackLangProvidesResource"><code class="csfmt">\TrackLangProvidesResource</code></a>{<span class="meta">&#x2329;<em class="metainner">language</em>&#x232a;</span>}[<span class="meta">&#x2329;<em class="metainner">yyyy</em>&#x232a;</span>/<span class="meta">&#x2329;<em class="metainner">mm</em>&#x232a;</span>/<span class="meta">&#x2329;<em class="metainner">dd</em>&#x232a;</span> v<span class="meta">&#x2329;<em class="metainner">version</em>&#x232a;</span>]
+</pre>
+Although pdfLaTeX now defaults to <a id="wrglossary.836"></a><a href="#glo:dual.utf8">UTF-8</a>, it can be helpful to
+provide some support for other encodings. The document encoding (as
+detected by <a id="wrglossary.837"></a><a href="#glo:pkg.tracklang"><span class="styfmt">tracklang</span></a>) can be obtained by expanding
+<a id="wrglossary.838"></a><a href="#glo:TrackLangEncodingName"><code class="csfmt">\TrackLangEncodingName</code></a> (<a id="wrglossary.839"></a><a href="#glo:inputencoding"><code class="csfmt">\inputencoding</code></a> isn&#x2019;t guaranteed to
+be defined).
+<p>
+The <a id="wrglossary.840"></a><a href="#glo:pkg.datatool-english"><span class="styfmt">datatool-english</span></a> bundle includes (limited) support for ISO-8859-1
+(Latin-1) and <a id="wrglossary.841"></a><a href="#glo:dual.ascii">ASCII</a> in addition to <a id="wrglossary.842"></a><a href="#glo:dual.utf8">UTF-8</a>. The
+encoding support is provided in the files <a id="wrglossary.843"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-english-latin1.ldf</span></a>,
+<a id="wrglossary.844"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-english-ascii.ldf</span></a> and <a id="wrglossary.845"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-english-utf8.ldf</span></a>. The
+following code will input the appropriate file or fallback on the
+<a id="wrglossary.846"></a><a href="#glo:dual.ascii">ASCII</a> file if the encoding isn&#x2019;t supported:
+<pre class="compactcodebox"><code class="cmd">\TrackLangRequestResource</code>{english-<a id="wrglossary.847"></a><a href="#glo:TrackLangEncodingName"><code class="csfmt">\TrackLangEncodingName</code></a>}
+{
+  <code class="cmd">\TrackLangRequireResource</code>{english-ascii}
+}
+</pre>
+Note the difference between requesting a resource and requiring it.
+<p>
+Compare this with the Anglo-Saxon support. The root language label
+is <span class="qt">&#x201c;anglosaxon&#x201d;</span> so there is a file called <a id="wrglossary.848"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-anglosaxon.ldf</span></a>
+but because there are two different scripts to cater for, it just
+ensures that the appropriate file is loaded.
+<pre class="compactcodebox"><a id="wrglossary.849"></a><a href="#glo:TrackLangProvidesResource"><code class="csfmt">\TrackLangProvidesResource</code></a>{anglosaxon}
+<code class="cmd">\TrackLangRequestResource</code>
+ {ang-<code class="cmd">\CurrentTrackedDialectScript</code>-<a id="wrglossary.850"></a><a href="#glo:TrackLangEncodingName"><code class="csfmt">\TrackLangEncodingName</code></a>}
+{<span class="comment">% </span>
+ <code class="cmd">\PackageWarning</code>{datatool-anglosaxon}<span class="comment">% </span>
+  {<span class="comment">% </span>
+    No support for `anglosaxon' with script
+    `<code class="cmd">\CurrentTrackedDialectScript</code>'
+    and encoding `<a id="wrglossary.851"></a><a href="#glo:TrackLangEncodingName"><code class="csfmt">\TrackLangEncodingName</code></a>'<span class="comment">% </span>
+  }<span class="comment">% </span>
+}
+</pre>
+This file is actually just a fallback as the files
+<a id="wrglossary.852"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-ang-Latn.ldf</span></a> and <a id="wrglossary.853"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-ang-Runr.ldf</span></a> should be found first.
+Note that the script indicates the script of the input or source
+text. That is, the text used in the document source code, which
+may not correspond to the glyphs visible in the PDF file.
+<p>
+For example, a package may provide a command called, say
+<code class="cmd">\runic</code>, which expects Latin characters in the argument
+but the font encoding ensures that those characters appear as runes
+in the PDF. In this case, the source is Latin and so 
+<span class="qt">&#x201c;ang-Latn&#x201d;</span> is needed when specifying the locale.
+<p>
+If, however, the source code actually contains characters from 
+the Runic Unicode block (with an appropriate font that supports
+those characters), the source is Runic and so <span class="qt">&#x201c;ang-Runr&#x201d;</span>
+is needed when specifying the locale.
+<p>
+The files <a id="wrglossary.854"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-ang-Latn.ldf</span></a> and <a id="wrglossary.855"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-ang-Runr.ldf</span></a> are similar
+to <a id="wrglossary.856"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-english.ldf</span></a> but, in these cases, there&#x2019;s no fallback to
+<a id="wrglossary.857"></a><a href="#glo:dual.ascii">ASCII</a> as it doesn&#x2019;t cover all characters from the Latin script
+and doesn&#x2019;t cover any for the Runic script. Instead, if the encoding
+isn&#x2019;t supported, then no localisation can be provided. For example,
+<a id="wrglossary.858"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-ang-Latn.ldf</span></a> starts with:
+<pre class="compactcodebox"><a id="wrglossary.859"></a><a href="#glo:TrackLangProvidesResource"><code class="csfmt">\TrackLangProvidesResource</code></a>{ang-Latn}
+<code class="cmd">\TrackLangRequestResource</code>{ang-Latn-<a id="wrglossary.860"></a><a href="#glo:TrackLangEncodingName"><code class="csfmt">\TrackLangEncodingName</code></a>}
+{<span class="comment">% </span>
+  <code class="cmd">\PackageWarning</code>{datatool-ang-Latn}<span class="comment">% </span>
+   {<span class="comment">% </span>
+     No support for `anglosaxon' with script `Latn'
+     and encoding `<a id="wrglossary.861"></a><a href="#glo:TrackLangEncodingName"><code class="csfmt">\TrackLangEncodingName</code></a>'.<span class="comment">% </span>
+   }<span class="comment">% </span>
+  <code class="cmd">\endinput</code>
+}
+</pre> 
+The code for <a id="wrglossary.862"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-ang-Runr.ldf</span></a> is similar. Only <a id="wrglossary.863"></a><a href="#glo:dual.utf8">UTF-8</a> is
+supported (<a id="wrglossary.864"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-ang-Latn-utf8.ldf</span></a> and
+<a id="wrglossary.865"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-ang-Runr-utf8.ldf</span></a>), but this method allows for
+other encodings to be added by simply creating a file with an
+appropriate name.
+<p>
+For both the English and Old English support, 
+we will be using some LaTeX3 syntax, so the 
+appropriate category codes must be changed:
+<pre class="compactcodebox"><a id="wrglossary.866"></a><a href="#glo:ExplSyntaxOn"><code class="csfmt">\ExplSyntaxOn</code></a>
+</pre> 
+<p>
+The definition of <a id="wrglossary.867"></a><a href="#glo:DTLenLocaleGetGroupString"><code class="csfmt">\DTLenLocaleGetGroupString</code></a> ensures that the
+letter group is obtained from the sort value rather than the actual
+value:
+<pre class="compactcodebox"><code class="cmd">\newcommand</code><a id="wrglossary.868"></a><a href="#glo:DTLenLocaleGetGroupString"><code class="csfmt">\DTLenLocaleGetGroupString</code></a>[3]
+{
+ <code class="cmd">\tl_set:Nn</code> #3 { #2 }
+}
+</pre>
+This ensures that the accents are stripped, but it will mean that
+the currency and punctuation marks will have their initial marker
+that&#x2019;s inserted by the handler function <a id="wrglossary.869"></a><a href="#glo:DTLenLocaleHandler"><code class="csfmt">\DTLenLocaleHandler</code></a>.
+Bear in mind that <a id="wrglossary.870"></a><a href="#glo:DTLenLocaleGetGroupString"><code class="csfmt">\DTLenLocaleGetGroupString</code></a> is only used for
+values that have been identified as strings. It&#x2019;s not used by other
+data types. The non-letter characters used to alter the order
+of currency and punctuation marks is usually not relevant, as the
+non-letter group title (<a id="wrglossary.871"></a><a href="#glo:dtlnonlettergroup"><code class="csfmt">\dtlnonlettergroup</code></a>) typically ignores
+the character.
+<p>
+This conveniently works for English, which just maps extended
+characters to Basic Latin letters (A&#x2013;Z, a&#x2013;z), but will cause a
+problem for Anglo-Saxon, both Latin and Runic. In the case of
+<a id="wrglossary.872"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-ang-Latn.ldf</span></a>, the extended characters &#x1f7; (wynn), &#xd0; (eth), &#xc6;
+(AE-ligature), &#xde; (thorn) are converted to the character codes
+following <span class="qt">&#x201c;Z&#x201d;</span> and, similarly, the lowercase &#x1bf;, &#xf0;, &#xe6;, &#xfe; are
+converted to the character codes following <span class="qt">&#x201c;z&#x201d;</span>. This means that
+if the sort value is used to obtain the letter group, then these
+extended characters will be assigned to the non-letter group.
+<p>
+Therefore, it&#x2019;s necessary to use the actual value rather than the
+sort value, but some additional processing is required to ensure
+that characters with diacritics are placed in the same group as the
+unaccented character. For example, <span class="qt">&#x201c;&#x1fc;&#x201d;</span> needs to be mapped to <span class="qt">&#x201c;&#xc6;&#x201d;</span>.
+This is performed by a low-level function that performs a regular
+expression substitution.
+<p>
+Note that this doesn&#x2019;t take into account a sort handler that strips
+content, such as the letter handler functions that remove spaces and
+hyphens. This will cause a problem for any words that start with a
+hyphen. Since the handler function <code class="cmd">\DTLangLatnLocaleHandler</code>
+inserts a double-quote character in front of any punctuation, it&#x2019;s
+possible to check if the actual value starts with a hyphen and
+if the sort value starts with a double-quote then the hyphen likely
+wasn&#x2019;t stripped so it can be removed.
+This is done as follows:
+<pre class="compactcodebox"><code class="cmd">\newcommand</code> <a id="wrglossary.873"></a><dfn id="glo:DTLangLatnLocaleGetGroupString"><code class="csfmt">\DTLangLatnLocaleGetGroupString</code></dfn> { 3 }
+ {
+   <code class="cmd">\tl_set:Nn</code> #3 { #1 }
+   <code class="cmd">\datatool_angLatn_process_letter_group:N</code> #3
+   <code class="cmd">\bool_lazy_and:nnT</code>
+     { <code class="cmd">\tl_if_head_eq_charcode_p:nN</code> { #1 } - }
+     { <code class="cmd">\bool_not_p:n</code> { <code class="cmd">\tl_if_head_eq_charcode_p:nN</code> { #2 } " } }
+    {
+      <code class="cmd">\exp_args:NNe</code> <code class="cmd">\tl_set:Nn</code> #3 { <code class="cmd">\tl_tail:N</code> #3 }
+    }
+ }
+</pre>
+<p>
+In the case of <a id="wrglossary.874"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-ang-Runr.ldf</span></a> there are no hyphens to worry about
+so it&#x2019;s far simpler to just assign the token list variable to the
+actual value. Any further processing is down to whether or not the
+sort handler considers multiple runes to be considered equivalent
+for sorting purposes.
+<p>
+For both English and the two different scripts of Old English,
+the support for <a id="wrglossary.875"></a><a href="#glo:DTLCurrentLocaleGetInitialLetter"><code class="csfmt">\DTLCurrentLocaleGetInitialLetter</code></a> is the same
+as the default definition provided by <a id="wrglossary.876"></a><a href="#glo:pkg.datatool-base"><span class="styfmt">datatool-base</span></a>.
+For example, <a id="wrglossary.877"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-english.ldf</span></a> defines:
+<pre class="compactcodebox">
+<code class="cmd">\newcommand</code> <code class="cmd">\DTLenLocaleGetInitialLetter</code> [ 2 ]
+ {
+   <a id="wrglossary.878"></a><a href="#glo:datatoolgetfirstletter:nN"><code class="csfmt">\datatool_get_first_letter:nN</code></a> { #1 } #2
+ }
+</pre>
+<p>
+The only other support provided by <a id="wrglossary.879"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-ang-Latn.ldf</span></a>
+and <a id="wrglossary.880"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-ang-Runr.ldf</span></a> is to redefine <a id="wrglossary.881"></a><a href="#glo:DTLandname"><code class="csfmt">\DTLandname</code></a>
+to use the Tironian et.
+<p>
+Returning to <a id="wrglossary.882"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-english.ldf</span></a>, support is provided to produce textual
+labels for the non-letter group, number group, currency group
+and temporal group commands:
+<pre class="compactcodebox"><code class="cmd">\newcommand</code> <code class="cmd">\DTLenSetLetterGroups</code>
+ {
+  <code class="cmd">\renewcommand</code> <a id="wrglossary.883"></a><a href="#glo:dtllettergroup"><code class="csfmt">\dtllettergroup</code></a> [ 1 ]
+    { <a id="wrglossary.884"></a><a href="#glo:texttitlecasefirst:n"><code class="csfmt">\text_titlecase_first:n</code></a> { ##1 } }
+  <code class="cmd">\renewcommand</code> <a id="wrglossary.885"></a><a href="#glo:dtlnonlettergroup"><code class="csfmt">\dtlnonlettergroup</code></a> [ 1 ] { Symbols }
+  <code class="cmd">\renewcommand</code> <a id="wrglossary.886"></a><a href="#glo:dtlnumbergroup"><code class="csfmt">\dtlnumbergroup</code></a> [ 1 ] { Numbers }
+  <code class="cmd">\renewcommand</code> <a id="wrglossary.887"></a><a href="#glo:dtlcurrencygroup"><code class="csfmt">\dtlcurrencygroup</code></a> [ 2 ] { Currency }
+  <code class="cmd">\renewcommand</code> <a id="wrglossary.888"></a><a href="#glo:dtldatetimegroup"><code class="csfmt">\dtldatetimegroup</code></a> [ 1 ] { Timestamps }
+  <code class="cmd">\renewcommand</code> <a id="wrglossary.889"></a><a href="#glo:dtldategroup"><code class="csfmt">\dtldategroup</code></a> [ 1 ] { Dates }
+  <code class="cmd">\renewcommand</code> <a id="wrglossary.890"></a><a href="#glo:dtltimegroup"><code class="csfmt">\dtltimegroup</code></a> [ 1 ] { Times }
+ }
+</pre>
+Aside from the above, the fixed-text commands for
+<a id="wrglossary.891"></a><a href="#glo:pkg.datatool-base"><span class="styfmt">datatool-base</span></a> are <a id="wrglossary.892"></a><a href="#glo:DTLandname"><code class="csfmt">\DTLandname</code></a>,
+<a id="wrglossary.893"></a><a href="#glo:DTLdatatypeunsetname"><code class="csfmt">\DTLdatatypeunsetname</code></a>,
+<a id="wrglossary.894"></a><a href="#glo:DTLdatatypestringname"><code class="csfmt">\DTLdatatypestringname</code></a>,
+<a id="wrglossary.895"></a><a href="#glo:DTLdatatypeintegername"><code class="csfmt">\DTLdatatypeintegername</code></a>,
+<a id="wrglossary.896"></a><a href="#glo:DTLdatatypedecimalname"><code class="csfmt">\DTLdatatypedecimalname</code></a>,
+<a id="wrglossary.897"></a><a href="#glo:DTLdatatypecurrencyname"><code class="csfmt">\DTLdatatypecurrencyname</code></a>,
+<a id="wrglossary.898"></a><a href="#glo:DTLdatatypedatetimename"><code class="csfmt">\DTLdatatypedatetimename</code></a>,
+<a id="wrglossary.899"></a><a href="#glo:DTLdatatypedatename"><code class="csfmt">\DTLdatatypedatename</code></a>,
+<a id="wrglossary.900"></a><a href="#glo:DTLdatatypetimename"><code class="csfmt">\DTLdatatypetimename</code></a>, and
+<a id="wrglossary.901"></a><a href="#glo:DTLdatatypeinvalidname"><code class="csfmt">\DTLdatatypeinvalidname</code></a>.
+<p>
+(Some of the supplementary packages have additional fixed-text
+commands, but they are dealt with in their own <a id="wrglossary.902"></a><a href="#glo:ext.ldf"><span class="extfmt">ldf</span></a> files.) An
+intermediate command is defined to set <a id="wrglossary.903"></a><a href="#glo:DTLandname"><code class="csfmt">\DTLandname</code></a>:
+<pre class="compactcodebox"><code class="cmd">\newcommand</code> <code class="cmd">\DTLenSetAndName</code>
+ {
+  <code class="cmd">\renewcommand</code> <a id="wrglossary.904"></a><a href="#glo:DTLandname"><code class="csfmt">\DTLandname</code></a> { and }
+ }
+</pre>
+This makes it easier to for the supplied option to redefine it:
+<pre class="compactcodebox"><a id="wrglossary.905"></a><a href="#glo:datatoollocaledefinekeys:nn"><code class="csfmt">\datatool_locale_define_keys:nn</code></a> { en }
+ {
+    and .choice:,
+    and / word .code:n =
+     {
+      <code class="cmd">\renewcommand</code> <code class="cmd">\DTLenSetAndName</code>
+       {
+         <code class="cmd">\renewcommand</code> <a id="wrglossary.906"></a><a href="#glo:DTLandname"><code class="csfmt">\DTLandname</code></a> { and }
+       }
+      <code class="cmd">\tl_if_eq:NnT</code> <a id="wrglossary.907"></a><a href="#glo:ldatatoolcurrentlanguagetl"><code class="csfmt">\l_datatool_current_language_tl</code></a> { en }
+       { <code class="cmd">\DTLenSetAndName</code> }
+     } ,
+    and / amp .code:n =
+     {
+      <code class="cmd">\renewcommand</code> <code class="cmd">\DTLenSetAndName</code>
+       {
+         <code class="cmd">\renewcommand</code> <a id="wrglossary.908"></a><a href="#glo:DTLandname"><code class="csfmt">\DTLandname</code></a> { <a id="wrglossary.909"></a><a href="#glo:cs.amp">\&</a> }
+       }
+      <code class="cmd">\tl_if_eq:NnT</code> <a id="wrglossary.910"></a><a href="#glo:ldatatoolcurrentlanguagetl"><code class="csfmt">\l_datatool_current_language_tl</code></a> { en }
+       { <code class="cmd">\DTLenSetAndName</code> }
+     } ,
+ }
+</pre>
+This is added to the hook that sets all the <a id="wrglossary.911"></a><a href="#glo:pkg.datatool-base"><span class="styfmt">datatool-base</span></a>
+textual commands:
+<pre class="compactcodebox"><code class="cmd">\newcommand</code> <code class="cmd">\DTLenTranslations</code>
+ {
+  <code class="cmd">\DTLenSetAndName</code>
+  <code class="cmd">\renewcommand</code> <a id="wrglossary.912"></a><a href="#glo:DTLdatatypeunsetname"><code class="csfmt">\DTLdatatypeunsetname</code></a> { unset }
+  <code class="cmd">\renewcommand</code> <a id="wrglossary.913"></a><a href="#glo:DTLdatatypestringname"><code class="csfmt">\DTLdatatypestringname</code></a> { string }
+  <code class="cmd">\renewcommand</code> <a id="wrglossary.914"></a><a href="#glo:DTLdatatypeintegername"><code class="csfmt">\DTLdatatypeintegername</code></a> { integer }
+  <code class="cmd">\renewcommand</code> <a id="wrglossary.915"></a><a href="#glo:DTLdatatypedecimalname"><code class="csfmt">\DTLdatatypedecimalname</code></a> { decimal }
+  <code class="cmd">\renewcommand</code> <a id="wrglossary.916"></a><a href="#glo:DTLdatatypecurrencyname"><code class="csfmt">\DTLdatatypecurrencyname</code></a> { currency }
+  <code class="cmd">\renewcommand</code> <a id="wrglossary.917"></a><a href="#glo:DTLdatatypedatetimename"><code class="csfmt">\DTLdatatypedatetimename</code></a> { date-time }
+  <code class="cmd">\renewcommand</code> <a id="wrglossary.918"></a><a href="#glo:DTLdatatypedatename"><code class="csfmt">\DTLdatatypedatename</code></a> { date }
+  <code class="cmd">\renewcommand</code> <a id="wrglossary.919"></a><a href="#glo:DTLdatatypetimename"><code class="csfmt">\DTLdatatypetimename</code></a> { time }
+  <code class="cmd">\renewcommand</code> <a id="wrglossary.920"></a><a href="#glo:DTLdatatypeinvalidname"><code class="csfmt">\DTLdatatypeinvalidname</code></a> { invalid }
+ }
+</pre>
+<p>
+After that comes the support for date and time formatting, but it&#x2019;s
+still experimental.
+<p>
+As with the region <a id="wrglossary.921"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-GB.ldf</span></a> file, describe in
+&#xa7;<a href="#sec:addregion">2.3.4</a>, a single intermediate command is defined
+that will be added to the captions hook:
+<pre class="compactcodebox"><code class="cmd">\newcommand</code> <a id="wrglossary.922"></a><a href="#glo:DTLtagLocaleHook"><code class="csfmt">\DTLenLocaleHook</code></a>
+ {
+  <code class="cmd">\renewcommand</code>
+    <a id="wrglossary.923"></a><a href="#glo:DTLCurrentLocaleWordHandler"><code class="csfmt">\DTLCurrentLocaleWordHandler</code></a>
+    { <a id="wrglossary.924"></a><a href="#glo:DTLenLocaleHandler"><code class="csfmt">\DTLenLocaleHandler</code></a> }
+  <code class="cmd">\renewcommand</code>
+    <a id="wrglossary.925"></a><a href="#glo:DTLCurrentLocaleGetInitialLetter"><code class="csfmt">\DTLCurrentLocaleGetInitialLetter</code></a>
+    { <code class="cmd">\DTLenLocaleGetInitialLetter</code> }
+  <code class="cmd">\renewcommand</code>
+    <a id="wrglossary.926"></a><a href="#glo:DTLCurrentLocaleGetGroupString"><code class="csfmt">\DTLCurrentLocaleGetGroupString</code></a>
+    { <a id="wrglossary.927"></a><a href="#glo:DTLenLocaleGetGroupString"><code class="csfmt">\DTLenLocaleGetGroupString</code></a> }
+  <code class="cmd">\DTLenSetLetterGroups</code>
+<span class="comment">% date and time assignments</span>
+<span class="comment">% [&#x2026;]</span>
+  <code class="cmd">\tl_set:Nn</code> <a id="wrglossary.928"></a><a href="#glo:ldatatoolcurrentlanguagetl"><code class="csfmt">\l_datatool_current_language_tl</code></a> { en }
+<span class="comment">% Fixed text command:</span>
+  <code class="cmd">\DTLenTranslations</code>
+}
+<a id="wrglossary.929"></a><a href="#glo:ExplSyntaxOff"><code class="csfmt">\ExplSyntaxOff</code></a>
+<a id="wrglossary.930"></a><a href="#glo:TrackLangAddToCaptions"><code class="csfmt">\TrackLangAddToCaptions</code></a>{<a id="wrglossary.931"></a><a href="#glo:DTLtagLocaleHook"><code class="csfmt">\DTLenLocaleHook</code></a>}
+</pre>
+If <a id="wrglossary.932"></a><a href="#glo:pkg.babel"><span class="styfmt">babel</span></a> or <a id="wrglossary.933"></a><a href="#glo:pkg.polyglossia"><span class="styfmt">polyglossia</span></a> have been loaded, this will
+add <a id="wrglossary.934"></a><a href="#glo:DTLtagLocaleHook"><code class="csfmt">\DTLenLocaleHook</code></a> to the <a id="wrglossary.935"></a><a href="#glo:captionsdialect"><code class="csfmt">\captions<span class="meta">&#x2329;<em class="metainner">dialect</em>&#x232a;</span></code></a> hook.
+The command will be implemented at this point as well, which will make
+it the current setting if there&#x2019;s no hook.
+<p>
+Note that each language file should ensure that the caption hook sets
+the token list variable:
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.936"></a><code class="code"><dfn id="glo:ldatatoolcurrentlanguagetl"><code class="csfmt">\l_datatool_current_language_tl</code></dfn></code><span class="floatrightbox"><span class="summarytag">initial: </span><span class="initvalnotefmt"><em class="initvalnotefmtinner">empty</em></span></span><span class="clearfix"></span></div><!-- end of pinnedbox -->
+
+to expand to the language code (as above). This may then be
+referenced by the region file, if necessary. Note that it&#x2019;s used for
+checking control sequence names to test if the language provides support for
+particular settings, therefore don&#x2019;t include a hyphen as it will
+make it harder to define the appropriate commands.
+For example, <a id="wrglossary.937"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-ang-Latn.ldf</span></a> has:
+<pre class="compactcodebox"><code class="cmd">\tl_set:Nn</code> <a id="wrglossary.938"></a><a href="#glo:ldatatoolcurrentlanguagetl"><code class="csfmt">\l_datatool_current_language_tl</code></a> { angLatn }
+</pre>
+and <a id="wrglossary.939"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-ang-Runr.ldf</span></a> has:
+<pre class="compactcodebox"><code class="cmd">\tl_set:Nn</code> <a id="wrglossary.940"></a><a href="#glo:ldatatoolcurrentlanguagetl"><code class="csfmt">\l_datatool_current_language_tl</code></a> { angRunr }
+</pre>
+<p>
+The locale handlers are provided in the encoding files.
+For example, <a id="wrglossary.941"></a><dfn id="glo:DTLenLocaleHandler"><code class="csfmt">\DTLenLocaleHandler</code></dfn> is provided in 
+<a id="wrglossary.942"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-english-utf8.ldf</span></a>, <a id="wrglossary.943"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-english-latin1.ldf</span></a>
+and <a id="wrglossary.944"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-english-ascii.ldf</span></a>. This is used to convert strings 
+into byte sequences for
+lexicographical comparisons. For example, <a id="wrglossary.945"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-english-utf8.ldf</span></a>
+replaces common extended Latin characters into the nearest
+<a id="wrglossary.946"></a><a href="#glo:dual.ascii">ASCII</a> equivalent, suitable for English ordering.
+This can conveniently be done with regular expression replacement.
+<pre class="compactcodebox"><code class="cmd">\cs_new:Npn</code> <a id="wrglossary.947"></a><a href="#glo:DTLenLocaleHandler"><code class="csfmt">\DTLenLocaleHandler</code></a> #1
+{
+  <code class="cmd">\regex_replace_case_all:nN</code>
+  { 
+<span class="comment">% alphabetical cases</span>
+<span class="comment">% [ &#x2026; ]</span>
+    { (<code class="cmd">\ur</code>{<a id="wrglossary.948"></a><a href="#glo:ldatatoolcurrencysignsregex"><span class="csfmtcolourfont">l_datatool_currencysigns_regex</span></a>}) } { <code class="cmd">\cO</code><code class="cmd">\x</code>{24}<code class="cmd">\1</code> }
+    { &#x2019; } { <code class="cmd">\cO</code>"' }
+    { &#x2018; } { <code class="cmd">\cO</code>"` }
+    { (&#x201c;|&#x201d;) } { <code class="cmd">\cO</code>"<code class="cmd">\cO</code>" }
+    { (&#x2014;|&#x2013;) } { <code class="cmd">\cO</code>"- }
+    { ([[:punct:]]+) } { <code class="cmd">\cO</code>"<code class="cmd">\1</code> }
+  } 
+  #1
+}
+</pre>
+The final substitutions are for currency and any punctuation and
+is designed to gather together currency symbols and punctuation marks.
+(Otherwise they would be in their character code order which would
+spread them before and after letters.) Note that character classes
+such as <code class="code">[:punct:]</code> and <code class="code">[:alpha:]</code> only apply to Basic
+Latin characters. (The use of <code class="csfmt">\cO</code> ensures that the next
+character has category code <span class="qt">&#x201c;other&#x201d;</span>.)
+<p>
+<div class="warning"><div class="warningtitle"><a href="#glo:sym.warning"><span title="Warning" class="icon">&#x26a0;</span></a></div><!-- end of warningtitle -->
+The more complex the regular expression cases, the longer the
+document build time. There needs to be a trade-off between likely
+characters to support and processing time.
+</div><!-- end of warning -->
+
+<p>
+In the case of a non-Latin script, such as Runic, the conversion
+simply ensures that the characters follow the appropriate order when
+the character codes are compared. For example, <a id="wrglossary.949"></a><a href="#glo:file.datatool-locale.ldf"><span class="filefmt">datatool-ang-Runr.ldf</span></a>
+provides two different ways of ordering the runes. The first mostly
+follows the order in the Runic Unicode block. So feoh (U+16A0) is
+mapped to character code 31, Runic V (U+16A1) is mapped to character
+code 32, etc. The second follows the Old English rune poem order
+(fu&#xfe;orc) so feoh (U+16A0) is mapped to character code 31, ur
+(U+16A2) is mapped to character code 32, thorn (U+16A6) is mapped to
+character code 33, etc.
+<p>
+
+</section><!-- end of section sec:addlang -->
+
+<section id="sec:conditionals"><!-- start of section sec:conditionals --><div class="tomain"><a href="#main">[top]</a></div>
+<h2><!-- start of section header -->2.4. Conditionals<span class="labellink"><a href="#sec:conditionals">[link]</a></span></h2><!-- end of section header -->
+
+<p>
+There are two types of conditional commands provided by
+<a id="wrglossary.950"></a><a href="#glo:pkg.datatool-base"><span class="styfmt">datatool-base</span></a>: those with <code class="code">{<span class="meta">&#x2329;<em class="metainner">true</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">false</em>&#x232a;</span>}</code>
+arguments (such as <a id="wrglossary.951"></a><a href="#glo:DTLifint"><code class="csfmt">\DTLifint</code></a>) or case arguments (such as
+<a id="wrglossary.952"></a><a href="#glo:DTLifcasedatatype"><code class="csfmt">\DTLifcasedatatype</code></a>) and those that are designed to be used in
+the conditional part of <a id="wrglossary.953"></a><a href="#glo:ifthenelse"><code class="csfmt">\ifthenelse</code></a> (provided by the
+<a id="wrglossary.954"></a><a href="#glo:pkg.ifthen"><span class="styfmt">ifthen</span></a> package). The first type have command names that start
+&#x201c;<code class="qtt">DTLif</code>&#x201d; or &#x201c;<code class="qtt">dtlif</code>&#x201d; and are described in
+&#xa7;<a href="#sec:ifconditions">2.4.1</a>, and the second type have command
+names starting <span class="qt">&#x201c;DTLis&#x201d;</span> and are described in
+&#xa7;<a href="#sec:ifthen">2.4.2</a>.
+<p>
+
+</section><!-- end of section sec:conditionals -->
+
+<section id="sec:ifconditions"><!-- start of section sec:ifconditions --><div class="tomain"><a href="#main">[top]</a></div>
+<h3><!-- start of subsection header -->2.4.1. If-Else or Case Conditionals<span class="labellink"><a href="#sec:ifconditions">[link]</a></span></h3><!-- end of subsection header -->
+
+<p>
+The <a id="wrglossary.955"></a><a href="#glo:idx.robust">robust</a> commands listed in &#xa7;<a href="#sec:strif">2.4.1.2</a>, such as
+<a id="wrglossary.956"></a><a href="#glo:DTLifstringeq"><code class="csfmt">\DTLifstringeq</code></a>, treat their
+arguments as strings. For example, <a id="wrglossary.957"></a><a href="#glo:DTLifstringlt"><code class="csfmt">\DTLifstringlt</code></a> is a 
+test if one string is lexicographical less than another.
+<p>
+The <a id="wrglossary.958"></a><a href="#glo:idx.robust">robust</a> numeric &#x201c;<code class="qtt">DTLif</code>&#x201d; commands listed in
+&#xa7;<a href="#sec:fmtnumif">2.4.1.3</a>, such as <a id="wrglossary.959"></a><a href="#glo:DTLifnumeq"><code class="csfmt">\DTLifnumeq</code></a>, expect
+<a id="wrglossary.960"></a><a href="#glo:dual.formattednumber">formatted numbers</a> or <a id="wrglossary.961"></a><a href="#glo:dual.datumcs">datum control sequences</a> in the numeric arguments.
+If you know that all your values are <a id="wrglossary.962"></a><a href="#glo:dual.plainnumber">plain numbers</a>, the
+&#x201c;<code class="qtt">dtlif</code>&#x201d; listed in &#xa7;<a href="#sec:plainnumif">2.4.1.4</a> commands are
+quicker. 
+<p>
+Numeric commands listed in &#xa7;<a href="#sec:plainnumif">2.4.1.4</a>, such as
+<a id="wrglossary.963"></a><a href="#glo:dtlifnumeq"><code class="csfmt">\dtlifnumeq</code></a>, don&#x2019;t parse for the current <a id="wrglossary.964"></a><a href="#glo:idx.decimalchar">decimal character</a> and
+<a id="wrglossary.965"></a><a href="#glo:idx.numbergroupchar">number group character</a> or for a <a id="wrglossary.966"></a><a href="#glo:idx.currencysym">currency symbol</a>. They require a
+<a id="wrglossary.967"></a><a href="#glo:dual.plainnumber">plain number</a>, either a bare integer (such as 12345) or a number
+with a <a id="wrglossary.968"></a><a href="#glo:idx.decimalpoint">decimal point</a> (such as 1234.5). These commands are
+listed as being provided by <a id="wrglossary.969"></a><a href="#glo:pkg.datatool-base"><span class="styfmt">datatool-base</span></a>, but are actually
+defined in the maths processor file <span class="filefmt">datatool-</span><span class="meta">&#x2329;<em class="metainner">processor</em>&#x232a;</span><span class="filefmt">.def</span> corresponding to the value of the <a id="wrglossary.970"></a><a href="#glo:opt.math"><span class="styoptfmt">math</span></a>
+package option. With <a id="wrglossary.971"></a><a href="#glo:opt.math"><span class="styoptfmt">math</span></a><span class="optfmt">=</span><a id="wrglossary.972"></a><a href="#glo:optval.math.l3fp"><span class="optfmt">l3fp</span></a> or
+<a id="wrglossary.973"></a><a href="#glo:opt.math"><span class="styoptfmt">math</span></a><span class="optfmt">=</span><a id="wrglossary.974"></a><a href="#glo:optval.math.lua"><span class="optfmt">lua</span></a>, these commands are <a id="wrglossary.975"></a><a href="#glo:dual.expansion">expandable</a> but
+with <a id="wrglossary.976"></a><a href="#glo:opt.math"><span class="styoptfmt">math</span></a><span class="optfmt">=</span><a id="wrglossary.977"></a><a href="#glo:optval.math.fp"><span class="optfmt">fp</span></a> or <a id="wrglossary.978"></a><a href="#glo:opt.math"><span class="styoptfmt">math</span></a><span class="optfmt">=</span><a id="wrglossary.979"></a><a href="#glo:optval.math.pgfmath"><span class="optfmt">pgfmath</span></a> they are
+<a id="wrglossary.980"></a><a href="#glo:idx.robust">robust</a>. Note that the <a id="wrglossary.981"></a><a href="#glo:pkg.fp"><span class="styfmt">fp</span></a> package doesn&#x2019;t support
+scientific notation.
+<p>
+The multi-type <a id="wrglossary.982"></a><a href="#glo:idx.robust">robust</a> commands listed in &#xa7;<a href="#sec:strnumif">2.4.1.5</a>, such
+as <a id="wrglossary.983"></a><a href="#glo:DTLifeq"><code class="csfmt">\DTLifeq</code></a>, parse the arguments to determine the data type and
+then use the corresponding command from &#xa7;<a href="#sec:fmtnumif">2.4.1.3</a> or
+&#xa7;<a href="#sec:strif">2.4.1.2</a>.
+<p>
+
+</section><!-- end of section sec:ifconditions -->
+
+<section id="sec:ifdatatype"><!-- start of section sec:ifdatatype --><div class="tomain"><a href="#main">[top]</a></div>
+<h4><!-- start of subsubsection header -->2.4.1.1. Data Type Conditionals<span class="labellink"><a href="#sec:ifdatatype">[link]</a></span></h4><!-- end of subsubsection header -->
+
+<p>
+The commands described in this section test the data type of the
+argument according to the current settings for the
+<a id="wrglossary.984"></a><a href="#glo:idx.numbergroupchar">number group character</a> and <a id="wrglossary.985"></a><a href="#glo:idx.decimalchar">decimal character</a> and recognised
+<a id="wrglossary.986"></a><a href="#glo:idx.currencysym">currency symbols</a>.
+<p>
+<div class="information"><div class="informationtitle"><a href="#glo:sym.information"><span title="Information" class="icon">&#x1f6c8;</span></a></div><!-- end of informationtitle -->
+Note that you can also use <a id="wrglossary.987"></a><a href="#glo:DTLdatumtype"><code class="csfmt">\DTLdatumtype</code></a> on a <a id="wrglossary.988"></a><a href="#glo:dual.datumcs">datum control sequence</a>
+(obtained with <a id="wrglossary.989"></a><a href="#glo:DTLparse"><code class="csfmt">\DTLparse</code></a> or <a id="wrglossary.990"></a><a href="#glo:DTLxparse"><code class="csfmt">\DTLxparse</code></a>) to determine the
+data type.
+</div><!-- end of information -->
+
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.991"></a><code class="code"><dfn id="glo:DTLifint"><code class="csfmt">\DTLifint</code></dfn>{<span class="meta">&#x2329;<em class="metainner">arg</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">true</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">false</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+Parses <span class="meta">&#x2329;<em class="metainner">arg</em>&#x232a;</span> and does <span class="meta">&#x2329;<em class="metainner">true</em>&#x232a;</span> if <span class="meta">&#x2329;<em class="metainner">arg</em>&#x232a;</span> is an
+integer <a id="wrglossary.992"></a><a href="#glo:dual.formattednumber">formatted number</a>, otherwise it does <span class="meta">&#x2329;<em class="metainner">false</em>&#x232a;</span>.
+Note that if <span class="meta">&#x2329;<em class="metainner">arg</em>&#x232a;</span> is a decimal or currency this command will
+do <span class="meta">&#x2329;<em class="metainner">false</em>&#x232a;</span>. The <a id="wrglossary.993"></a><a href="#glo:idx.numbergroupchar">number group character</a> is optional but, if
+present, if must be at intervals of three digits (from the right).
+See Example <a href="#ex:ifint">13</a>.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.994"></a><code class="code"><dfn id="glo:DTLifreal"><code class="csfmt">\DTLifreal</code></dfn>{<span class="meta">&#x2329;<em class="metainner">arg</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">true</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">false</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+Parses <span class="meta">&#x2329;<em class="metainner">arg</em>&#x232a;</span> and does <span class="meta">&#x2329;<em class="metainner">true</em>&#x232a;</span> if <span class="meta">&#x2329;<em class="metainner">arg</em>&#x232a;</span> is a
+real (decimal) <a id="wrglossary.995"></a><a href="#glo:dual.formattednumber">formatted number</a> or is in scientific notation, 
+otherwise it does <span class="meta">&#x2329;<em class="metainner">false</em>&#x232a;</span>.
+Note that if <span class="meta">&#x2329;<em class="metainner">arg</em>&#x232a;</span> is an integer or currency this command will
+do <span class="meta">&#x2329;<em class="metainner">false</em>&#x232a;</span> (even though integers are technically a subset of
+real numbers). The <a id="wrglossary.996"></a><a href="#glo:idx.numbergroupchar">number group character</a> is optional but, if
+present, if must be at intervals of three digits (left of the
+<a id="wrglossary.997"></a><a href="#glo:idx.decimalchar">decimal character</a>). See Example <a href="#ex:ifreal">14</a>.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.998"></a><code class="code"><dfn id="glo:DTLifcurrency"><code class="csfmt">\DTLifcurrency</code></dfn>{<span class="meta">&#x2329;<em class="metainner">arg</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">true</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">false</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+Parses <span class="meta">&#x2329;<em class="metainner">arg</em>&#x232a;</span> and does <span class="meta">&#x2329;<em class="metainner">true</em>&#x232a;</span> if <span class="meta">&#x2329;<em class="metainner">arg</em>&#x232a;</span> is a
+currency <a id="wrglossary.999"></a><a href="#glo:dual.formattednumber">formatted number</a>, otherwise it does <span class="meta">&#x2329;<em class="metainner">false</em>&#x232a;</span> (see
+Example <a href="#ex:ifcurr">15</a>).
+Note that if <span class="meta">&#x2329;<em class="metainner">arg</em>&#x232a;</span> is an integer or decimal without a currency
+prefix this command will do <span class="meta">&#x2329;<em class="metainner">false</em>&#x232a;</span>.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.1000"></a><code class="code"><dfn id="glo:DTLifcurrencyunit"><code class="csfmt">\DTLifcurrencyunit</code></dfn>{<span class="meta">&#x2329;<em class="metainner">arg</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">symbol</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">true</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">false</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+Parses <span class="meta">&#x2329;<em class="metainner">arg</em>&#x232a;</span> and does <span class="meta">&#x2329;<em class="metainner">true</em>&#x232a;</span> if <span class="meta">&#x2329;<em class="metainner">arg</em>&#x232a;</span> is a
+recognised currency <a id="wrglossary.1001"></a><a href="#glo:dual.formattednumber">formatted number</a> and uses the currency 
+<span class="meta">&#x2329;<em class="metainner">symbol</em>&#x232a;</span>, otherwise it does <span class="meta">&#x2329;<em class="metainner">false</em>&#x232a;</span> (see
+Example <a href="#ex:ifcurr">15</a>).
+Note that if <span class="meta">&#x2329;<em class="metainner">arg</em>&#x232a;</span> is an integer or decimal this command will
+do <span class="meta">&#x2329;<em class="metainner">false</em>&#x232a;</span>. Rather than repeatedly parsing the same <span class="meta">&#x2329;<em class="metainner">arg</em>&#x232a;</span>,
+you may prefer to use <a id="wrglossary.1002"></a><a href="#glo:DTLparse"><code class="csfmt">\DTLparse</code></a>.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.1003"></a><code class="code"><dfn id="glo:DTLifnumerical"><code class="csfmt">\DTLifnumerical</code></dfn>{<span class="meta">&#x2329;<em class="metainner">arg</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">true</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">false</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+Parses <span class="meta">&#x2329;<em class="metainner">arg</em>&#x232a;</span> and does <span class="meta">&#x2329;<em class="metainner">true</em>&#x232a;</span> if <span class="meta">&#x2329;<em class="metainner">arg</em>&#x232a;</span> is numerical,
+otherwise it does <span class="meta">&#x2329;<em class="metainner">false</em>&#x232a;</span>, where numerical means a
+<a id="wrglossary.1004"></a><a href="#glo:dual.formattednumber">formatted number</a> that may be an integer, real number, currency
+or temporal (see Example <a href="#ex:ifnum">16</a>).
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.1005"></a><code class="code"><dfn id="glo:DTLiftemporal"><code class="csfmt">\DTLiftemporal</code></dfn>{<span class="meta">&#x2329;<em class="metainner">arg</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">true</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">false</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+Parses <span class="meta">&#x2329;<em class="metainner">arg</em>&#x232a;</span> and does <span class="meta">&#x2329;<em class="metainner">true</em>&#x232a;</span> if <span class="meta">&#x2329;<em class="metainner">arg</em>&#x232a;</span> is temporal,
+otherwise it does <span class="meta">&#x2329;<em class="metainner">false</em>&#x232a;</span>, where temporal means a timestamp
+(date, time and, optionally, a time zone), a date (year, month, and
+day) or time (hours, minutes, and, optionally, seconds).
+Temporal types are considered numerical and may be used in numerical
+calculations but the result will be in UTC+0 for timestamps.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.1006"></a><code class="code"><dfn id="glo:DTLifstring"><code class="csfmt">\DTLifstring</code></dfn>{<span class="meta">&#x2329;<em class="metainner">arg</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">true</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">false</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+Parses <span class="meta">&#x2329;<em class="metainner">arg</em>&#x232a;</span> and does <span class="meta">&#x2329;<em class="metainner">true</em>&#x232a;</span> if <span class="meta">&#x2329;<em class="metainner">arg</em>&#x232a;</span> is a string,
+otherwise it does <span class="meta">&#x2329;<em class="metainner">false</em>&#x232a;</span>. This is essentially like the reverse
+of <a id="wrglossary.1007"></a><a href="#glo:DTLifnumerical"><code class="csfmt">\DTLifnumerical</code></a> except in the case of an empty argument,
+which has an unknown type, and so is neither numerical nor a string.
+See Example <a href="#ex:ifstr">17</a>.
+<p>
+<div class="pinnedbox"><div class="pinnedboxtitle"><a href="#glo:sym.definition"><span title="Definition" class="icon">&#x1f4cc;</span></a></div><!-- end of pinnedboxtitle -->
+<a id="wrglossary.1008"></a><code class="code"><dfn id="glo:DTLifcasedatatype"><code class="csfmt">\DTLifcasedatatype</code></dfn>{<span class="meta">&#x2329;<em class="metainner">arg</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">string case</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">int case</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">real case</em>&#x232a;</span>}{<span class="meta">&#x2329;<em class="metainner">currency case</em>&#x232a;</span>}</code></div><!-- end of pinnedbox -->
+
+This command parses <span class="meta">&#x2329;<em class="metainner">arg</em>&#x232a;</span> and does <span class="meta">&#x2329;<em class="metainner">string case</em>&#x232a;</span> if
+<span class="meta">&#x2329;<em class="metainner">arg</em>&#x232a;</span> is a string, <span class="meta">&#x2329;<em class="metainner">int case</em>&#x232a;</span> if <span class="meta">&#x2329;<em class="metainner">arg</em>&#x232a;</span> is an integer,
+<span class="meta">&#x2329;<em class="metainner">real case</em>&#x232a;</span> if <span class="meta">&#x2329;<em class="metainner">arg</em>&#x232a;</span> is a real number (decimal) or
+<span class="meta">&#x2329;<em class="metainner">currency case</em>&#x232a;</span> if <span class="meta">&#x2329;<em class="metainner">arg</em>&#x232a;</span> is a currency (according to the
+current <a id="wrglossary.1009"></a><a href="#glo:idx.numbergroupchar">number group character</a>, <a id="wrglossary.1010"></a><a href="#glo:idx.decimalchar">decimal character</a> and
+known <a id="wrglossary.1011"></a><a href="#glo:idx.currencysym">currency symbols</a>). Note that an empty argument,
+which has an unknown type, or a temporal value will do nothing.
+See Example <a href="#ex:ifcasedata">18</a>. This command is retained for
+backward-compatibility but lacks the ability to detect new data
+types.
+<p>
+
+</section><!-- end of section sec:ifdatatype -->
+
+<section id="sec:ifintex"><!-- start of section sec:ifintex --><div class="tomain"><a href="#main">[top]</a></div>
+<h5><!-- start of paragraph header -->2.4.1.1.1. Test if Integer Example<span class="labellink"><a href="#sec:ifintex">[link]</a></span></h5><!-- end of paragraph header -->
+
+<p>
+<div class="marginright"><a id="ex:ifint-backref">&#x1f5b9;</a><a href="#ex:ifint">13</a></div>Example <a href="#ex:ifint">13</a> uses <a id="wrglossary.1012"></a><a href="#glo:DTLifint"><code class="csfmt">\DTLifint</code></a> to determine if the
+argument is an integer according to the current localisation
+setting.
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div>2536: <a id="wrglossary.1013"></a><a href="#glo:DTLifint"><code class="csfmt">\DTLifint</code></a>{2536}{integer}{not an integer}.
+
+2536.0: <a id="wrglossary.1014"></a><a href="#glo:DTLifint"><code class="csfmt">\DTLifint</code></a>{2536.0}{integer}{not an integer}.
+
+2,536: <a id="wrglossary.1015"></a><a href="#glo:DTLifint"><code class="csfmt">\DTLifint</code></a>{2,536}{integer}{not an integer}.
+
+2,5,3,6: <a id="wrglossary.1016"></a><a href="#glo:DTLifint"><code class="csfmt">\DTLifint</code></a>{2,5,3,6}{integer}{not an integer}.
+
+<a id="wrglossary.1017"></a><a href="#glo:DTLparse"><code class="csfmt">\DTLparse</code></a>{<code class="cmd">\numA</code>}{2,536}
+<code class="cmd">\numA</code>: <a id="wrglossary.1018"></a><a href="#glo:DTLifint"><code class="csfmt">\DTLifint</code></a>{<code class="cmd">\numA</code>}{integer}{not an integer}.
+
+<a id="wrglossary.1019"></a><a href="#glo:DTLsetnumberchars"><code class="csfmt">\DTLsetnumberchars</code></a>{.}{,}<span class="comment">% </span>
+2,536: <a id="wrglossary.1020"></a><a href="#glo:DTLifint"><code class="csfmt">\DTLifint</code></a>{2,536}{integer}{not an integer}.
+
+2.536: <a id="wrglossary.1021"></a><a href="#glo:DTLifint"><code class="csfmt">\DTLifint</code></a>{2.536}{integer}{not an integer}.
+
+<code class="cmd">\numA</code>: <a id="wrglossary.1022"></a><a href="#glo:DTLifint"><code class="csfmt">\DTLifint</code></a>{<code class="cmd">\numA</code>}{integer}{not an integer}.
+</pre>
+<div class="resultbox"><div class="resultboxtitle"><a href="#glo:sym.result"><span title="Result" class="icon">&#x1f5ba;</span></a></div><!-- end of resultboxtitle -->
+<a href="#sec:ifintex"><span title="Up" class="icon">&#x2b71;</span></a><a id="ex:ifint"></a>Example 13: Test for Integer Value <a href="datatool-user-examples/datatool-user-example013.tex" class="icon"><span title="Download TeX File" class="icon">&#x1f4e5;<sup>&#x1f5b9;</sup></span></a> <a href="datatool-user-examples/datatool-user-example013.pdf" class="icon"><span title="Download PDF" class="icon">&#x1f4e5;<sup>&#x1f5ba;</sup></span></a>
+<p>
+<object data="datatool-user-examples/datatool-user-example013.png" type="image/png" width="116" height="113">Example document illustrating integer tests.</object>
+</div><!-- end of resultbox -->
+
+Note that the <a id="wrglossary.1023"></a><a href="#glo:dual.datumcs">datum control sequence</a> <code class="csfmt">\numA</code> is still identified as an
+integer after <a id="wrglossary.1024"></a><a href="#glo:DTLsetnumberchars"><code class="csfmt">\DTLsetnumberchars</code></a> even though it uses the
+original <a id="wrglossary.1025"></a><a href="#glo:idx.numbergroupchar">number group character</a> and <a id="wrglossary.1026"></a><a href="#glo:idx.decimalchar">decimal character</a>. This is
+because once the <a id="wrglossary.1027"></a><a href="#glo:dual.datumcs">datum control sequence</a> has had its data type set there&#x2019;s no
+need to reparse its value.
+<p>
+
+</section><!-- end of section sec:ifintex -->
+
+<section id="sec:ifrealex"><!-- start of section sec:ifrealex --><div class="tomain"><a href="#main">[top]</a></div>
+<h5><!-- start of paragraph header -->2.4.1.1.2. Test if Decimal Example<span class="labellink"><a href="#sec:ifrealex">[link]</a></span></h5><!-- end of paragraph header -->
+
+<p>
+<div class="marginright"><a id="ex:ifreal-backref">&#x1f5b9;</a><a href="#ex:ifreal">14</a></div>Example <a href="#ex:ifreal">14</a> uses <a id="wrglossary.1028"></a><a href="#glo:DTLifreal"><code class="csfmt">\DTLifreal</code></a> to determine if the
+argument is a decimal according to the current localisation
+setting. Note that although integers are a subset of real numbers, 
+this test will only be true if the argument has a fractional part or
+is in scientific notation.
+<p>
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div>1000.0: <a id="wrglossary.1029"></a><a href="#glo:DTLifreal"><code class="csfmt">\DTLifreal</code></a>{1000.0}{real}{not real}.
+
+1,000: <a id="wrglossary.1030"></a><a href="#glo:DTLifreal"><code class="csfmt">\DTLifreal</code></a>{1,000}{real}{not real}.
+
+1,000.0: <a id="wrglossary.1031"></a><a href="#glo:DTLifreal"><code class="csfmt">\DTLifreal</code></a>{1,000.0}{real}{not real}.
+
+1e+3: <a id="wrglossary.1032"></a><a href="#glo:DTLifreal"><code class="csfmt">\DTLifreal</code></a>{1e+3}{real}{not real}.
+
+<a id="wrglossary.1033"></a><a href="#glo:DTLsetnumberchars"><code class="csfmt">\DTLsetnumberchars</code></a>{.}{,}<span class="comment">% </span>
+1,000.0: <a id="wrglossary.1034"></a><a href="#glo:DTLifreal"><code class="csfmt">\DTLifreal</code></a>{1,000.0}{real}{not real}.
+
+1.000,0: <a id="wrglossary.1035"></a><a href="#glo:DTLifreal"><code class="csfmt">\DTLifreal</code></a>{1.000,0}{real}{not real}.
+</pre>
+<div class="resultbox"><div class="resultboxtitle"><a href="#glo:sym.result"><span title="Result" class="icon">&#x1f5ba;</span></a></div><!-- end of resultboxtitle -->
+<a href="#sec:ifrealex"><span title="Up" class="icon">&#x2b71;</span></a><a id="ex:ifreal"></a>Example 14: Test for Real Value <a href="datatool-user-examples/datatool-user-example014.tex" class="icon"><span title="Download TeX File" class="icon">&#x1f4e5;<sup>&#x1f5b9;</sup></span></a> <a href="datatool-user-examples/datatool-user-example014.pdf" class="icon"><span title="Download PDF" class="icon">&#x1f4e5;<sup>&#x1f5ba;</sup></span></a>
+<p>
+<object data="datatool-user-examples/datatool-user-example014.png" type="image/png" width="86" height="84">Example document illustrating decimal tests.</object>
+</div><!-- end of resultbox -->
+
+<p>
+
+</section><!-- end of section sec:ifrealex -->
+
+<section id="sec:ifcurrex"><!-- start of section sec:ifcurrex --><div class="tomain"><a href="#main">[top]</a></div>
+<h5><!-- start of paragraph header -->2.4.1.1.3. Test if Currency Example<span class="labellink"><a href="#sec:ifcurrex">[link]</a></span></h5><!-- end of paragraph header -->
+
+<p>
+<div class="marginright"><a id="ex:ifcurr-backref">&#x1f5b9;</a><a href="#ex:ifcurr">15</a></div>Example <a href="#ex:ifcurr">15</a> uses <a id="wrglossary.1036"></a><a href="#glo:DTLifcurrency"><code class="csfmt">\DTLifcurrency</code></a> and
+<a id="wrglossary.1037"></a><a href="#glo:DTLifcurrencyunit"><code class="csfmt">\DTLifcurrencyunit</code></a> to determine if the argument is a currency
+value or a <a id="wrglossary.1038"></a><a href="#glo:idx.currencysym">currency symbol</a> according to the current localisation
+setting and defined <a id="wrglossary.1039"></a><a href="#glo:idx.currencysym">currency symbols</a>. 
+<p>
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div><a id="wrglossary.1040"></a><a href="#glo:cs.dollar">\$</a>5.99: <a id="wrglossary.1041"></a><a href="#glo:DTLifcurrency"><code class="csfmt">\DTLifcurrency</code></a>{<a id="wrglossary.1042"></a><a href="#glo:cs.dollar">\$</a>5.99}{currency}{not currency}.
+
+<a id="wrglossary.1043"></a><a href="#glo:DTLcurrency"><code class="csfmt">\DTLcurrency</code></a>{5.99}:
+<a id="wrglossary.1044"></a><a href="#glo:DTLifcurrency"><code class="csfmt">\DTLifcurrency</code></a>{<a id="wrglossary.1045"></a><a href="#glo:DTLcurrency"><code class="csfmt">\DTLcurrency</code></a>{5.99}}{currency}{not currency}.
+
+<a id="wrglossary.1046"></a><a href="#glo:pounds"><code class="csfmt">\pounds</code></a>5.99:
+<a id="wrglossary.1047"></a><a href="#glo:DTLifcurrency"><code class="csfmt">\DTLifcurrency</code></a>{<a id="wrglossary.1048"></a><a href="#glo:pounds"><code class="csfmt">\pounds</code></a>5.99}{currency}{not currency}.
+
+<a id="wrglossary.1049"></a><a href="#glo:textsterling"><code class="csfmt">\textsterling</code></a>5.99:
+<a id="wrglossary.1050"></a><a href="#glo:DTLifcurrency"><code class="csfmt">\DTLifcurrency</code></a>{<a id="wrglossary.1051"></a><a href="#glo:textsterling"><code class="csfmt">\textsterling</code></a>5.99}{currency}{not currency}.
+
+<a id="wrglossary.1052"></a><a href="#glo:cs.dollar">\$</a>6.99:
+<a id="wrglossary.1053"></a><a href="#glo:DTLifcurrencyunit"><code class="csfmt">\DTLifcurrencyunit</code></a>{<a id="wrglossary.1054"></a><a href="#glo:cs.dollar">\$</a>6.99}{<a id="wrglossary.1055"></a><a href="#glo:cs.dollar">\$</a>}{dollars}{not dollars}.
+
+<code class="cmd">\newcommand</code>{<code class="cmd">\cost</code>}{<a id="wrglossary.1056"></a><a href="#glo:pounds"><code class="csfmt">\pounds</code></a>10.50}<span class="comment">% </span>
+<code class="cmd">\cost</code>: <a id="wrglossary.1057"></a><a href="#glo:DTLifcurrencyunit"><code class="csfmt">\DTLifcurrencyunit</code></a>{<code class="cmd">\cost</code>}{<a id="wrglossary.1058"></a><a href="#glo:pounds"><code class="csfmt">\pounds</code></a>}{pounds}{not pounds}.
+
+US<a id="wrglossary.1059"></a><a href="#glo:cs.dollar">\$</a>5.99:
+<a id="wrglossary.1060"></a><a href="#glo:DTLifcurrency"><code class="csfmt">\DTLifcurrency</code></a>{US<a id="wrglossary.1061"></a><a href="#glo:cs.dollar">\$</a>}{currency}{not currency}.
+
+<a id="wrglossary.1062"></a><a href="#glo:DTLnewcurrencysymbol"><code class="csfmt">\DTLnewcurrencysymbol</code></a>{US<a id="wrglossary.1063"></a><a href="#glo:cs.dollar">\$</a>}<span class="comment">% </span>
+US<a id="wrglossary.1064"></a><a href="#glo:cs.dollar">\$</a>5.99:
+<a id="wrglossary.1065"></a><a href="#glo:DTLifcurrency"><code class="csfmt">\DTLifcurrency</code></a>{US<a id="wrglossary.1066"></a><a href="#glo:cs.dollar">\$</a>}{currency}{not currency}.
+</pre>
+<div class="resultbox"><div class="resultboxtitle"><a href="#glo:sym.result"><span title="Result" class="icon">&#x1f5ba;</span></a></div><!-- end of resultboxtitle -->
+<a href="#sec:ifcurrex"><span title="Up" class="icon">&#x2b71;</span></a><a id="ex:ifcurr"></a>Example 15: Test for Currency <a href="datatool-user-examples/datatool-user-example015.tex" class="icon"><span title="Download TeX File" class="icon">&#x1f4e5;<sup>&#x1f5b9;</sup></span></a> <a href="datatool-user-examples/datatool-user-example015.pdf" class="icon"><span title="Download PDF" class="icon">&#x1f4e5;<sup>&#x1f5ba;</sup></span></a>
+<p>
+<object data="datatool-user-examples/datatool-user-example015.png" type="image/png" width="117" height="114">Example document demonstrating tests for currency
+values.</object>
+</div><!-- end of resultbox -->
+
+<p>
+
+</section><!-- end of section sec:ifcurrex -->
+
+<section id="sec:ifnumex"><!-- start of section sec:ifnumex --><div class="tomain"><a href="#main">[top]</a></div>
+<h5><!-- start of paragraph header -->2.4.1.1.4. Test if Numerical Example<span class="labellink"><a href="#sec:ifnumex">[link]</a></span></h5><!-- end of paragraph header -->
+
+<p>
+<div class="marginright"><a id="ex:ifnum-backref">&#x1f5b9;</a><a href="#ex:ifnum">16</a></div>Example <a href="#ex:ifnum">16</a> uses <a id="wrglossary.1067"></a><a href="#glo:DTLifnumerical"><code class="csfmt">\DTLifnumerical</code></a> to determine if the
+argument is numerical (integer, real or currency value) according to 
+the current localisation setting and defined <a id="wrglossary.1068"></a><a href="#glo:idx.currencysym">currency symbols</a>.
+<p>
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div>1,234: <a id="wrglossary.1069"></a><a href="#glo:DTLifnumerical"><code class="csfmt">\DTLifnumerical</code></a>{1,234}{numeric}{not numeric}.
+
+1,234.0: <a id="wrglossary.1070"></a><a href="#glo:DTLifnumerical"><code class="csfmt">\DTLifnumerical</code></a>{1,234.0}{numeric}{not numeric}.
+
+<a id="wrglossary.1071"></a><a href="#glo:cs.dollar">\$</a>1,234.0:
+<a id="wrglossary.1072"></a><a href="#glo:DTLifnumerical"><code class="csfmt">\DTLifnumerical</code></a>{<a id="wrglossary.1073"></a><a href="#glo:cs.dollar">\$</a>1,234.0}{numeric}{not numeric}.
+
+1.234,0: <a id="wrglossary.1074"></a><a href="#glo:DTLifnumerical"><code class="csfmt">\DTLifnumerical</code></a>{1.234,0}{numeric}{not numeric}.
+
+<a id="wrglossary.1075"></a><a href="#glo:DTLsetnumberchars"><code class="csfmt">\DTLsetnumberchars</code></a>{.}{,}<span class="comment">% </span>
+1.234,0: <a id="wrglossary.1076"></a><a href="#glo:DTLifnumerical"><code class="csfmt">\DTLifnumerical</code></a>{1.234,0}{numeric}{not numeric}.
+
+Empty: <a id="wrglossary.1077"></a><a href="#glo:DTLifnumerical"><code class="csfmt">\DTLifnumerical</code></a>{}{numeric}{not numeric}.
+</pre>
+<div class="resultbox"><div class="resultboxtitle"><a href="#glo:sym.result"><span title="Result" class="icon">&#x1f5ba;</span></a></div><!-- end of resultboxtitle -->
+<a href="#sec:ifnumex"><span title="Up" class="icon">&#x2b71;</span></a><a id="ex:ifnum"></a>Example 16: Test for Numerical <a href="datatool-user-examples/datatool-user-example016.tex" class="icon"><span title="Download TeX File" class="icon">&#x1f4e5;<sup>&#x1f5b9;</sup></span></a> <a href="datatool-user-examples/datatool-user-example016.pdf" class="icon"><span title="Download PDF" class="icon">&#x1f4e5;<sup>&#x1f5ba;</sup></span></a>
+<p>
+<object data="datatool-user-examples/datatool-user-example016.png" type="image/png" width="109" height="84">Example document demonstrating tests for numeric
+values.</object>
+</div><!-- end of resultbox -->
+
+<p>
+
+</section><!-- end of section sec:ifnumex -->
+
+<section id="sec:ifstrex"><!-- start of section sec:ifstrex --><div class="tomain"><a href="#main">[top]</a></div>
+<h5><!-- start of paragraph header -->2.4.1.1.5. Test if String Example<span class="labellink"><a href="#sec:ifstrex">[link]</a></span></h5><!-- end of paragraph header -->
+
+<p>
+<div class="marginright"><a id="ex:ifstr-backref">&#x1f5b9;</a><a href="#ex:ifstr">17</a></div>Example <a href="#ex:ifstr">17</a> uses <a id="wrglossary.1078"></a><a href="#glo:DTLifstring"><code class="csfmt">\DTLifstring</code></a> to test if the argument
+is considered a string (that is, not numeric and not empty).
+<p>
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div>1,234: <a id="wrglossary.1079"></a><a href="#glo:DTLifstring"><code class="csfmt">\DTLifstring</code></a>{1,234}{string}{not string}.
+
+<a id="wrglossary.1080"></a><a href="#glo:cs.dollar">\$</a>1,234.0: <a id="wrglossary.1081"></a><a href="#glo:DTLifstring"><code class="csfmt">\DTLifstring</code></a>{<a id="wrglossary.1082"></a><a href="#glo:cs.dollar">\$</a>1,234.0}{string}{not string}.
+
+1,2,3,4: <a id="wrglossary.1083"></a><a href="#glo:DTLifstring"><code class="csfmt">\DTLifstring</code></a>{1,2,3,4}{string}{not string}.
+
+Empty: <a id="wrglossary.1084"></a><a href="#glo:DTLifstring"><code class="csfmt">\DTLifstring</code></a>{}{string}{not string}.
+</pre>
+<div class="resultbox"><div class="resultboxtitle"><a href="#glo:sym.result"><span title="Result" class="icon">&#x1f5ba;</span></a></div><!-- end of resultboxtitle -->
+<a href="#sec:ifstrex"><span title="Up" class="icon">&#x2b71;</span></a><a id="ex:ifstr"></a>Example 17: Test for Strings <a href="datatool-user-examples/datatool-user-example017.tex" class="icon"><span title="Download TeX File" class="icon">&#x1f4e5;<sup>&#x1f5b9;</sup></span></a> <a href="datatool-user-examples/datatool-user-example017.pdf" class="icon"><span title="Download PDF" class="icon">&#x1f4e5;<sup>&#x1f5ba;</sup></span></a>
+<p>
+<object data="datatool-user-examples/datatool-user-example017.png" type="image/png" width="103" height="55">Example document demonstrating tests for string
+(non-numeric) values.</object>
+</div><!-- end of resultbox -->
+
+<p>
+
+</section><!-- end of section sec:ifstrex -->
+
+<section id="sec:ifcasedataex"><!-- start of section sec:ifcasedataex --><div class="tomain"><a href="#main">[top]</a></div>
+<h5><!-- start of paragraph header -->2.4.1.1.6. Test Data Type Example<span class="labellink"><a href="#sec:ifcasedataex">[link]</a></span></h5><!-- end of paragraph header -->
+
+<p>
+<div class="marginright"><a id="ex:ifcasedata-backref">&#x1f5b9;</a><a href="#ex:ifcasedata">18</a></div>Example <a href="#ex:ifcasedata">18</a> uses <a id="wrglossary.1085"></a><a href="#glo:DTLifcasedatatype"><code class="csfmt">\DTLifcasedatatype</code></a> to determine
+the data type of its argument, according to the current localisation
+setting and known <a id="wrglossary.1086"></a><a href="#glo:idx.currencysym">currency symbols</a>.
+<p>
+<pre class="codebox"><div class="codeboxtitle"><a href="#glo:sym.code"><span title="Input" class="icon">&#x1f5b9;</span></a></div>1,234: <a id="wrglossary.1087"></a><a href="#glo:DTLifcasedatatype"><code class="csfmt">\DTLifcasedatatype</code></a>{1,234}{string}{int}{real}{currency}.
+
+1,234.0: <a id="wrglossary.1088"></a><a href="#glo:DTLifcasedatatype"><code class="csfmt">\DTLifcasedatatype</code></a>{1,234.0}{string}{int}{real}{currency}.
+
+<a id="wrglossary.1089"></a><a href="#glo:cs.dollar">\$</a>1,234: <a id="wrglossary.1090"></a><a href="#glo:DTLifcasedatatype"><code class="csfmt">\DTLifcasedatatype</code></a>{<a id="wrglossary.1091"></a><a href="#glo:cs.dollar">\$</a>1,234}{string}{int}{real}{currency}.
+
+1,2,3,4: <a id="wrglossary.1092"></a><a href="#glo:DTLifcasedatatype"><code class="csfmt">\DTLifcasedatatype</code></a>{1,2,3,4}{string}{int}{real}{currency}.
+

@@ Diff output truncated at 1234567 characters. @@


More information about the tex-live-commits mailing list.