LATEX-L Archives

Mailing list for the LaTeX3 project


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: Sat, 18 Sep 2010 12:31:15 +0200
Content-Disposition: inline
Reply-To: Mailing list for the LaTeX3 project <[log in to unmask]>
MIME-Version: 1.0
Message-ID: <[log in to unmask]>
In-Reply-To: <[log in to unmask]>
Content-Type: text/plain; charset=us-ascii
From: Heiko Oberdiek <[log in to unmask]>
Parts/Attachments: text/plain (36 lines)
On Fri, Sep 17, 2010 at 09:36:09PM +0200, Frank Mittelbach wrote:

> Hi Heiko,
>  > LaTeX2e uses \zap@space to remove the spaces in the option lists.
>  > As a side effect \zap@space also removes the braces around the
>  > comma, because the group is followed immediately after a space:
> since you already looked at the different implementations, any suggestion on
> how to best improve the LaTeX2e behaviour?

Because of the frozen nature of LaTeX2e I don't expect that LaTeX2e
is/can/will improved. In the next postings you have already answered
it that way.

Example, preserving spaces in option names (with or without around
equals) will break, for instance:
  \documentclass[a4 paper, 12 pt]{documentclass}

My recommendation for package authors that use key value interfaces
is to provide a \<package>setup command for setting the options
and getting rid of the option limitations of LaTeX2e.

Also setting options in \usepackage makes problems with option
clashes more likely, especially if the package is already loaded
without options.

Another problem is that the option share the same namespace.
Global options can trigger wanted and unwanted actions in
different packages, that knows the same option. That's even
more problematic for key value options, where the packages
interprete the same keys, but the values with different syntax.

Yours sincerely
  Heiko <[log in to unmask]>