Subject: | |
From: | |
Reply To: | |
Date: | Sun, 23 Aug 2009 13:44:13 +0100 |
Content-Type: | text/plain |
Parts/Attachments: |
|
|
Frank Mittelbach wrote:
> sorry not very clear I agree. This remark was largely due to a
> misunderstanding on my part from reading the current documentation For example
>
> \foo {[}bar]{baz}
>
> shouldn't be interpreted as \foo[bar]{baz} (which it isn't, except in a
> special extension).
I do hope that the reasoning for including
\DeclareExpandableDocumentCommand is okay. It seemed like a better way
to cover the special cases than the current ad hoc situation.
> > As you probably realise, my overall feeling is that for many (most?) end
> > users, a LaTeX2e-like syntax will remain the best way to use LaTeX
> > whatever we deliver as LaTeX3.
>
> agreed, but that doesn't mean that it (the final standard syntax) is equal to 2e syntax
I did say "LaTeX3e-like", meaning something that probably involves TeX
escaped keywords and so on. I'd not expect nothing to change.
> On the other hand I would probably prefer the current state to be called
> xparse-2e and run with that as stable. Then Bill, for example, could easily
> build a matching xparse-gellmu and promote using this document level syntax
> for accessing the other latex3 layers, etc. And we can leave the name xparse
> for a more "final" interface version.
How do you see that working with things like \DeclareDocumentCommand.
Two options come to mind:
1) Given them names which reflect the separation
(\DeclareLaTeXDocumentCommand, etc.)
2) Add an extra "model" argument:
\DeclareDocumentCommand { <model> } { <name> } { <argument-detail> }
{ <code> }
where we make no assumptions about anything here and do something like
\cs_set_protected:Npn \DeclareDocumentCommand #1#2#3#4 {
\cs_if_exist:cTF { xparse_declare_cmd_ #1 :nnn } {
\use:c { xparse_ #1 _declare_cmd:nnn } {#2} {#3} {#4}
}{
\msg_error:nnx { xparse } { unknown-model } {#1}
}
}
This would assume dividing the current code in half: one truly generic
part to just provide things like \DeclareDocumentCommand, and one
containing the xparse-2e idea.
--
Joseph Wright
|
|
|