LATEX-L Archives

Mailing list for the LaTeX3 project


Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Condense Mail Headers

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

Print Reply
Mailing list for the LaTeX3 project <[log in to unmask]>
Sat, 16 Aug 2014 01:14:29 -0400
Mailing list for the LaTeX3 project <[log in to unmask]>
<[log in to unmask]> (Sean Allred's message of "Sat, 16 Aug 2014 01:07:46 -0400")
Sean Allred <[log in to unmask]>
text/plain (47 lines)
Hello everyone,

There was recently a conversation on TeX.SX [1] between (mainly) Joseph
Wright and myself.  Please see that site for the full conversation that
prompted this.

Disclaimer: I'm a huge fan of the template idea.  It is a good system
and I don't want it to see unnecessary change.

Disclaimer to the disclaimer: it's the only design management paradigm
that I've come into contact with in regards to TeX.  :)

I'd like to raise attention to a possible issue with xtemplate's
design.  Currently, an 'object' can receive no more than nine arguments
per TeX's syntax limitations: you cannot refer to a tenth argument in a
macro definition.  That is,

    \DeclareObject { foo } { 10 }

will fail.  In TeX terms, this makes total sense.  You cannot have more
than nine mandatory arguments for any single macro---that's just the way
it is.  But speaking in terms of design, there are instances where such
an object can have more than nine arguments.  In reality, this is the
decision of the document designer.  There should be no such limitation
on the design.

I'll refer you to the original post for Joseph's full answer, but his
suggestion is, in my opinion, a very appropriate one: going for a
completely key--value interface on the design layer (note: not the
author layer).  It would certainly remove the limitation on the number
of mandatory qualities an object may have.  It would also seem to be
more befitting of the verbose clarity of the design layer to do this.

I'd like to call for thoughts on the topic.  Again, I strongly recommend
you read Jospeh's response to my question [1].  I recognize that the
premise of the question might be flawed---in this instance (no pun
intended), it would likely be more appropriate to create a template with
all of the 'extras'---but the concern is valid and genuine.

All the best,


Sean Allred