On Sat, Jul 17 2010, Mojca Miklavec wrote:

> A few random comments from externalfigure:
> - Despite the fact that the command name is known from filename,
> wouldn't it be nice to have externalfigure string defined somewhere?

Ok, see response to Taco.


> - It is not really needed, but it helps when cross-referencing: I
> would nevertheless leave the [1] = {...}, [2] = {...} for arguments
> - The following:
>     settings = {
>         inherit = "useexternalfigure",
>         -- n = 3 not needed, since one command has only one settings-option
>     },
> is a bit weird to me. Why not putting the "inherit" already under
> arguments above? And yes, you probably do need to tell from which
> argument of \useexternalfigure you want to inherit the settings.

>From my very small ConTeXt experience, I made some assumptions:
- one command has no more than one settings-option (key-val-pairs)
- one command has no more than one keywords-option

If this is true, then there is no problem with cross-referencing.
The n = X would be even difficult, when there a variants: imagine,
\useexternalfigure can have settings at n = 2 or n = 4 and so on.

And I like the separate settings-table, because it can be very big and
would clutter the arguments table.

If my assumptions are wrong, then there will be more problems:
perhaps the settings must go into the arguments table or we need a lot of
numbering (n = X here and there).


> - If all the three arguments are optional, it's a bit difficult to
> tell what combination of arguments is allowed, so it might make sense
> to be a bit more verbose in that (to tell somehow that for example
> only 123 and 23 and 3 is allowed, but not 13 for example), but this is
> not too important.

I think, there has to be some introduction chapter for the user with the
general rules in ConTeXt-commands. I suppose these rules:
- when a command has an optional keyword-option and an optional
  settings-option and you use only one of them, you don't need a
  placeholder (empty bracket pair)
  example: \setupitemize[packed] or \setupitemize[start=5]
  (context is intelligent here)
- context cannot distinguish between label and keyword, so if you want to
  use a label in \placefloat, you must add a placeholder for the keyword

Hans can tell us perhaps more about these rules...

Furthermore, we can add in this introduction some notes about spaces:
- space is allowed between 2 bracket options
- space is allowed after a comma
- space is not allowed before and after the =
- space is gobbled after ] if not all optional arguments are used

Cheers, Peter

-- 
Contact information: http://pmrb.free.fr/contact/


_______________________________________________
dev-context mailing list
dev-context@ntg.nl
http://www.ntg.nl/mailman/listinfo/dev-context

Reply via email to