diff options
31 files changed, 673 insertions, 380 deletions
diff --git a/Master/texmf-dist/doc/latex/datatool/CHANGES b/Master/texmf-dist/doc/latex/datatool/CHANGES index 219c569cb24..07cfaa06e69 100644 --- a/Master/texmf-dist/doc/latex/datatool/CHANGES +++ b/Master/texmf-dist/doc/latex/datatool/CHANGES @@ -1,3 +1,26 @@ +v2.32 (2019-09-27): + + * datagidx.sty: + + - added check for new 2019/10/01 LaTeX kernel when defining + \datagidxstripaccents. + + ** Pre version 2.32 accent stripping in \newterm won't work with new LaTeX kernel. ** + + * datatool-base.sty: + + - added \ifdtlcompareskipcs + (see https://www.dickimaw-books.com/bugtracker.php?action=view&key=99) + + - bug fix (\dtlcompare not finding word breaks) + (https://www.dickimaw-books.com/bugtracker.php?action=view&key=100) + + - bug fix (error if first command in assignment list is equal to \relax) + (https://www.dickimaw-books.com/bugtracker.php?action=view&key=106) + + - bug fix (removed \relax from definitions of \DTLiffirstrow and \DTLiflastrow) + (https://www.dickimaw-books.com/bugtracker.php?action=view&key=130) + v2.31 (2018-12-07): * datatool-base.sty: diff --git a/Master/texmf-dist/doc/latex/datatool/README b/Master/texmf-dist/doc/latex/datatool/README index 7e784650d6c..0e84411bf58 100644 --- a/Master/texmf-dist/doc/latex/datatool/README +++ b/Master/texmf-dist/doc/latex/datatool/README @@ -1,6 +1,6 @@ -LaTeX Bundle : datatool v2.31 +LaTeX Bundle : datatool v2.32 -Last Modified : 2018-12-07 +Last Modified : 2019-09-27 Author : Nicola Talbot diff --git a/Master/texmf-dist/doc/latex/datatool/datatool-code.pdf b/Master/texmf-dist/doc/latex/datatool/datatool-code.pdf Binary files differindex 08f7743eb0a..1415318c4b7 100644 --- a/Master/texmf-dist/doc/latex/datatool/datatool-code.pdf +++ b/Master/texmf-dist/doc/latex/datatool/datatool-code.pdf diff --git a/Master/texmf-dist/doc/latex/datatool/datatool-user.pdf b/Master/texmf-dist/doc/latex/datatool/datatool-user.pdf Binary files differindex 8001340d5e9..ea09d83b8fb 100644 --- a/Master/texmf-dist/doc/latex/datatool/datatool-user.pdf +++ b/Master/texmf-dist/doc/latex/datatool/datatool-user.pdf diff --git a/Master/texmf-dist/doc/latex/datatool/datatool-user.tex b/Master/texmf-dist/doc/latex/datatool/datatool-user.tex index 08f01e258ff..f60a4f34485 100644 --- a/Master/texmf-dist/doc/latex/datatool/datatool-user.tex +++ b/Master/texmf-dist/doc/latex/datatool/datatool-user.tex @@ -103,11 +103,11 @@ \MakeShortVerb{"} - \title{User Manual for datatool bundle version~2.31} + \title{User Manual for datatool bundle version~2.32} \author{Nicola L.C. Talbot\\ \url{http://www.dickimaw-books.com/}} - \date{2018-12-07} + \date{2019-09-27} \maketitle \pagenumbering{roman} @@ -122,7 +122,7 @@ The \styfmt{datatool} bundle comes with the following documentation: \item[\url{datatool-code.pdf}] Advanced users wishing to know more about the inner workings of all the packages provided in the \styfmt{datatool} bundle should - read \qt{Documented Code for datatool v2.31} + read \qt{Documented Code for datatool v2.32} \item[INSTALL] Installation instructions. @@ -130,6 +130,13 @@ The \styfmt{datatool} bundle comes with the following documentation: \item[README] Package summary. \end{description} +Additional online resources: +\begin{itemize} +\item \styfmt{datatool} FAQ: +\href{https://www.dickimaw-books.com/faqs/datatoolfaq.html}{dickimaw-books.com/faqs/datatoolfaq.html} +\item Bug tracker: \href{https://www.dickimaw-books.com/bugtracker.php}{dickimaw-books.com/bugtracker.php} +\item \styfmt{datatool} performance: \href{https://www.dickimaw-books.com/gallery/datatool-performance.shtml}{dickimaw-books.com/gallery/datatool-performance.shtml} +\end{itemize} \begin{important} There's an old adage, ``use the right tool for the right job.'' @@ -2266,7 +2273,26 @@ A case-sensitive comparison. \begin{definition}[\DescribeMacro\dtlicompare] \cs{dtlicompare}\marg{register}\marg{A}\marg{B} \end{definition} -A case-insensitive comparison. +A case-insensitive comparison. The two above commands work in much +the same way except that the first compares character codes and the +second compares the lowercase character codes. If control sequences +are found then the comparison is determined by the conditional: +\begin{definition}[\DescribeMacro\ifdtlcompareskipcs] +\cs{ifdtlcompareskipcs} +\end{definition} +This is switched on with: +\begin{definition}[\DescribeMacro\dtlcompareskipcstrue] +\cs{dtlcompareskipcstrue} +\end{definition} +and switched off with: +\begin{definition}[\DescribeMacro\dtlcompareskipcsfalse] +\cs{dtlcompareskipcsfalse} +\end{definition} +The default setting is false (off). If true control sequences will +be skipped. If false control sequences will considered as having the +code 0. + +There are also two comparison commands designed for indexes: \begin{definition}[\DescribeMacro\dtlwordindexcompare] \cs{dtlwordindexcompare}\marg{register}\marg{A}\marg{B} \end{definition} @@ -2276,7 +2302,7 @@ the Oxford Style Manual. \cs{dtlletterindexcompare}\marg{register}\marg{A}\marg{B} \end{definition} English letter-ordering comparison for indexes. -Those last two commands are described in more detail in +These last two commands are described in more detail in \sectionref{sec:sort}. For example: @@ -6782,9 +6808,8 @@ sets both the label and sort fields to \texttt{macedoine} but the name and text fields are set to \verb|mac\'edoine|. \begin{important} -The first letter must be grouped if it's an accent or ligature or a -character outside the range \texttt{a}\ldots\texttt{z} or -\texttt{A}\ldots\texttt{Z}. +The first letter must be grouped if it's an accent or ligature +command. \end{important} \item This example must have the sort and label fields set manually @@ -6793,29 +6818,32 @@ because the first letter has an accent: \newterm[label=elite,sort=elite]{{\'e}lite} \end{verbatim} -\item The same applies if you are using the \sty{inputenc} package: +\item This used to also apply when using the \sty{inputenc} package +with older versions of \styfmt{datatool-base} and \styfmt{mfirstuc}. +However now it's no longer necessary for accents: +\begin{verbatim} +\newterm{élite} +\end{verbatim} + +\item Commands such as \ics{oe} aren't dealt with, so you must +manually set the label and sort key: \begin{verbatim} -\newterm[label=elite,sort=elite]{{é}lite} +\newterm[label=manoeuvre,sort=manoeuvre]{man\oe uvre} \end{verbatim} \item The same applies to plural terms set explicitly: \begin{verbatim} \newterm [% - plural={{œ}sophagi},% + plural={{\oe}sophagi},% label={oesophagus},% sort={oesophagus}% ] - {{œ}sophagus} -\end{verbatim} - -\item Commands such as \ics{oe} aren't dealt with, so you must -manually set the label and sort key: -\begin{verbatim} -\newterm[label=manoeuvre,sort=manoeuvre]{man\oe uvre} + {{\oe}sophagus} \end{verbatim} -\item The same applies if you are using the \sty{inputenc} package: +\item The same applies if you are using the \sty{inputenc} package +to enter ligatures: \begin{verbatim} \newterm[label=manoeuvre,sort=manoeuvre]{manœuvre} \end{verbatim} diff --git a/Master/texmf-dist/doc/latex/datatool/samples/sample-autokeys.pdf b/Master/texmf-dist/doc/latex/datatool/samples/sample-autokeys.pdf Binary files differindex 5bde2cc5eb3..ccb2338497c 100644 --- a/Master/texmf-dist/doc/latex/datatool/samples/sample-autokeys.pdf +++ b/Master/texmf-dist/doc/latex/datatool/samples/sample-autokeys.pdf diff --git a/Master/texmf-dist/doc/latex/datatool/samples/sample-barchart.pdf b/Master/texmf-dist/doc/latex/datatool/samples/sample-barchart.pdf Binary files differindex 9cdf92def92..edc960eaf02 100644 --- a/Master/texmf-dist/doc/latex/datatool/samples/sample-barchart.pdf +++ b/Master/texmf-dist/doc/latex/datatool/samples/sample-barchart.pdf diff --git a/Master/texmf-dist/doc/latex/datatool/samples/sample-datatooltk.pdf b/Master/texmf-dist/doc/latex/datatool/samples/sample-datatooltk.pdf Binary files differindex 9c63274acfd..7eecfaa37e8 100644 --- a/Master/texmf-dist/doc/latex/datatool/samples/sample-datatooltk.pdf +++ b/Master/texmf-dist/doc/latex/datatool/samples/sample-datatooltk.pdf diff --git a/Master/texmf-dist/doc/latex/datatool/samples/sample-dict.pdf b/Master/texmf-dist/doc/latex/datatool/samples/sample-dict.pdf Binary files differindex cd16bc3eac1..10df32852e7 100644 --- a/Master/texmf-dist/doc/latex/datatool/samples/sample-dict.pdf +++ b/Master/texmf-dist/doc/latex/datatool/samples/sample-dict.pdf diff --git a/Master/texmf-dist/doc/latex/datatool/samples/sample-europecv-bib.pdf b/Master/texmf-dist/doc/latex/datatool/samples/sample-europecv-bib.pdf Binary files differindex 38abdb70441..5256e20b82c 100644 --- a/Master/texmf-dist/doc/latex/datatool/samples/sample-europecv-bib.pdf +++ b/Master/texmf-dist/doc/latex/datatool/samples/sample-europecv-bib.pdf diff --git a/Master/texmf-dist/doc/latex/datatool/samples/sample-gidx.pdf b/Master/texmf-dist/doc/latex/datatool/samples/sample-gidx.pdf Binary files differindex 66217482114..9e490252edb 100644 --- a/Master/texmf-dist/doc/latex/datatool/samples/sample-gidx.pdf +++ b/Master/texmf-dist/doc/latex/datatool/samples/sample-gidx.pdf diff --git a/Master/texmf-dist/doc/latex/datatool/samples/sample-glossary.pdf b/Master/texmf-dist/doc/latex/datatool/samples/sample-glossary.pdf Binary files differindex 59129431dd0..03132211751 100644 --- a/Master/texmf-dist/doc/latex/datatool/samples/sample-glossary.pdf +++ b/Master/texmf-dist/doc/latex/datatool/samples/sample-glossary.pdf diff --git a/Master/texmf-dist/doc/latex/datatool/samples/sample-index.pdf b/Master/texmf-dist/doc/latex/datatool/samples/sample-index.pdf Binary files differindex 16a363c58ba..d72c814fc8d 100644 --- a/Master/texmf-dist/doc/latex/datatool/samples/sample-index.pdf +++ b/Master/texmf-dist/doc/latex/datatool/samples/sample-index.pdf diff --git a/Master/texmf-dist/doc/latex/datatool/samples/sample-index.tex b/Master/texmf-dist/doc/latex/datatool/samples/sample-index.tex index 2a2673d0cc7..ce0973c20d4 100644 --- a/Master/texmf-dist/doc/latex/datatool/samples/sample-index.tex +++ b/Master/texmf-dist/doc/latex/datatool/samples/sample-index.tex @@ -70,12 +70,10 @@ % other encodings.) \newterm{macramé} - % Take care if the first letter starts with an accent. - % The initial accented letter must be grouped to ensure it works - % with \makefirstuc, but this will make the default label '{e}lite' - % rather than 'elite', so let's override the default: +\newterm{élite} -\newterm[label=elite]{{é}lite} + % Terms with ligatures need to have the label set explicitly: +\newterm[label=manoeuvre]{manœuvre} % Sometimes the default sort may not suit your requirements. In % which case you can override it: @@ -676,7 +674,8 @@ Switching to small caps Roman page numbering. \gls{ma}, \gls{macabre}, \gls{macrame}, -\gls{macedoine}. +\gls{macedoine}, +\gls{manoeuvre}. \Gls{elite}, \gls{deem}, diff --git a/Master/texmf-dist/doc/latex/datatool/samples/sample-mail-merge.pdf b/Master/texmf-dist/doc/latex/datatool/samples/sample-mail-merge.pdf Binary files differindex 3e9fa499211..8aa8160e7e1 100644 --- a/Master/texmf-dist/doc/latex/datatool/samples/sample-mail-merge.pdf +++ b/Master/texmf-dist/doc/latex/datatool/samples/sample-mail-merge.pdf diff --git a/Master/texmf-dist/doc/latex/datatool/samples/sample-piechart.pdf b/Master/texmf-dist/doc/latex/datatool/samples/sample-piechart.pdf Binary files differindex 0bce7fb05c1..e4948d91fa1 100644 --- a/Master/texmf-dist/doc/latex/datatool/samples/sample-piechart.pdf +++ b/Master/texmf-dist/doc/latex/datatool/samples/sample-piechart.pdf diff --git a/Master/texmf-dist/doc/latex/datatool/samples/sample-sort.pdf b/Master/texmf-dist/doc/latex/datatool/samples/sample-sort.pdf Binary files differindex 18eb0c79b4d..bac8a64e203 100644 --- a/Master/texmf-dist/doc/latex/datatool/samples/sample-sort.pdf +++ b/Master/texmf-dist/doc/latex/datatool/samples/sample-sort.pdf diff --git a/Master/texmf-dist/doc/latex/datatool/samples/sample-student-scores.pdf b/Master/texmf-dist/doc/latex/datatool/samples/sample-student-scores.pdf Binary files differindex 9b85095fb12..f462cf430ff 100644 --- a/Master/texmf-dist/doc/latex/datatool/samples/sample-student-scores.pdf +++ b/Master/texmf-dist/doc/latex/datatool/samples/sample-student-scores.pdf diff --git a/Master/texmf-dist/doc/latex/datatool/samples/sample-two-per-row.pdf b/Master/texmf-dist/doc/latex/datatool/samples/sample-two-per-row.pdf Binary files differindex f22fea8cc6c..3b123c90ee1 100644 --- a/Master/texmf-dist/doc/latex/datatool/samples/sample-two-per-row.pdf +++ b/Master/texmf-dist/doc/latex/datatool/samples/sample-two-per-row.pdf diff --git a/Master/texmf-dist/source/latex/datatool/datatool.dtx b/Master/texmf-dist/source/latex/datatool/datatool.dtx index 9115c37a69d..14a45e55f02 100644 --- a/Master/texmf-dist/source/latex/datatool/datatool.dtx +++ b/Master/texmf-dist/source/latex/datatool/datatool.dtx @@ -1,9 +1,12 @@ %\iffalse % datatool.dtx generated using makedtx version 1.2 (c) Nicola Talbot % Command line args: -% -macrocode "databib\.bst" +% -author "Nicola Talbot" % -codetitle "" +% -macrocode "databib\.bst" % -setambles "databib\.bst=>\nopreamble\nopostamble" +% -doc "datatool-manual.tex" +% -comment "databib\.bst" % -src "datatool-base.sty\Z=>datatool-base.sty" % -src "datatool-fp.sty\Z=>datatool-fp.sty" % -src "datatool-pgfmath.sty\Z=>datatool-pgfmath.sty" @@ -15,11 +18,8 @@ % -src "dataplot.sty\Z=>dataplot.sty" % -src "person.sty\Z=>person.sty" % -src "databib.bst\Z=>databib.bst" -% -doc "datatool-manual.tex" -% -author "Nicola Talbot" -% -comment "databib\.bst" % datatool -% Created on 2018/12/7 15:44 +% Created on 2019/9/27 19:53 %\fi %\iffalse %<*package> @@ -42,7 +42,7 @@ %\fi % \iffalse % Doc-Source file to use with LaTeX2e -% Copyright (C) 2018 Nicola Talbot, all rights reserved. +% Copyright (C) 2019 Nicola Talbot, all rights reserved. % \fi % \iffalse %<*driver> @@ -68,7 +68,7 @@ datatool.dtx \doxitem{Counter}{counter}{counters} \doxitem{Option}{option}{package options} -\CheckSum{24081} +\CheckSum{24235} \RecordChanges \PageIndex @@ -81,11 +81,11 @@ datatool.dtx %\fi %\MakeShortVerb{"} % -%\title{Documented Code for datatool v2.31} +%\title{Documented Code for datatool v2.32} %\author{Nicola L. C. Talbot\\ %\url{http://www.dickimaw-books.com/}} % -%\date{2018-12-07} +%\date{2019-09-27} %\maketitle % %\pagenumbering{roman} @@ -100,8 +100,6 @@ datatool.dtx %\pagenumbering{arabic} % %\StopEventually{% -% \clearpage\phantomsection -% \addcontentsline{toc}{chapter}{Index}% % \PrintIndex % \clearpage\phantomsection % \addcontentsline{toc}{chapter}{History}\PrintChanges @@ -121,7 +119,7 @@ datatool.dtx % % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{datatool-base}[2018/12/07 v2.31 (NLCT)] +\ProvidesPackage{datatool-base}[2019/09/27 v2.32 (NLCT)] % \end{macrocode} % Required packages: % \begin{macrocode} @@ -2626,8 +2624,7 @@ datatool.dtx \dtl@split@str##2\@nil }% }% - \def\dtl@split@str##1#2\@nil{% - \def#4{##1}}% + \def\dtl@split@str##1#2\@nil{\def#4{##1}}% \dtl@splitstr#1#2\@nil } % \end{macrocode} @@ -3102,6 +3099,15 @@ datatool.dtx % \end{macrocode} %\end{macro} % +%\begin{macro}{\ifdtlcompareskipcs} +%\changes{2.32}{2019-09-27}{new} +%If true, \cs{dtlcompare} should skip control sequences. +% \begin{macrocode} +\newif\ifdtlcompareskipcs +\dtlcompareskipcsfalse +% \end{macrocode} +%\end{macro} +% %\label{src:dtlcompare} %\begin{macro}{\dtlcompare} %\begin{definition} @@ -3155,8 +3161,16 @@ datatool.dtx %\dtlcompare{\mycount}{foo}{\uppercase{f}oo}\number\mycount, since %the \cs{uppercase} command is ignored. % -%\item You can ``trick'' \cs{dtlcompare} using a command which doesn't -%output any text. Suppose you have defined the following command: +%\item A control sequence is treated as having the character code +%value of 0. Pre version 2.32, \cs{dtlcompare} was advertised here +%as skipping control sequences when actually it was treating a +%control sequence as character 0. To avoid breaking +%backward-compatibility where a control sequence is expected to have +%this behaviour, we now have a switch to determine whether to treat +%control sequences as 0 or to skip them. +% +%So you can now ``trick'' \cs{dtlcompare} using a command which doesn't +%output any text if switch this conditional on. Suppose you have defined the following command: %\begin{verbatim} %\newcommand*{\noopsort}[1]{} %\end{verbatim} @@ -3234,100 +3248,159 @@ datatool.dtx #1=1\relax }% {% - \DTLsubstituteall{\@dtl@argA}{ }{\space }% - \DTLsubstituteall{\@dtl@argB}{ }{\space }% +% \end{macrocode} +% Identify all word breaks. +%\changes{2.32}{2019-09-27}{now using \cs{dtl@setwordbreaksnohyphens} to +%deal with spaces} +% \begin{macrocode} + \dtl@setwordbreaksnohyphens{\@dtl@argA}{\@dtl@wordbreak}% + \let\@dtl@argA\dtl@string + \dtl@setwordbreaksnohyphens{\@dtl@argB}{\@dtl@wordbreak}% + \let\@dtl@argB\dtl@string \expandafter\dtl@getfirst\@dtl@argA\end@dtl@getfirst \let\dtl@firstA=\dtl@first \let\dtl@restA=\dtl@rest \expandafter\dtl@getfirst\@dtl@argB\end@dtl@getfirst \let\dtl@firstB=\dtl@first \let\dtl@restB=\dtl@rest - \expandafter\dtl@ifsingleorUTFviii\expandafter{\dtl@firstA}{% - \expandafter\dtl@ifsingleorUTFviii\expandafter{\dtl@firstB}{% - \expandafter\dtl@setcharcode\expandafter{\dtl@firstA}{\dtl@codeA}% - \expandafter\dtl@setcharcode\expandafter{\dtl@firstB}{\dtl@codeB}% - \ifnum\dtl@codeA=-1\relax - \ifnum\dtl@codeB=-1\relax + \expandafter\dtl@ifsingleorUTFviii\expandafter{\dtl@firstA}% + {% + \expandafter\dtl@ifsingleorUTFviii\expandafter{\dtl@firstB}% + {% + \expandafter\dtl@setcharcode\expandafter{\dtl@firstA}{\dtl@codeA}% + \expandafter\dtl@setcharcode\expandafter{\dtl@firstB}{\dtl@codeB}% +% \end{macrocode} +%\changes{2.32}{2019-09-27}{added check to determine if control sequences +%should be skipped} +% If control sequences should be skipped, check if either is a +% control sequence (the character code will be 0). +% \begin{macrocode} + \let\dtl@donextcompare\@firstofone + \ifdtlcompareskipcs + \ifnum\dtl@codeA=0\relax + \ifnum\dtl@codeB=0\relax +% \end{macrocode} +%Skip both. +% \begin{macrocode} + \edef\dtl@donext{% + \noexpand\dtlcompare + {\noexpand#1}{\expandonce\dtl@restA}{\expandonce\dtl@restB}}% + \dtl@donext + \let\dtl@donextcompare\@gobble + \else +% \end{macrocode} +%Skip A. +% \begin{macrocode} + \edef\dtl@donext{% + \noexpand\dtlcompare + {\noexpand#1}{\expandonce\dtl@restA}{\expandonce\@dtl@argB}}% + \dtl@donext + \let\dtl@donextcompare\@gobble + \fi + \else + \ifnum\dtl@codeB=0\relax +% \end{macrocode} +%Skip B. +% \begin{macrocode} + \edef\dtl@donext{% + \noexpand\dtlcompare + {\noexpand#1}{\expandonce\@dtl@argA}{\expandonce\dtl@restB}}% + \dtl@donext + \let\dtl@donextcompare\@gobble + \fi + \fi + \fi + \dtl@donextcompare + {% + \ifnum\dtl@codeA=-1\relax + \ifnum\dtl@codeB=-1\relax % \end{macrocode} %v2.25: added \cs{expandonce} to prevent non-ASCII characters from being %expanded. %\changes{2.25}{2016-01-18}{added \cs{expandonce}} % \begin{macrocode} - \edef\dtl@donext{% - \noexpand\dtlcompare - {\noexpand#1}{\expandonce\dtl@restA}{\expandonce\dtl@restB}}% - \dtl@donext - \else - \edef\dtl@donext{% - \noexpand\dtlcompare - {\noexpand#1}% - {\expandonce\dtl@restA}% - {\expandonce\dtl@firstB\expandonce\dtl@restB}}% - \dtl@donext - \fi - \else - \ifnum\dtl@codeB=-1\relax + \edef\dtl@donext{% + \noexpand\dtlcompare + {\noexpand#1}{\expandonce\dtl@restA}{\expandonce\dtl@restB}}% + \dtl@donext + \else + \edef\dtl@donext{% + \noexpand\dtlcompare + {\noexpand#1}% + {\expandonce\dtl@restA}% + {\expandonce\dtl@firstB\expandonce\dtl@restB}}% + \dtl@donext + \fi + \else + \ifnum\dtl@codeB=-1\relax % \end{macrocode} %v2.25: added \cs{expandonce} to prevent non-ASCII characters from being %expanded. % \begin{macrocode} - \edef\dtl@donext{% - \noexpand\dtlcompare - {\noexpand#1}% - {\expandonce\dtl@firstA\expandonce\dtl@restA}% - {\expandonce\dtl@restB}}% - \dtl@donext - \else - \ifnum\dtl@codeA<\dtl@codeB - #1=-1\relax - \else - \ifnum\dtl@codeA>\dtl@codeB - #1=1\relax - \else - \ifdefempty{\dtl@restA}% - {% - \ifdefempty{\dtl@restB}% - {% - #1=0\relax - }% - {% - #1=-1\relax - }% - }% - {% - \ifdefempty{\restB}% - {% - #1=1\relax - }% - {% - \protected@edef\dtl@donext{% - \noexpand\dtlcompare - {\noexpand#1}{\dtl@restA}{\dtl@restB}}% - \dtl@donext - }% - }% - \fi - \fi - \fi - \fi - }{% + \edef\dtl@donext{% + \noexpand\dtlcompare + {\noexpand#1}% + {\expandonce\dtl@firstA\expandonce\dtl@restA}% + {\expandonce\dtl@restB}}% + \dtl@donext + \else + \ifnum\dtl@codeA<\dtl@codeB + #1=-1\relax + \else + \ifnum\dtl@codeA>\dtl@codeB + #1=1\relax + \else + \ifdefempty{\dtl@restA}% + {% + \ifdefempty{\dtl@restB}% + {% + #1=0\relax + }% + {% + #1=-1\relax + }% + }% + {% +% \end{macrocode} +%\changes{2.32}{2019-09-27}{corrected misspelt command} +% \begin{macrocode} + \ifdefempty{\dtl@restB}% + {% + #1=1\relax + }% + {% + \protected@edef\dtl@donext{% + \noexpand\dtlcompare + {\noexpand#1}{\dtl@restA}{\dtl@restB}}% + \dtl@donext + }% + }% + \fi + \fi + \fi + \fi + }% + }% + {% % \end{macrocode} %v2.25: added \cs{expandonce} to prevent non-ASCII characters from being %expanded. % \begin{macrocode} - \edef\dtl@donext{% - \noexpand\dtlcompare - {\noexpand#1}% - {\expandonce\dtl@firstA\expandonce\dtl@restA}% - {\expandonce\dtl@firstB\expandonce\dtl@restB}}% - \dtl@donext - }}{% - \edef\dtl@donext{% - \noexpand\dtlcompare - {\noexpand#1}% - {\expandonce\dtl@firstA\expandonce\dtl@restA}% - {\expandonce\dtl@firstB\expandonce\dtl@restB}}% - \dtl@donext + \edef\dtl@donext{% + \noexpand\dtlcompare + {\noexpand#1}% + {\expandonce\dtl@firstA\expandonce\dtl@restA}% + {\expandonce\dtl@firstB\expandonce\dtl@restB}}% + \dtl@donext + }% + }% + {% + \edef\dtl@donext{% + \noexpand\dtlcompare + {\noexpand#1}% + {\expandonce\dtl@firstA\expandonce\dtl@restA}% + {\expandonce\dtl@firstB\expandonce\dtl@restB}}% + \dtl@donext }% }% }% @@ -3414,8 +3487,9 @@ datatool.dtx %\begin{definition} %\cs{dtl@setcharcode}\marg{c}\marg{count register} %\end{definition} -% Sets \meta{count register} to the character code of \meta{c}, or to -% -1 if \meta{c} is a control sequence, unless \meta{c} is either +% Sets \meta{count register} to the character code of \meta{c}, or +% to $-1$ if \meta{c} is empty, or to +% 0 if \meta{c} is a control sequence, unless \meta{c} is either % \cs{space} or |~| in which case it sets \meta{count register} % to the character code of the space character. % \begin{macrocode} @@ -3923,76 +3997,123 @@ datatool.dtx % \begin{macrocode} \expandafter\dtl@setlccharcode\expandafter{\dtl@firstA}{\dtl@codeA}% \expandafter\dtl@setlccharcode\expandafter{\dtl@firstB}{\dtl@codeB}% - \ifnum\dtl@codeA=-1\relax - \ifnum\dtl@codeB=-1\relax +% \end{macrocode} +%\changes{2.32}{2019-09-27}{added check to determine if control sequences +%should be skipped} +% If control sequences should be skipped, check if either is a +% control sequence (the character code will be 0). +% \begin{macrocode} + \let\dtl@donextcompare\@firstofone + \ifdtlcompareskipcs + \ifnum\dtl@codeA=0\relax + \ifnum\dtl@codeB=0\relax +% \end{macrocode} +%Skip both. +% \begin{macrocode} + \edef\dtl@donext{% + \noexpand\dtlicompare + {\noexpand#1}{\expandonce\dtl@restA}{\expandonce\dtl@restB}}% + \dtl@donext + \let\dtl@donextcompare\@gobble + \else +% \end{macrocode} +%Skip A. +% \begin{macrocode} + \edef\dtl@donext{% + \noexpand\dtlicompare + {\noexpand#1}{\expandonce\dtl@restA}{\expandonce\@dtl@argB}}% + \dtl@donext + \let\dtl@donextcompare\@gobble + \fi + \else + \ifnum\dtl@codeB=0\relax +% \end{macrocode} +%Skip B. +% \begin{macrocode} + \edef\dtl@donext{% + \noexpand\dtlicompare + {\noexpand#1}{\expandonce\@dtl@argA}{\expandonce\dtl@restB}}% + \dtl@donext + \let\dtl@donextcompare\@gobble + \fi + \fi + \fi + \dtl@donextcompare + {% + \ifnum\dtl@codeA=-1\relax + \ifnum\dtl@codeB=-1\relax % \end{macrocode} %v2.25: added \cs{expandonce} to prevent non-ASCII characters from being %expanded. %\changes{2.25}{2016-01-18}{added \cs{expandonce}} % \begin{macrocode} - \edef\dtl@donext{% - \noexpand\dtlicompare{\noexpand#1}% - {\expandonce\dtl@restA}{\expandonce\dtl@restB}}% - \dtl@donext + \edef\dtl@donext{% + \noexpand\dtlicompare{\noexpand#1}% + {\expandonce\dtl@restA}{\expandonce\dtl@restB}}% + \dtl@donext + \else + \edef\dtl@donext{% + \noexpand\dtlicompare + {\noexpand#1}% + {\expandonce\dtl@restA}% + {\expandonce\dtl@firstB\expandonce\dtl@restB}}% + \dtl@donext + \fi \else - \edef\dtl@donext{% - \noexpand\dtlicompare - {\noexpand#1}% - {\expandonce\dtl@restA}% - {\expandonce\dtl@firstB\expandonce\dtl@restB}}% - \dtl@donext - \fi - \else - \ifnum\dtl@codeB=-1\relax + \ifnum\dtl@codeB=-1\relax % \end{macrocode} %v2.25: added \cs{expandonce} to prevent non-ASCII characters from being %expanded. % \begin{macrocode} - \edef\dtl@donext{% - \noexpand\dtlicompare - {\noexpand#1}% - {\expandonce\dtl@firstA\expandonce\dtl@restA}% - {\expandonce\dtl@restB}}% - \dtl@donext - \else - \ifnum\dtl@codeA<\dtl@codeB - #1=-1\relax + \edef\dtl@donext{% + \noexpand\dtlicompare + {\noexpand#1}% + {\expandonce\dtl@firstA\expandonce\dtl@restA}% + {\expandonce\dtl@restB}}% + \dtl@donext \else - \ifnum\dtl@codeA>\dtl@codeB - #1=1\relax + \ifnum\dtl@codeA<\dtl@codeB + #1=-1\relax \else - \ifdefempty{\dtl@restA}% - {% - \ifdefempty{\dtl@restB}% - {% - #1=0\relax - }% + \ifnum\dtl@codeA>\dtl@codeB + #1=1\relax + \else + \ifdefempty{\dtl@restA}% {% - #1=-1\relax - }% - }% - {% - \ifdefempty{\restB}% - {% - #1=1\relax + \ifdefempty{\dtl@restB}% + {% + #1=0\relax + }% + {% + #1=-1\relax + }% }% {% % \end{macrocode} +%\changes{2.32}{2019-09-27}{corrected misspelt command} +% \begin{macrocode} + \ifdefempty{\dtl@restB}% + {% + #1=1\relax + }% + {% +% \end{macrocode} %v2.25: added \cs{expandonce} to prevent non-ASCII characters from being %expanded. % \begin{macrocode} - \edef\dtl@donext{% - \noexpand\dtlicompare - {\noexpand#1}% - {\expandonce\dtl@restA}% - {\expandonce\dtl@restB}}% - \dtl@donext + \edef\dtl@donext{% + \noexpand\dtlicompare + {\noexpand#1}% + {\expandonce\dtl@restA}% + {\expandonce\dtl@restB}}% + \dtl@donext + }% }% - }% + \fi \fi \fi \fi - \fi + }% }% {% % \end{macrocode} @@ -6138,7 +6259,7 @@ datatool.dtx % Definitions of fixed-point commands that use the \sty{fp} package. % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{datatool-fp}[2018/12/07 v2.31 (NLCT)] +\ProvidesPackage{datatool-fp}[2019/09/27 v2.32 (NLCT)] % \end{macrocode} % Required packages: % \begin{macrocode} @@ -6427,7 +6548,7 @@ datatool.dtx % Definitions of fixed-point commands that use the \sty{pgfmath} package. % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{datatool-pgfmath}[2018/12/07 v2.31 (NLCT)] +\ProvidesPackage{datatool-pgfmath}[2019/09/27 v2.32 (NLCT)] % \end{macrocode} % Required packages: % \begin{macrocode} @@ -6768,7 +6889,7 @@ datatool.dtx %\section{Package Declaration} % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{datatool}[2018/12/07 v2.31 (NLCT)] +\ProvidesPackage{datatool}[2019/09/27 v2.32 (NLCT)] % \end{macrocode} % Load required packages: % \begin{macrocode} @@ -8267,7 +8388,7 @@ datatool.dtx % \begin{macrocode} {% \dtlgetrow{#1}{#2}% - \@dtl@assign{#3}{#1}% + \@dtl@assign{#3}{#1}% }% }% {% @@ -9878,11 +9999,12 @@ datatool.dtx \DTLiffirstrow % \end{macrocode} % Define current \cs{DTLiffirstrow} +%\changes{2.32}{2019-09-27}{removed \cs{relax}} % \begin{macrocode} \gdef\DTLiffirstrow##1##2{% \expandafter\ifnum \csname c@DTLrow\romannumeral\dtlforeachlevel\endcsname - =1\relax + =1 %space intended ##1% \else ##2% @@ -9896,11 +10018,12 @@ datatool.dtx % \end{macrocode} % Define current \cs{DTLiflastrow} %\changes{2.12}{2012-11-30}{fixed bug in \cs{DTLiflastrow}} +%\changes{2.32}{2019-09-27}{removed \cs{relax}} % \begin{macrocode} \gdef\DTLiflastrow##1##2{% \expandafter\ifnum \csname c@DTLrow\romannumeral\dtlforeachlevel\endcsname - =\csname dtlrows@#2\endcsname\relax + =\csname dtlrows@#2\endcsname ##1% \else ##2% @@ -9969,11 +10092,9 @@ datatool.dtx = \dtlafterrow % \end{macrocode} % Assign commands to the required entries +%\changes{2.32}{2019-09-27}{changed \cs{ifx} test to \cs{ifblank}} % \begin{macrocode} - \ifx\relax#3\relax - \else - \@dtl@assign{#3}{#2}% - \fi + \ifblank{#3}{}{\@dtl@assign{#3}{#2}}% % \end{macrocode} % Do the main body of text if condition is satisfied % \begin{macrocode} @@ -10153,11 +10274,12 @@ datatool.dtx \DTLiffirstrow % \end{macrocode} % Define current \cs{DTLiffirstrow} +%\changes{2.32}{2019-09-27}{removed \cs{relax}} % \begin{macrocode} \gdef\DTLiffirstrow##1##2{% \expandafter\ifnum \csname c@DTLrow\romannumeral\dtlforeachlevel\endcsname - =1\relax + =1 % space intended ##1% \else ##2% @@ -10171,11 +10293,12 @@ datatool.dtx % \end{macrocode} % Define current \cs{DTLiflastrow} %\changes{2.12}{2012-11-30}{fixed bug in \cs{DTLiflastrow}} +%\changes{2.32}{2019-09-27}{removed \cs{relax}} % \begin{macrocode} \gdef\DTLiflastrow##1##2{% \expandafter\ifnum \csname c@DTLrow\romannumeral\dtlforeachlevel\endcsname - =\csname dtlrows@#2\endcsname\relax + =\csname dtlrows@#2\endcsname ##1% \else ##2% @@ -10225,15 +10348,16 @@ datatool.dtx = \expandafter{\dtl@thisrow}% % \end{macrocode} % Assign commands to the required entries +%\changes{2.32}{2019-09-27}{changed \cs{ifx} test to \cs{ifblank}} % \begin{macrocode} - \ifx\relax#3\relax - \else + \ifblank{#3}{} + {% % \end{macrocode} % Need to set \cs{dtlcurrentrow} for \cs{@dtl@assign} % \begin{macrocode} \dtlcurrentrow=\expandafter{\dtl@thisrow}% \@dtl@assign{#3}{#2}% - \fi + }% % \end{macrocode} % Do the main body of text if condition is satisfied % \begin{macrocode} @@ -14363,7 +14487,7 @@ datatool.dtx % Declare package: % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{datagidx}[2018/12/07 v2.31 (NLCT)] +\ProvidesPackage{datagidx}[2019/09/27 v2.32 (NLCT)] % \end{macrocode} % Required packages: % \begin{macrocode} @@ -18332,22 +18456,48 @@ datatool.dtx % need to redefine this if you want accented letters to be sorted % differently from the unaccented version. This command should % only be used within a scope. -% \begin{macrocode} -\newcommand*{\datagidxstripaccents}{% +%\changes{2.32}{2019-09-27}{added test for kernel version} +% Need to test kernel version. The new 2019/10/01 version has a +% different definition of \cs{UTFviii@two@octets} which won't expand +% UTF-8 characters to \cs{IeC} in the required context. (This is +% really useful if you want extended characters in labels but not if +% they need to be stripped.) If you don't want accents stripped then +% redefine \cs{datagidxstripaccents} to do nothing. +% \begin{macrocode} +\@ifl@t@r\fmtversion{2019/10/01} +{% + \newcommand*{\datagidxstripaccents}{% % \end{macrocode} % These redefinitions will only work with \cs{edef} or \cs{xdef}: % \begin{macrocode} - \let\add@accent@\@secondoftwo - \let\@text@composite@x\@secondoftwo - \let\@tabacckludge\@secondoftwo + \let\add@accent@\@secondoftwo + \let\@text@composite@x\@secondoftwo + \let\@tabacckludge\@secondoftwo % \end{macrocode} % The following are need with \cs{protected@edef} or \cs{protected@xdef}: % \begin{macrocode} - \expandafter\def\csname \encodingdefault-cmd\endcsname##1##2##3{##3}% - \expandafter\def\csname OT1-cmd\endcsname##1##2##3{##3}% - \expandafter\def\csname T1-cmd\endcsname##1##2##3{##3}% - \expandafter\def\csname PD1-cmd\endcsname##1##2##3{##3}% - \def\IeC##1{\@gobbletwo##1}% + \expandafter\def\csname \encodingdefault-cmd\endcsname##1##2##3{##3}% + \expandafter\def\csname OT1-cmd\endcsname##1##2##3{##3}% + \expandafter\def\csname T1-cmd\endcsname##1##2##3{##3}% + \expandafter\def\csname PD1-cmd\endcsname##1##2##3{##3}% + \def\IeC##1{\@gobbletwo##1}% + \let\UTFviii@two@octets\UTFviii@two@octets@combine + }% +} +{% +% \end{macrocode} +% Older kernels: +% \begin{macrocode} + \newcommand*{\datagidxstripaccents}{% + \let\add@accent@\@secondoftwo + \let\@text@composite@x\@secondoftwo + \let\@tabacckludge\@secondoftwo + \expandafter\def\csname \encodingdefault-cmd\endcsname##1##2##3{##3}% + \expandafter\def\csname OT1-cmd\endcsname##1##2##3{##3}% + \expandafter\def\csname T1-cmd\endcsname##1##2##3{##3}% + \expandafter\def\csname PD1-cmd\endcsname##1##2##3{##3}% + \def\IeC##1{\@gobbletwo##1}% + }% } % \end{macrocode} %\end{macro} @@ -20290,17 +20440,10 @@ datatool.dtx % Current location was saved in the previous run. Has it changed? %\changes{2.15}{2013-07-10}{expanded and sanitize locations before %comparing them}% +%This may cause a problem on page boundaries so this code block may +%be removed in future versions. % \begin{macrocode} - \protected@edef\@prev@location{% - \csname datagidx@prev@loc@\Label\endcsname}% - \@onelevel@sanitize\@prev@location - \protected@edef\@cur@location{\CurrentLocation}% - \@onelevel@sanitize\@cur@location - \ifdefequal{\@prev@location}{\@cur@location}% - {}% - {% - \global\let\@datagidx@dorerun@warn\@data@rerun@warn - }% + \dtlgidx@checklocationchange }% {% % \end{macrocode} @@ -20338,6 +20481,24 @@ datatool.dtx % \end{macrocode} %\end{macro} % +%\begin{macro}{\dtlgidx@checklocationchange} +%\changes{2.32}{??}{new} +% \begin{macrocode} +\newcommand*{\dtlgidx@checklocationchange}{% + \protected@edef\@prev@location{% + \csname datagidx@prev@loc@\Label\endcsname}% + \@onelevel@sanitize\@prev@location + \protected@edef\@cur@location{\CurrentLocation}% + \@onelevel@sanitize\@cur@location + \ifdefequal{\@prev@location}{\@cur@location}% + {}% + {% + \global\let\@datagidx@dorerun@warn\@data@rerun@warn + }% +} +% \end{macrocode} +%\end{macro} +% %\begin{macro}{\datagidx@doifdisplayed} %\begin{definition} %\cs{datagidx@doifdisplayed}\marg{body} @@ -20413,7 +20574,7 @@ datatool.dtx %\section{Package Declaration} % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{databib}[2018/12/07 v2.31 (NLCT)] +\ProvidesPackage{databib}[2019/09/27 v2.32 (NLCT)] % \end{macrocode} % Load required packages: % \begin{macrocode} @@ -23336,7 +23497,7 @@ already exists}{}}}} % Declare package: % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{databar}[2018/12/07 v2.31 (NLCT)] +\ProvidesPackage{databar}[2019/09/27 v2.32 (NLCT)] % \end{macrocode} % Require \sty{xkeyval} package % \begin{macrocode} @@ -24643,7 +24804,7 @@ already exists}{}}}} % Declare package: % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{datapie}[2018/12/07 v2.31 (NLCT)] +\ProvidesPackage{datapie}[2019/09/27 v2.32 (NLCT)] % \end{macrocode} % Require \sty{xkeyval} package % \begin{macrocode} @@ -25445,7 +25606,7 @@ already exists}{}}}} % Declare package: % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{dataplot}[2018/12/07 v2.31 (NLCT)] +\ProvidesPackage{dataplot}[2019/09/27 v2.32 (NLCT)] % \end{macrocode} % Required packages % \begin{macrocode} @@ -27067,7 +27228,7 @@ east,southeast,south,southwest,west,northwest}[northeast]{% % Package identification: % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{person}[2018/12/07 v2.31 (NLCT)] +\ProvidesPackage{person}[2019/09/27 v2.32 (NLCT)] % \end{macrocode} % Requires the \sty{ifthen} package. % \begin{macrocode} diff --git a/Master/texmf-dist/source/latex/datatool/datatool.ins b/Master/texmf-dist/source/latex/datatool/datatool.ins index 512f5a07a63..3b163f9b8c0 100644 --- a/Master/texmf-dist/source/latex/datatool/datatool.ins +++ b/Master/texmf-dist/source/latex/datatool/datatool.ins @@ -1,10 +1,10 @@ -% datatool.ins generated using makedtx version 1.2 2018/12/7 15:44 +% datatool.ins generated using makedtx version 1.2 2019/9/27 19:53 \input docstrip \preamble datatool.dtx - Copyright 2018 Nicola Talbot + Copyright 2019 Nicola Talbot This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3 diff --git a/Master/texmf-dist/tex/latex/datatool/databar.sty b/Master/texmf-dist/tex/latex/datatool/databar.sty index b00bc9c0d8f..493ccc0c51a 100644 --- a/Master/texmf-dist/tex/latex/datatool/databar.sty +++ b/Master/texmf-dist/tex/latex/datatool/databar.sty @@ -7,7 +7,7 @@ %% datatool.dtx (with options: `databar.sty,package') %% %% datatool.dtx -%% Copyright 2018 Nicola Talbot +%% Copyright 2019 Nicola Talbot %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -39,7 +39,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{databar}[2018/12/07 v2.31 (NLCT)] +\ProvidesPackage{databar}[2019/09/27 v2.32 (NLCT)] \RequirePackage{xkeyval} \RequirePackage{dataplot} \newif\ifDTLcolorbarchart diff --git a/Master/texmf-dist/tex/latex/datatool/databib.sty b/Master/texmf-dist/tex/latex/datatool/databib.sty index e6e60cc6c98..b53e33f7a84 100644 --- a/Master/texmf-dist/tex/latex/datatool/databib.sty +++ b/Master/texmf-dist/tex/latex/datatool/databib.sty @@ -7,7 +7,7 @@ %% datatool.dtx (with options: `databib.sty,package') %% %% datatool.dtx -%% Copyright 2018 Nicola Talbot +%% Copyright 2019 Nicola Talbot %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -39,7 +39,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{databib}[2018/12/07 v2.31 (NLCT)] +\ProvidesPackage{databib}[2019/09/27 v2.32 (NLCT)] \RequirePackage{datatool} \newcommand*{\dtlbib@style}{plain} \define@choicekey{databib.sty}{style}{plain,abbrv,alpha}{% diff --git a/Master/texmf-dist/tex/latex/datatool/datagidx.sty b/Master/texmf-dist/tex/latex/datatool/datagidx.sty index 7485711aca1..f759feff100 100644 --- a/Master/texmf-dist/tex/latex/datatool/datagidx.sty +++ b/Master/texmf-dist/tex/latex/datatool/datagidx.sty @@ -7,7 +7,7 @@ %% datatool.dtx (with options: `datagidx.sty,package') %% %% datatool.dtx -%% Copyright 2018 Nicola Talbot +%% Copyright 2019 Nicola Talbot %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -39,7 +39,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{datagidx}[2018/12/07 v2.31 (NLCT)] +\ProvidesPackage{datagidx}[2019/09/27 v2.32 (NLCT)] \RequirePackage{datatool} \RequirePackage{etoolbox} \RequirePackage{xkeyval} @@ -2221,15 +2221,31 @@ \def\{{\expandafter\@gobble\string\{}% \def\}{\expandafter\@gobble\string\}}% } -\newcommand*{\datagidxstripaccents}{% - \let\add@accent@\@secondoftwo - \let\@text@composite@x\@secondoftwo - \let\@tabacckludge\@secondoftwo - \expandafter\def\csname \encodingdefault-cmd\endcsname##1##2##3{##3}% - \expandafter\def\csname OT1-cmd\endcsname##1##2##3{##3}% - \expandafter\def\csname T1-cmd\endcsname##1##2##3{##3}% - \expandafter\def\csname PD1-cmd\endcsname##1##2##3{##3}% - \def\IeC##1{\@gobbletwo##1}% +\@ifl@t@r\fmtversion{2019/10/01} +{% + \newcommand*{\datagidxstripaccents}{% + \let\add@accent@\@secondoftwo + \let\@text@composite@x\@secondoftwo + \let\@tabacckludge\@secondoftwo + \expandafter\def\csname \encodingdefault-cmd\endcsname##1##2##3{##3}% + \expandafter\def\csname OT1-cmd\endcsname##1##2##3{##3}% + \expandafter\def\csname T1-cmd\endcsname##1##2##3{##3}% + \expandafter\def\csname PD1-cmd\endcsname##1##2##3{##3}% + \def\IeC##1{\@gobbletwo##1}% + \let\UTFviii@two@octets\UTFviii@two@octets@combine + }% +} +{% + \newcommand*{\datagidxstripaccents}{% + \let\add@accent@\@secondoftwo + \let\@text@composite@x\@secondoftwo + \let\@tabacckludge\@secondoftwo + \expandafter\def\csname \encodingdefault-cmd\endcsname##1##2##3{##3}% + \expandafter\def\csname OT1-cmd\endcsname##1##2##3{##3}% + \expandafter\def\csname T1-cmd\endcsname##1##2##3{##3}% + \expandafter\def\csname PD1-cmd\endcsname##1##2##3{##3}% + \def\IeC##1{\@gobbletwo##1}% + }% } \providecommand{\newterm}{\datagidx@newterm} \@onlypreamble\newterm @@ -3215,16 +3231,7 @@ {% \ifcsdef{datagidx@prev@loc@\Label}% {% - \protected@edef\@prev@location{% - \csname datagidx@prev@loc@\Label\endcsname}% - \@onelevel@sanitize\@prev@location - \protected@edef\@cur@location{\CurrentLocation}% - \@onelevel@sanitize\@cur@location - \ifdefequal{\@prev@location}{\@cur@location}% - {}% - {% - \global\let\@datagidx@dorerun@warn\@data@rerun@warn - }% + \dtlgidx@checklocationchange }% {% \global\let\@datagidx@dorerun@warn\@data@rerun@warn @@ -3248,6 +3255,18 @@ {}% }% } +\newcommand*{\dtlgidx@checklocationchange}{% + \protected@edef\@prev@location{% + \csname datagidx@prev@loc@\Label\endcsname}% + \@onelevel@sanitize\@prev@location + \protected@edef\@cur@location{\CurrentLocation}% + \@onelevel@sanitize\@cur@location + \ifdefequal{\@prev@location}{\@cur@location}% + {}% + {% + \global\let\@datagidx@dorerun@warn\@data@rerun@warn + }% +} \newcommand{\datagidx@doifdisplayed}[1]{% \DTLifnull{\Location}% {% diff --git a/Master/texmf-dist/tex/latex/datatool/datapie.sty b/Master/texmf-dist/tex/latex/datatool/datapie.sty index 2ff28193efd..7cc497345e7 100644 --- a/Master/texmf-dist/tex/latex/datatool/datapie.sty +++ b/Master/texmf-dist/tex/latex/datatool/datapie.sty @@ -7,7 +7,7 @@ %% datatool.dtx (with options: `datapie.sty,package') %% %% datatool.dtx -%% Copyright 2018 Nicola Talbot +%% Copyright 2019 Nicola Talbot %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -39,7 +39,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{datapie}[2018/12/07 v2.31 (NLCT)] +\ProvidesPackage{datapie}[2019/09/27 v2.32 (NLCT)] \RequirePackage{xkeyval} \newif\ifDTLcolorpiechart \DTLcolorpiecharttrue diff --git a/Master/texmf-dist/tex/latex/datatool/dataplot.sty b/Master/texmf-dist/tex/latex/datatool/dataplot.sty index d5a0239fb4a..948b20ca41e 100644 --- a/Master/texmf-dist/tex/latex/datatool/dataplot.sty +++ b/Master/texmf-dist/tex/latex/datatool/dataplot.sty @@ -7,7 +7,7 @@ %% datatool.dtx (with options: `dataplot.sty,package') %% %% datatool.dtx -%% Copyright 2018 Nicola Talbot +%% Copyright 2019 Nicola Talbot %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -39,7 +39,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{dataplot}[2018/12/07 v2.31 (NLCT)] +\ProvidesPackage{dataplot}[2019/09/27 v2.32 (NLCT)] \RequirePackage{xkeyval} \RequirePackage{tikz} \RequirePackage{datatool} diff --git a/Master/texmf-dist/tex/latex/datatool/datatool-base.sty b/Master/texmf-dist/tex/latex/datatool/datatool-base.sty index 34109c37115..bf18843e419 100644 --- a/Master/texmf-dist/tex/latex/datatool/datatool-base.sty +++ b/Master/texmf-dist/tex/latex/datatool/datatool-base.sty @@ -7,7 +7,7 @@ %% datatool.dtx (with options: `datatool-base.sty,package') %% %% datatool.dtx -%% Copyright 2018 Nicola Talbot +%% Copyright 2019 Nicola Talbot %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -39,7 +39,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{datatool-base}[2018/12/07 v2.31 (NLCT)] +\ProvidesPackage{datatool-base}[2019/09/27 v2.32 (NLCT)] \RequirePackage{etoolbox} \RequirePackage{amsmath} \RequirePackage{xkeyval} @@ -1435,8 +1435,7 @@ \dtl@split@str##2\@nil }% }% - \def\dtl@split@str##1#2\@nil{% - \def#4{##1}}% + \def\dtl@split@str##1#2\@nil{\def#4{##1}}% \dtl@splitstr#1#2\@nil } \newcommand{\DTLsubstituteall}[3]{% @@ -1698,6 +1697,8 @@ #4% }% } +\newif\ifdtlcompareskipcs +\dtlcompareskipcsfalse \newcommand*{\dtlcompare}[3]{% \dtl@subnobrsp{#2}{\@dtl@argA}% \dtl@subnobrsp{#3}{\@dtl@argB}% @@ -1717,87 +1718,123 @@ #1=1\relax }% {% - \DTLsubstituteall{\@dtl@argA}{ }{\space }% - \DTLsubstituteall{\@dtl@argB}{ }{\space }% + \dtl@setwordbreaksnohyphens{\@dtl@argA}{\@dtl@wordbreak}% + \let\@dtl@argA\dtl@string + \dtl@setwordbreaksnohyphens{\@dtl@argB}{\@dtl@wordbreak}% + \let\@dtl@argB\dtl@string \expandafter\dtl@getfirst\@dtl@argA\end@dtl@getfirst \let\dtl@firstA=\dtl@first \let\dtl@restA=\dtl@rest \expandafter\dtl@getfirst\@dtl@argB\end@dtl@getfirst \let\dtl@firstB=\dtl@first \let\dtl@restB=\dtl@rest - \expandafter\dtl@ifsingleorUTFviii\expandafter{\dtl@firstA}{% - \expandafter\dtl@ifsingleorUTFviii\expandafter{\dtl@firstB}{% - \expandafter\dtl@setcharcode\expandafter{\dtl@firstA}{\dtl@codeA}% - \expandafter\dtl@setcharcode\expandafter{\dtl@firstB}{\dtl@codeB}% - \ifnum\dtl@codeA=-1\relax - \ifnum\dtl@codeB=-1\relax - \edef\dtl@donext{% - \noexpand\dtlcompare - {\noexpand#1}{\expandonce\dtl@restA}{\expandonce\dtl@restB}}% - \dtl@donext - \else - \edef\dtl@donext{% - \noexpand\dtlcompare - {\noexpand#1}% - {\expandonce\dtl@restA}% - {\expandonce\dtl@firstB\expandonce\dtl@restB}}% - \dtl@donext - \fi - \else - \ifnum\dtl@codeB=-1\relax - \edef\dtl@donext{% - \noexpand\dtlcompare - {\noexpand#1}% - {\expandonce\dtl@firstA\expandonce\dtl@restA}% - {\expandonce\dtl@restB}}% - \dtl@donext - \else - \ifnum\dtl@codeA<\dtl@codeB - #1=-1\relax - \else - \ifnum\dtl@codeA>\dtl@codeB - #1=1\relax + \expandafter\dtl@ifsingleorUTFviii\expandafter{\dtl@firstA}% + {% + \expandafter\dtl@ifsingleorUTFviii\expandafter{\dtl@firstB}% + {% + \expandafter\dtl@setcharcode\expandafter{\dtl@firstA}{\dtl@codeA}% + \expandafter\dtl@setcharcode\expandafter{\dtl@firstB}{\dtl@codeB}% + \let\dtl@donextcompare\@firstofone + \ifdtlcompareskipcs + \ifnum\dtl@codeA=0\relax + \ifnum\dtl@codeB=0\relax + \edef\dtl@donext{% + \noexpand\dtlcompare + {\noexpand#1}{\expandonce\dtl@restA}{\expandonce\dtl@restB}}% + \dtl@donext + \let\dtl@donextcompare\@gobble + \else + \edef\dtl@donext{% + \noexpand\dtlcompare + {\noexpand#1}{\expandonce\dtl@restA}{\expandonce\@dtl@argB}}% + \dtl@donext + \let\dtl@donextcompare\@gobble + \fi \else - \ifdefempty{\dtl@restA}% - {% - \ifdefempty{\dtl@restB}% - {% - #1=0\relax - }% - {% - #1=-1\relax - }% - }% - {% - \ifdefempty{\restB}% - {% - #1=1\relax - }% - {% - \protected@edef\dtl@donext{% - \noexpand\dtlcompare - {\noexpand#1}{\dtl@restA}{\dtl@restB}}% - \dtl@donext - }% - }% + \ifnum\dtl@codeB=0\relax + \edef\dtl@donext{% + \noexpand\dtlcompare + {\noexpand#1}{\expandonce\@dtl@argA}{\expandonce\dtl@restB}}% + \dtl@donext + \let\dtl@donextcompare\@gobble + \fi \fi \fi - \fi - \fi - }{% - \edef\dtl@donext{% - \noexpand\dtlcompare - {\noexpand#1}% - {\expandonce\dtl@firstA\expandonce\dtl@restA}% - {\expandonce\dtl@firstB\expandonce\dtl@restB}}% - \dtl@donext - }}{% - \edef\dtl@donext{% - \noexpand\dtlcompare - {\noexpand#1}% - {\expandonce\dtl@firstA\expandonce\dtl@restA}% - {\expandonce\dtl@firstB\expandonce\dtl@restB}}% - \dtl@donext + \dtl@donextcompare + {% + \ifnum\dtl@codeA=-1\relax + \ifnum\dtl@codeB=-1\relax + \edef\dtl@donext{% + \noexpand\dtlcompare + {\noexpand#1}{\expandonce\dtl@restA}{\expandonce\dtl@restB}}% + \dtl@donext + \else + \edef\dtl@donext{% + \noexpand\dtlcompare + {\noexpand#1}% + {\expandonce\dtl@restA}% + {\expandonce\dtl@firstB\expandonce\dtl@restB}}% + \dtl@donext + \fi + \else + \ifnum\dtl@codeB=-1\relax + \edef\dtl@donext{% + \noexpand\dtlcompare + {\noexpand#1}% + {\expandonce\dtl@firstA\expandonce\dtl@restA}% + {\expandonce\dtl@restB}}% + \dtl@donext + \else + \ifnum\dtl@codeA<\dtl@codeB + #1=-1\relax + \else + \ifnum\dtl@codeA>\dtl@codeB + #1=1\relax + \else + \ifdefempty{\dtl@restA}% + {% + \ifdefempty{\dtl@restB}% + {% + #1=0\relax + }% + {% + #1=-1\relax + }% + }% + {% + \ifdefempty{\dtl@restB}% + {% + #1=1\relax + }% + {% + \protected@edef\dtl@donext{% + \noexpand\dtlcompare + {\noexpand#1}{\dtl@restA}{\dtl@restB}}% + \dtl@donext + }% + }% + \fi + \fi + \fi + \fi + }% + }% + {% + \edef\dtl@donext{% + \noexpand\dtlcompare + {\noexpand#1}% + {\expandonce\dtl@firstA\expandonce\dtl@restA}% + {\expandonce\dtl@firstB\expandonce\dtl@restB}}% + \dtl@donext + }% + }% + {% + \edef\dtl@donext{% + \noexpand\dtlcompare + {\noexpand#1}% + {\expandonce\dtl@firstA\expandonce\dtl@restA}% + {\expandonce\dtl@firstB\expandonce\dtl@restB}}% + \dtl@donext }% }% }% @@ -2216,63 +2253,92 @@ {% \expandafter\dtl@setlccharcode\expandafter{\dtl@firstA}{\dtl@codeA}% \expandafter\dtl@setlccharcode\expandafter{\dtl@firstB}{\dtl@codeB}% - \ifnum\dtl@codeA=-1\relax - \ifnum\dtl@codeB=-1\relax - \edef\dtl@donext{% - \noexpand\dtlicompare{\noexpand#1}% - {\expandonce\dtl@restA}{\expandonce\dtl@restB}}% - \dtl@donext + \let\dtl@donextcompare\@firstofone + \ifdtlcompareskipcs + \ifnum\dtl@codeA=0\relax + \ifnum\dtl@codeB=0\relax + \edef\dtl@donext{% + \noexpand\dtlicompare + {\noexpand#1}{\expandonce\dtl@restA}{\expandonce\dtl@restB}}% + \dtl@donext + \let\dtl@donextcompare\@gobble + \else + \edef\dtl@donext{% + \noexpand\dtlicompare + {\noexpand#1}{\expandonce\dtl@restA}{\expandonce\@dtl@argB}}% + \dtl@donext + \let\dtl@donextcompare\@gobble + \fi \else - \edef\dtl@donext{% - \noexpand\dtlicompare - {\noexpand#1}% - {\expandonce\dtl@restA}% - {\expandonce\dtl@firstB\expandonce\dtl@restB}}% - \dtl@donext + \ifnum\dtl@codeB=0\relax + \edef\dtl@donext{% + \noexpand\dtlicompare + {\noexpand#1}{\expandonce\@dtl@argA}{\expandonce\dtl@restB}}% + \dtl@donext + \let\dtl@donextcompare\@gobble + \fi \fi - \else - \ifnum\dtl@codeB=-1\relax - \edef\dtl@donext{% - \noexpand\dtlicompare - {\noexpand#1}% - {\expandonce\dtl@firstA\expandonce\dtl@restA}% - {\expandonce\dtl@restB}}% - \dtl@donext + \fi + \dtl@donextcompare + {% + \ifnum\dtl@codeA=-1\relax + \ifnum\dtl@codeB=-1\relax + \edef\dtl@donext{% + \noexpand\dtlicompare{\noexpand#1}% + {\expandonce\dtl@restA}{\expandonce\dtl@restB}}% + \dtl@donext + \else + \edef\dtl@donext{% + \noexpand\dtlicompare + {\noexpand#1}% + {\expandonce\dtl@restA}% + {\expandonce\dtl@firstB\expandonce\dtl@restB}}% + \dtl@donext + \fi \else - \ifnum\dtl@codeA<\dtl@codeB - #1=-1\relax + \ifnum\dtl@codeB=-1\relax + \edef\dtl@donext{% + \noexpand\dtlicompare + {\noexpand#1}% + {\expandonce\dtl@firstA\expandonce\dtl@restA}% + {\expandonce\dtl@restB}}% + \dtl@donext \else - \ifnum\dtl@codeA>\dtl@codeB - #1=1\relax + \ifnum\dtl@codeA<\dtl@codeB + #1=-1\relax \else - \ifdefempty{\dtl@restA}% - {% - \ifdefempty{\dtl@restB}% - {% - #1=0\relax - }% - {% - #1=-1\relax - }% - }% - {% - \ifdefempty{\restB}% + \ifnum\dtl@codeA>\dtl@codeB + #1=1\relax + \else + \ifdefempty{\dtl@restA}% {% - #1=1\relax + \ifdefempty{\dtl@restB}% + {% + #1=0\relax + }% + {% + #1=-1\relax + }% }% {% - \edef\dtl@donext{% - \noexpand\dtlicompare - {\noexpand#1}% - {\expandonce\dtl@restA}% - {\expandonce\dtl@restB}}% - \dtl@donext + \ifdefempty{\dtl@restB}% + {% + #1=1\relax + }% + {% + \edef\dtl@donext{% + \noexpand\dtlicompare + {\noexpand#1}% + {\expandonce\dtl@restA}% + {\expandonce\dtl@restB}}% + \dtl@donext + }% }% - }% + \fi \fi \fi \fi - \fi + }% }% {% \edef\dtl@donext{% diff --git a/Master/texmf-dist/tex/latex/datatool/datatool-fp.sty b/Master/texmf-dist/tex/latex/datatool/datatool-fp.sty index 35e494caab0..3346d6576d6 100644 --- a/Master/texmf-dist/tex/latex/datatool/datatool-fp.sty +++ b/Master/texmf-dist/tex/latex/datatool/datatool-fp.sty @@ -7,7 +7,7 @@ %% datatool.dtx (with options: `datatool-fp.sty,package') %% %% datatool.dtx -%% Copyright 2018 Nicola Talbot +%% Copyright 2019 Nicola Talbot %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -39,7 +39,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{datatool-fp}[2018/12/07 v2.31 (NLCT)] +\ProvidesPackage{datatool-fp}[2019/09/27 v2.32 (NLCT)] \RequirePackage{xkeyval} \RequirePackage{fp} \RequirePackage{datatool-base} diff --git a/Master/texmf-dist/tex/latex/datatool/datatool-pgfmath.sty b/Master/texmf-dist/tex/latex/datatool/datatool-pgfmath.sty index 903eee29c8f..6a069ccf368 100644 --- a/Master/texmf-dist/tex/latex/datatool/datatool-pgfmath.sty +++ b/Master/texmf-dist/tex/latex/datatool/datatool-pgfmath.sty @@ -7,7 +7,7 @@ %% datatool.dtx (with options: `datatool-pgfmath.sty,package') %% %% datatool.dtx -%% Copyright 2018 Nicola Talbot +%% Copyright 2019 Nicola Talbot %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -39,7 +39,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{datatool-pgfmath}[2018/12/07 v2.31 (NLCT)] +\ProvidesPackage{datatool-pgfmath}[2019/09/27 v2.32 (NLCT)] \RequirePackage{xkeyval} \RequirePackage{pgfrcs,pgfkeys,pgfmath} \ProcessOptionsX diff --git a/Master/texmf-dist/tex/latex/datatool/datatool.sty b/Master/texmf-dist/tex/latex/datatool/datatool.sty index b90881d77b1..07b9a82f41b 100644 --- a/Master/texmf-dist/tex/latex/datatool/datatool.sty +++ b/Master/texmf-dist/tex/latex/datatool/datatool.sty @@ -7,7 +7,7 @@ %% datatool.dtx (with options: `datatool.sty,package') %% %% datatool.dtx -%% Copyright 2018 Nicola Talbot +%% Copyright 2019 Nicola Talbot %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -39,7 +39,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{datatool}[2018/12/07 v2.31 (NLCT)] +\ProvidesPackage{datatool}[2019/09/27 v2.32 (NLCT)] \RequirePackage{xkeyval} \RequirePackage{ifthen} \RequirePackage{xfor} @@ -637,7 +637,7 @@ {% {% \dtlgetrow{#1}{#2}% - \@dtl@assign{#3}{#1}% + \@dtl@assign{#3}{#1}% }% }% {% @@ -1330,7 +1330,7 @@ \gdef\DTLiffirstrow##1##2{% \expandafter\ifnum \csname c@DTLrow\romannumeral\dtlforeachlevel\endcsname - =1\relax + =1 %space intended ##1% \else ##2% @@ -1341,7 +1341,7 @@ \gdef\DTLiflastrow##1##2{% \expandafter\ifnum \csname c@DTLrow\romannumeral\dtlforeachlevel\endcsname - =\csname dtlrows@#2\endcsname\relax + =\csname dtlrows@#2\endcsname ##1% \else ##2% @@ -1380,10 +1380,7 @@ \expandafter\global \csname @dtl@next\romannumeral\dtlforeachlevel\endcsname = \dtlafterrow - \ifx\relax#3\relax - \else - \@dtl@assign{#3}{#2}% - \fi + \ifblank{#3}{}{\@dtl@assign{#3}{#2}}% \ifthenelse{#1}% {% \refstepcounter{DTLrow\romannumeral\dtlforeachlevel}% @@ -1484,7 +1481,7 @@ \gdef\DTLiffirstrow##1##2{% \expandafter\ifnum \csname c@DTLrow\romannumeral\dtlforeachlevel\endcsname - =1\relax + =1 % space intended ##1% \else ##2% @@ -1495,7 +1492,7 @@ \gdef\DTLiflastrow##1##2{% \expandafter\ifnum \csname c@DTLrow\romannumeral\dtlforeachlevel\endcsname - =\csname dtlrows@#2\endcsname\relax + =\csname dtlrows@#2\endcsname ##1% \else ##2% @@ -1522,11 +1519,11 @@ \expandafter\global \csname @dtl@cur\romannumeral\dtlforeachlevel\endcsname = \expandafter{\dtl@thisrow}% - \ifx\relax#3\relax - \else + \ifblank{#3}{} + {% \dtlcurrentrow=\expandafter{\dtl@thisrow}% \@dtl@assign{#3}{#2}% - \fi + }% \ifthenelse{#1}% {% \refstepcounter{DTLrow\romannumeral\dtlforeachlevel}% diff --git a/Master/texmf-dist/tex/latex/datatool/person.sty b/Master/texmf-dist/tex/latex/datatool/person.sty index 3c850394864..a5543e8dc26 100644 --- a/Master/texmf-dist/tex/latex/datatool/person.sty +++ b/Master/texmf-dist/tex/latex/datatool/person.sty @@ -7,7 +7,7 @@ %% datatool.dtx (with options: `person.sty,package') %% %% datatool.dtx -%% Copyright 2018 Nicola Talbot +%% Copyright 2019 Nicola Talbot %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -39,7 +39,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{person}[2018/12/07 v2.31 (NLCT)] +\ProvidesPackage{person}[2019/09/27 v2.32 (NLCT)] \RequirePackage{ifthen} \RequirePackage{datatool} \newcounter{people} |