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:
Heiko Oberdiek <[log in to unmask]>
Reply To:
Mailing list for the LaTeX3 project <[log in to unmask]>
Date:
Sat, 18 Sep 2010 12:07:00 +0200
Content-Type:
text/plain
Parts/Attachments:
text/plain (37 lines)
On Sat, Sep 18, 2010 at 09:57:04AM +0200, Frank Mittelbach wrote:

> Joseph Wright writes:
>  > On 17/09/2010 20:36, Frank Mittelbach wrote:
>  > > since you already looked at the different implementations, any suggestion on
>  > > how to best improve the LaTeX2e behaviour?
>  > 
>  > I take it that this does possibly count as a bug then, rather than as a 
>  > 'feature'?
> 
> it doesn't count as a bug I would say, for the simple reason that per
> specification the optional argument of \usepackage doesn't support a key value
> list but just a list of option names (that themselves have no spaces)
> separated by comma. Only  later packages appeared that internally added
> something like keyval and manipulated the received option list from
> \usepackage as a key/val list, but that happens after \usepackage has already
> removed spaces and unfortunately in this case also the braces.
> 
> pragmatic approach:
> 
>  you state that one needs to say ={,}  to make things work as this is a fairly
>  seldom issue
> 
> more elaborate approach
> 
>  change \@pass@ptions so that it only removes spaces up front, around a comma
>  and at the end

This isn't enough, there are many other places to fix. For example,
LaTeX removes used options from the global unused option list.
Because of the braces \@removeelement will break, because the option
is used inside the parameter text, where catcode 1 and 2 tokens are
forbidden.

Yours sincerely
  Heiko <[log in to unmask]>

ATOM RSS1 RSS2