Latest news 2021-06-05: New blog post: Dickimaw Books Site Account.

# Bug Tracker

ID 99🔗 2015-11-12 03:49:52 Closed (Fixed) datatool 2.23 strange behavior of \dtlcompare

## Description

I used the example from the doc-code and I cannot explain the result of \dtlcompare{\mycount}{\noopsort{z}foo}{bar}\number\mycount{} that should be 1 and not -1 as {z}foo is greater than bar.

## MWE

\documentclass[12pt,a4paper,final]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\listfiles

\usepackage[verbose]{datatool}

\begin{document}
\newcount\mycount
\newcommand*{\noopsort}[1]{}

\verb+\newcommand*{\noopsort}[1]{}+ then \verb+\noopsort{a}foo+  produces the text: foo, however the following

\verb+\dtlcompare{\mycount}{\noopsort{a}foo}{bar}\number\mycount+

produces: -1, since the command \verb+\noopsort+ is disregarded when the comparison is made, so \verb+\dtlcompare+ just compares \{a\}foo with bar, and since a is less than b, the first string is considered to be less than the second string.

A. result with \verb+\noopsort{a}foo}+ \dtlcompare{\mycount}{\noopsort{a}foo}{bar}\number\mycount{} as expected

B. result with \verb+\noopsort{z}foo}+
\dtlcompare{\mycount}{\noopsort{z}foo}{bar}\number\mycount{}. Should it not be 1?
\end{document}



## Evaluation

I'm sorry, it turns out the documentation was wrong. What actually happens is that commands are treated as though they have a character code of 0. Since this may cause a problem for backward-compatibility for documents that rely on the actual behaviour (rather than the intended behaviour) I've added a switch \ifdtlcompareskipcs to version 2.32. This is false by default to maintain current behaviour but if you switch it to true (\dtlcompareskipcstrue) before making the comparison you should get the intended behaviour.

Name (optional):

Are you human? Please confirm the bug report ID (which can be found at the top of this page) or login if you have an account.

Comment:

You can use the following markup:

Block:

[pre]Displayed verbatim[/pre]
[quote]block quote[/quote]

In line:

[tt]code[/tt]
[file]file/package/class name[/file]
[em]emphasized text[/em]
[b]bold text[/b]
[url]web address[/url] [sup]superscript[/sup]
[sub]subscript[/sub]

Ordered list:
[ol]
[li]first item[/li]
[li]second item[/li]
[/ol]

Unordered list:
[ul]
[li]first item[/li]
[li]second item[/li]
[/ul]

You can use the Preview button to review your message formatting before submitting.