18 Jul
2010
18 Jul
'10
7:38 a.m.
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/