[NTG-context] Kerning
Hans Hagen
pragma at wxs.nl
Thu Nov 13 08:46:27 CET 2008
Bart C. Wise wrote:
> Wolfgang, thanks so much for your help so far.
>
> I was able to take the code and make it work correctly to stretch the chapter
> title. What I want is two lines for a chapter head. For example,
> Line 1: "Chapter One"
> Line 2: "Title for Chap 1"
>
> I want line 1 to be stretched. Everything I have tried does not work. I can
> get the "Chapter" word to stretch, but not the whole line (and it should
> probably be treated as a whole line when stretching). I was never able to get
> the chapter number (now a word) to stretch.
>
> So how do I grab the output for line 1 and then stretch it?
>
> Here's a sample of what I have without any stretching:
>
> \def\Myheader#1#2{%
> \framedtext[width=0.60\textwidth, frame=off, align=middle]{%
> \vbox{\headtext{chapter}~#1 \blank #2}}}
>
> \def\englishnumbers#1{
> \ifcase#1 \or ONE\or TWO\or THREE\or FOUR\or FIVE\fi}
> \defineconversion[englishnumbers][\englishnumbers]
>
> \setupsection[chapter][conversion=englishnumbers]
> \setuphead [chapter][
> command=\Myheader,
> textcommand=\bfd,
> ]
> \setupheadtext[chapter=CHAPTER] % used by \headtext
> \starttext
> \chapter{Title for Chap 1}
> \processfile{tufte}
> \stoptext
>
>
> P.S. If there's a better way to do the number->word conversion, let me know.
>
>
> On Wednesday 12 November 2008 10:17:35 am Wolfgang Schuster wrote:
>> Am 12.11.2008 um 18:03 schrieb Bart C. Wise:
>>> Okay, it works until I place an an argument in the stretched command.
>>>
>>> def\MyChapterCommand#1#2{
>>> \framed[align=center,frame=off,width=\textwidth]{
>>> \vbox{
>>> fails--> \stretched{#2}
>>> works--> \stretched{This is a Test}
>>> }
>>> }
>>> \setuphead[chapter][
>>> command=\MyChapterCommand
>>> }
>>>
>>>
>>> I get the following error when I run texexec:
>>>
>>> ! Missing \endcsname inserted.
>>> <to be read again>
>>> \let
>>> \nextprocessedtoken ...oup \ifincolor \ifcsname #1
>>> #3\endcsname \let
>>> \dostopa...
>>>
>>> \dodoprocesstokens ...token \let \before \between
>>> \fi \let
>>> \nextprocessedtok...
>>> <argument> This is a test: \dostartattributes
>>> {\??ko \v!title }\c!style
>>> \c!c...
>>>
>>> \processtokens ...fore \before \doprocesstokens #5
>>> \lastcharacter
>>> \endgroup
>>> \stretched ... \relax \hss \relax {\hss \hss }{#1}
>>> \egroup
>>> ...
>>>
>>> How can I use the #1 & #2 arguments in the stretched command?
>> You could use it only with \deeptextcommand, here is a old mail
>> with a example from Hans (you could ignore the other code).
>>
>> http://archive.contextgarden.net/message/20060113.102321.bf24d7ca.en.html
look for the property mechanism
\startproperty[stretch]stretched\stopproperty
token processing is always tricky since the parser does not know what to
expect; properties use a pdf trick; in mkiv we have more clever stretching
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
| www.pragma-pod.nl
-----------------------------------------------------------------
More information about the ntg-context
mailing list