diff options
author | Karl Berry <karl@freefriends.org> | 2010-07-11 01:02:19 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-07-11 01:02:19 +0000 |
commit | 0baee1132ce277d359c0b7466f457099243984e1 (patch) | |
tree | 72e5102e25f19d01df23ca624591a85c91cadc52 /Master/texmf-dist/doc | |
parent | 03170d5abeac0fc65b591f3177205c770f3220bc (diff) |
yax update (10jul10)
git-svn-id: svn://tug.org/texlive/trunk@19360 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc')
-rw-r--r-- | Master/texmf-dist/doc/generic/yax/README | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/yax/yax-doc.pdf | bin | 118088 -> 122921 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/yax/yax-doc.tex | 70 |
3 files changed, 48 insertions, 24 deletions
diff --git a/Master/texmf-dist/doc/generic/yax/README b/Master/texmf-dist/doc/generic/yax/README index 21040a05a00..8a87c10a42a 100644 --- a/Master/texmf-dist/doc/generic/yax/README +++ b/Master/texmf-dist/doc/generic/yax/README @@ -2,7 +2,7 @@ This is the README file for the YaX package. Author: Paul Isambert. E-mail: zappathustra AT free DOT fr Comments and suggestions are welcome. -Date: June 2010. +Date: July 2010. The package is a format-independent key system, with some peculiarities. diff --git a/Master/texmf-dist/doc/generic/yax/yax-doc.pdf b/Master/texmf-dist/doc/generic/yax/yax-doc.pdf Binary files differindex 23eef84a30c..c0de8b0ddb4 100644 --- a/Master/texmf-dist/doc/generic/yax/yax-doc.pdf +++ b/Master/texmf-dist/doc/generic/yax/yax-doc.pdf diff --git a/Master/texmf-dist/doc/generic/yax/yax-doc.tex b/Master/texmf-dist/doc/generic/yax/yax-doc.tex index 45ce047d1ee..8ac6af50695 100644 --- a/Master/texmf-dist/doc/generic/yax/yax-doc.tex +++ b/Master/texmf-dist/doc/generic/yax/yax-doc.tex @@ -4,7 +4,7 @@ author = "Paul Isambert" title = \yax pdftitle = YaX - version = 1.0 + version = \yaxversion date = "\the\month/\the\day/\the\year" display = outlines subject = "The YaX documentation." @@ -57,7 +57,8 @@ \def#1{\arg{#2}\kern1pt\antigobblespace}% } \defarg\param{parameter} \defarg\paralist{list of parameters} -\defarg\attr{attribute} \def\paramatt{\param\kern-1pt\tcode:\attr\antigobblespace} +\defarg\attr{attribute} \defarg\attrlist{list of attributes} +\def\paramatt{\param\kern-1pt\tcode:\attr\antigobblespace} \defarg\attrlist{list of attributes} \defarg\vallist{list of values} \defarg\value{value} \defarg\ospace{optional space} \defarg\andvalue{value exists} \defarg\orvalue{no value} @@ -146,6 +147,11 @@ or \verb/\usemodule[yax]/ respectively; anywhere else just use \verb/\input yax/ +\describe!\yaxversion. +Starting with version 1.01, this macro holds \yax's version. Current is \yaxversion. + + + \section{Setting parameters} @@ -169,8 +175,8 @@ Its simplified syntax is as follows: \syntax \noindent\com\setparameter \paralist\ : - \attr\ = \value - \attr\ = \value + \attrlist\ = \value + \attrlist\ = \value ... \noindent\com\par \syntax/ @@ -211,24 +217,25 @@ by default it does the same thing as using one big \com\setparameter. I say parameter might be active and have deleted its own attributes after the first call, which anyway is something we'll see later. -Each \attr is made of the same thing as \param: i.e. anything expandable. -However, an \attr cannot have a name beginning with the strings \verb/e:/, -\verb/g:/ and \verb/x:/. Indeed, these prefixes are used to specify -how an attribute is to be defined, and they are similar to \com\edef, +Like \paralist, \attrlist is a list of space-delimited attributes. +Each \attr is made of the same thing as a \param: i.e. anything expandable. +However, at the beginning of a \attrlist, the strings \verb/e:/, \verb/g:/ and \verb/x:/ +have a special meaning: these prefixes are used to specify +how an attribute or list of attributes is to be defined, and they are similar to \com\edef, \com\gdef and \com\xdef (with no prefix meaning \com\def), i.e.: \example \setparameter foo : - one = \whatever - e: two = \whatever - g: three = \whatever - x: four = \whatever + one = \whatever + e: two = \whatever + g: three = \whatever + x: four five = \whatever \example/ \noindent defines, for the parameter \verb/foo/, the attributes \verb/one/ -and \verb/three/ as \com\whatever and the attributes \verb/two/ and \verb/four/ +and \verb/three/ as \com\whatever and the attributes \verb/two/, \verb/four/ and \verb/five/ as the full expansion of \com\whatever; moreover, \verb/one/ and \verb/two/ -are locally defined, whereas \verb/three/ and \verb/four/ are globally +are locally defined, whereas \verb/three/, \verb/four/ and \verb/five/ are globally defined. The space between the prefix and the name of the parameter is optional. @@ -237,7 +244,7 @@ a space, e.g.: \example \setparameter Zappa : - first name = Frank + firstname = Frank motto = {Music is the best} ... \example/ @@ -253,7 +260,7 @@ Otherwise, \arg{value} can be given between double quotes: \example \setparameter Zappa : - first name = "Frank" + firstname = "Frank" motto = "Music is the best" hairstyle = "\mustache" \example/ @@ -262,7 +269,7 @@ Otherwise, \arg{value} can be given between double quotes: end of the line is optional and the following can be done: \example -\setparameter Zappa:first name="Frank"motto="Music is the best"...\par +\setparameter Zappa:firstname="Frank"motto="Music is the best"...\par \example/ \noindent Finally, there's a special rule. Control sequences gobble the @@ -318,8 +325,9 @@ in an orderly fasion, e.g.: \example \setparameter page : - pagewidth = 32cm - pageheight = 30cm + pagewidth = 30cm + pageheight = 32cm + top bottom = 2cm lines = 45 whatever = \foo ... @@ -333,9 +341,21 @@ in an orderly fasion, e.g.: \noindent Thus, I find commas to delimit values equally superfluous and find the odd quote better. Anyway setting parameters is far from the whole story. +But before turning to how to use them, here's on fast way of setting a single attribute: - - +\describe\setattribute\paramatt=\value\arg{space}. +\describe\esetattribute\paramatt=\value\arg{space}. +\describe\gsetattribute\paramatt=\value\arg{space}. +\describe\xsetattribute\paramatt=\value\arg{space}. +This sets \attr (no list) for \param (no list) to \value; see +below for the \paramatt syntax. Note that the \arg{space} is for real, +so don't forget it. The `=' sign may be surrounded by optional space. +This command can be used instead of \com\setparameter for two reasons: +first, it is much faster (because it doesn't take lists into account); +second, if \param is active it is \ital{not} executed (see the section +\pdfstartlink attr{/B [0 0 0]} goto name{defpar} \ital{Defining parameters}\pdfendlink). +The \verb"e-", \verb"g-" and \verb"x-"versions sets the attribute +with the \verb"e:", \verb"g:" and \verb"x:" prefixes respectively. @@ -692,6 +712,7 @@ you redefine the default commands, which is dangerous. To be precise, the commands copied are (omitting the \verb/-or/ and \verb/-and/ variants, which are created too, if any): +\com\setattribute, \com\esetattribute, \com\gsetattribute, \com\xsetattribute, \com\ifattribute, \com\usevalue, \com\passvalue, \com\passvaluenobraces, \com\settovalue, \com\storevalue, \com\ifvalue, \com\ifcasevalue, \com\deleteattribute and \com\restrictattribute (which you'll learn @@ -779,8 +800,8 @@ only the former restriction holds. E.g.: - \section{Defining parameters} +\pdfdest name {defpar} xyz \describe\defparameter\paralist\barg{definition}. Parameters aren't just a way of organizing attributes. They @@ -848,7 +869,10 @@ Fascinating. Once again? Cool. \Example/ -\vskip-2\baselineskip + +{\it\noindent See next page for the last example.} + + \Example \setparameter metasection : skip = 2 |