Subject: | |
From: | |
Reply To: | |
Date: | Wed, 10 Jun 2009 18:40:12 +0200 |
Content-Type: | text/plain |
Parts/Attachments: |
|
|
Am Wed, 10 Jun 2009 08:25:23 +0100 schrieb Joseph Wright:
> I wonder if the pgfkeys idea of using one macro to create and set keys
> is confusing. Currently, it is what I've done in keys3:
>
> \keys_manage:n{
> % Some keys are created
> }
> \keys_manage:n{
> % Some keys are set
> }
>
> but do other people think that strict separation:
>
> \keys_generate:n {
> % Some keys are created
> }
> \keys_set:n {
> % Some keys are set
> }
>
> is clearer?
Yes.
>
> The other question is how to make keys in this way. keys3 uses the idea
> of properties:
>
> key name/.property = value
>
> for example
>
> \module\my~key/.tl_set:N = \l_module_my_tl,
> \module\my~key/.default:n = {default}
>
> to create a key which will store its input in a tl. On the other hand,
> template uses and "extended key-value" approach:
>
> key name =<type> [default] <function>
>
> for example:
>
> my key =n [default] \l_module_my_tl
>
> Both ideas have some good points. template keeps everything in one line,
> which probably makes it easier to see what goes with what. On the other
> hand, the pgfkeys approach does not need any special layout of the input
> to work.
>
> I wonder how other people see the two schemes, and if there are other
> ways that similar effects can be achieved.
I would prefer the two step method -- because it probably means that
you can change the default independently from the function.
(I haven't never really tried to use pgfkeys because the last time I
looked at it it wasn't babel safe and all the spaces in the key
names in the documentation make me nervous.)
--
Ulrike Fischer
|
|
|