LATEX-L Archives

Mailing list for the LaTeX3 project

LATEX-L@LISTSERV.UNI-HEIDELBERG.DE

Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Ulrike Fischer <[log in to unmask]>
Reply To:
Mailing list for the LaTeX3 project <[log in to unmask]>
Date:
Wed, 10 Jun 2009 18:40:12 +0200
Content-Type:
text/plain
Parts/Attachments:
text/plain (64 lines)
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 

ATOM RSS1 RSS2