LATEX-L Archives

Mailing list for the LaTeX3 project

LATEX-L@LISTSERV.UNI-HEIDELBERG.DE

Options: Use Classic View

Use Monospaced Font
Show Text Part by Default
Condense Mail Headers

Topic: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Sender: Mailing list for the LaTeX3 project <[log in to unmask]>
Date: Sun, 2 Jan 2011 11:45:58 +0000
Reply-To: Mailing list for the LaTeX3 project <[log in to unmask]>
Message-ID: <[log in to unmask]>
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
In-Reply-To: <[log in to unmask]>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
From: Joseph Wright <[log in to unmask]>
Parts/Attachments: text/plain (31 lines)
On 01/01/2011 21:16, Arno Trautmann wrote:
> Paul Thompson wrote:
>> What sort of documentation is available for \pdfstrcmp?  I confess that I have
>> never heard of this toolset.
>
> pdfTeX manual says:
>
> \pdfstrcmp<general text>  <general text>  (expandable)
> This command compares two strings and expands to 0 if the strings are
> equal, to -1 if the first string ranks before the second, and to 1
> otherwise. The primitive was introduced in pdfTEX 1.30.0.
>
> searching the internet may bring even more information.

Like many of the newer pdfTeX primitives, there is to some extend a need 
to 'suck it and see' to find out what happens. For LaTeX3, all we do is 
use the 'equal' test. The test does expansion, so to test two token 
lists as strings without any expansion, you do

\def\StringCompareTF#1#2{%
   \ifnum\pdfstrcmp{\unexpanded{#1}}{\unexpanded{#2}}=\z@
     \expandafter\@firstoftwo
   \else
     \expandafter\@secondoftwo
   \fi
}

or code to that effect.
--
Joseph Wright

ATOM RSS1 RSS2