LATEX-L Archives

Mailing list for the LaTeX3 project

LATEX-L@LISTSERV.UNI-HEIDELBERG.DE

Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

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

Print Reply
Subject:
From:
Lars Hellström <[log in to unmask]>
Reply To:
Mailing list for the LaTeX3 project <[log in to unmask]>
Date:
Mon, 17 Aug 2009 12:59:34 +0200
Content-Type:
text/plain
Parts/Attachments:
text/plain (36 lines)
Will Robertson skrev:
> Lars, do you have any comments about whether the new xparse is something 
> you'd like to use in your own work? Your code, of course, was the big 
> motivation for the "argument processor" idea and I'd hope that while we 
> didn't manage to fit everything from xdoc2l3 into xparse there's still 
> enough that you'd like to use.

Haven't had time to review the code yet, I've only just downloaded it. 
Will get back to you when I have had a look at it. (I'm especially 
curious to how on earth you managed to do optional arguments at 
expand-time.)

Have latex'ed xparse.dtx, though, and it throws a few errors in the 
index. I think those are due to \xparse_add_type_>:, as the ">" is 
special to makeindex, forcing an extra index level where none was 
intended. Harmless character sequences avoids that trap. ;-)

In the meantime, here are some technical issues to consider.

1. What happens if I do this:

   \DeclareDocumentCommand{\foo}{ +O{\par} m +O{\par} }{ ... }

? One technical problem I saw in xdoc2l3 was that of simultaneously 
having \par tokens in defaults and non-long arguments.

2. What happens (for the various argument types) when TeX fails to grab 
an argument? (Failures happen for long arguments when encountering a 
mismatched right brace, and for short argument also when encountering a 
\par token.) To keep in line with TeX, everything up to the ungrabbable 
token should disappear, but an uncareful implementation could leave 
other tokens in place as well, which would subject the user to 
mysterious additional errors.

Lars Hellström

ATOM RSS1 RSS2