[NTG-context] programming: doifdefined & friends

Henning Hraban Ramm hraban at fiee.net
Thu Oct 5 02:56:43 CEST 2006

Am 2006-10-05 um 02:42 schrieb Henning Hraban Ramm:

> -----
> \starttext
> \def\myvar{JAJAJA}
> \input tufte
> \doifdefined{\myvar}{\par bla \myvar blub\par}
> \input tufte
> \stoptext
> -----

Sorry for bothering you, I found it myself: I must leave out the  
backslash in the condition.

But so I'm still stuck with this snippet from the LilyPond module,  
where Christopher used a lot of catcode trickery:

\layout {/string^^J
	\override Staff.TimeSignature  #'font-name = #/lily!fontname/string^^J
	\override Staff.MultiMeasureRestText  #'font-name = #/lily!fontname/ 
	\override Score.LyricText  #'font-name = #/lily!fontname/string^^J
	\override ChordNames.ChordName  #'font-name = #/lily!fontname/string^^J
! Undefined control sequence.
\lily!prefix ...ure #'font-name = #\lily!fontname
\override Staff....
<argument> ...nd-\the \lily!figures ]\lily!prefix
                                                   \lily!hash (set- 

\expanded ...\long \xdef \@@expanded {\noexpand #1
\dodostartlilypond ...e \lily!fragmentsuffix \fi }
                                                   \endbuffer \par  
\def \LP {...
l.43 \stoplilypond

I'm trying to introduce a "fontname" setting in \setuplilypond that  
should generate the \layout{...} block in the LilyPond file if used  
and nothing if not.

I know how to do that with numbers and yes/no settings, because there  
are some samples in the module, but unfortunately no string settings  
- and I don't understand the samples that I found in the ConTeXt  
sources either.

Greetlings from Lake Constance!
http://www.cacert.org (I'm an assurer)

More information about the ntg-context mailing list