I am trying to change the spacing of a chapter title head. I found the "\kern" command; however, I could not get that to work over a string of text. Then I found the following code: \def\dolist{\afterassignment\dodolist\let\next= } \def\dodolist{\ifx\next\endlist \let\next\relax \else \\\let\next\dolist \fi \next} \def\endlist{\endlist} \def\track#1\by#2{\def\\{\next\kern#2}% \leavevmode \hbox{\expandafter\dolist#1\endlist}} Then I tried: def\MyChapterCommand#1#2{ \framed[align=center,frame=off,width=\textwidth]{ \vbox{ \track{This is a Test} \by{.2em} \track #2 \by{.2em} } } \setuphead[chapter][ command=\MyChapterCommand } The output from the \track{This is a Test} \by{.2em} works. However, the second track command (\track #2 \by{0.2em}) fails. I spent many hours last night trying to change the kerning. What I want is something like: \kern{TEXT}{KERNING AMOUNT}. What's available, or how do I fix the track command above. By the way,I'm running mkii. Thanks, Bart
Am 12.11.2008 um 16:48 schrieb Bart C. Wise:
I am trying to change the spacing of a chapter title head. I found the "\kern" command; however, I could not get that to work over a string of text.
Then I found the following code: \def\dolist{\afterassignment\dodolist\let\next= } \def\dodolist{\ifx\next\endlist \let\next\relax \else \\\let\next\dolist \fi \next} \def\endlist{\endlist} \def\track#1\by#2{\def\\{\next\kern#2}% \leavevmode \hbox{\expandafter\dolist#1\endlist}}
Then I tried:
def\MyChapterCommand#1#2{ \framed[align=center,frame=off,width=\textwidth]{ \vbox{ \track{This is a Test} \by{.2em} \track #2 \by{.2em} } } \setuphead[chapter][ command=\MyChapterCommand }
The output from the \track{This is a Test} \by{.2em} works. However, the second track command (\track #2 \by{0.2em}) fails.
I spent many hours last night trying to change the kerning. What I want is something like: \kern{TEXT}{KERNING AMOUNT}.
What's available, or how do I fix the track command above. By the way,I'm running mkii.
Search for \stretched and \stretchednormalcase. http://archive.contextgarden.net/message/20080815.074940.ae67f770.en.html Wolfgang
Wolfgang, It works! Thanks, Bart On Wednesday 12 November 2008 08:54:49 am Wolfgang Schuster wrote:
Am 12.11.2008 um 16:48 schrieb Bart C. Wise:
I am trying to change the spacing of a chapter title head. I found the "\kern" command; however, I could not get that to work over a string of text.
Then I found the following code: \def\dolist{\afterassignment\dodolist\let\next= } \def\dodolist{\ifx\next\endlist \let\next\relax \else \\\let\next\dolist \fi \next} \def\endlist{\endlist} \def\track#1\by#2{\def\\{\next\kern#2}% \leavevmode \hbox{\expandafter\dolist#1\endlist}}
Then I tried:
def\MyChapterCommand#1#2{ \framed[align=center,frame=off,width=\textwidth]{ \vbox{ \track{This is a Test} \by{.2em} \track #2 \by{.2em} } } \setuphead[chapter][ command=\MyChapterCommand }
The output from the \track{This is a Test} \by{.2em} works. However, the second track command (\track #2 \by{0.2em}) fails.
I spent many hours last night trying to change the kerning. What I want is something like: \kern{TEXT}{KERNING AMOUNT}.
What's available, or how do I fix the track command above. By the way,I'm running mkii.
Search for \stretched and \stretchednormalcase.
http://archive.contextgarden.net/message/20080815.074940.ae67f770.en.html
Wolfgang
___________________________________________________________________________ ________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________ ________
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? On Wednesday 12 November 2008 09:28:39 am Bart C. Wise wrote:
Wolfgang,
It works!
Thanks, Bart
On Wednesday 12 November 2008 08:54:49 am Wolfgang Schuster wrote:
Am 12.11.2008 um 16:48 schrieb Bart C. Wise:
I am trying to change the spacing of a chapter title head. I found the "\kern" command; however, I could not get that to work over a string of text.
Then I found the following code: \def\dolist{\afterassignment\dodolist\let\next= } \def\dodolist{\ifx\next\endlist \let\next\relax \else \\\let\next\dolist \fi \next} \def\endlist{\endlist} \def\track#1\by#2{\def\\{\next\kern#2}% \leavevmode \hbox{\expandafter\dolist#1\endlist}}
Then I tried:
def\MyChapterCommand#1#2{ \framed[align=center,frame=off,width=\textwidth]{ \vbox{ \track{This is a Test} \by{.2em} \track #2 \by{.2em} } } \setuphead[chapter][ command=\MyChapterCommand }
The output from the \track{This is a Test} \by{.2em} works. However, the second track command (\track #2 \by{0.2em}) fails.
I spent many hours last night trying to change the kerning. What I want is something like: \kern{TEXT}{KERNING AMOUNT}.
What's available, or how do I fix the track command above. By the way,I'm running mkii.
Search for \stretched and \stretchednormalcase.
http://archive.contextgarden.net/message/20080815.074940.ae67f770.en.html
Wolfgang
_________________________________________________________________________ __ ________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net _________________________________________________________________________ __ ________
___________________________________________________________________________ ________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________ ________
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 Wolfgang
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
Wolfgang
___________________________________________________________________________ ________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : https://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________ ________
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 -----------------------------------------------------------------
On Thursday 13 November 2008 12:46:27 am Hans Hagen wrote:
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.htm l
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, I tried the above code and it failed. I looked around on the ConTeXt site and the web in general. It seems like a \defineproperty[stretch] needs to be declared, but I can't find it anywhere. You'll have to excuse my ignorance, but will you be explicit on how to use the \startproperty[stretch] stretch \stopproperty. Bart
Bart C. Wise wrote:
I tried the above code and it failed. I looked around on the ConTeXt site and the web in general. It seems like a \defineproperty[stretch] needs to be declared, but I can't find it anywhere. You'll have to excuse my ignorance, but will you be explicit on how to use the \startproperty[stretch] stretch \stopproperty.
hm, something is missing in the mkii file \unprotect \definepropertyhandler \v!stretch{0} \protect (you can also tune the 'normal effect') consider all this a hack, since tex does not know about the right dimensions in mkiv there's \start \dosetstretch{.25em} \setuptolerance[tolerant,stretch] \input tufte \endgraf \stop \start \dosetstretch{.5em} effe flink doorfietsen \stop (not yet interfaced but it should work) Hans ----------------------------------------------------------------- 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 -----------------------------------------------------------------
On Thu, Nov 13, 2008 at 7:18 AM, Bart C. Wise
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
\def\Myheader#1#2% {\framed [width=0.60\textwidth, frame=off, align=middle] {\determineheadnumber[chapter] \expanded{\stretchednormalcase{CHAPTER~\convertnumber{englishnumbers}{\currentheadnumber}}} \blank#2}} \def\englishnumbers#1{ \ifcase#1 \or ONE\or TWO\or THREE\or FOUR\or FIVE\fi} \defineconversion[englishnumbers][\englishnumbers] \setuphead [chapter] [command=\Myheader, deeptextcommand=\stretchednormalcase, textstyle=\bfd]
P.S. If there's a better way to do the number->word conversion, let me know.
Search for \numprint in the list archive. Wolfgang
Wolfgang, Thanks so much for your help! It works exactly as I desire. Bart On Thursday 13 November 2008 01:36:11 am Wolfgang Schuster wrote:
On Thu, Nov 13, 2008 at 7:18 AM, 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
\def\Myheader#1#2% {\framed [width=0.60\textwidth, frame=off, align=middle] {\determineheadnumber[chapter]
\expanded{\stretchednormalcase{CHAPTER~\convertnumber{englishnumbers}{\curr entheadnumber}}} \blank#2}}
\def\englishnumbers#1{ \ifcase#1 \or ONE\or TWO\or THREE\or FOUR\or FIVE\fi}
\defineconversion[englishnumbers][\englishnumbers]
\setuphead [chapter] [command=\Myheader, deeptextcommand=\stretchednormalcase, textstyle=\bfd]
P.S. If there's a better way to do the number->word conversion, let me know.
Search for \numprint in the list archive.
Wolfgang
participants (3)
-
Bart C. Wise
-
Hans Hagen
-
Wolfgang Schuster