All,
I couldn't resist spending some time today working on the Greek
problem. I'm trying to write a proper module that would allow me to set
up definitions for fonts and scaling. But I'm running into a problem
that is beyond my meagre TeX abilities. I want to define the
setup-command like so (using code that Taco send to the list a couple
of months ago and that can be found on the wiki):
\unprotect
\def\setupgreek{\dodoubleempty\dosetupgreek}
\def\dosetupgreek#1[#2]{%
\getparameters[GG][Scale=,Font=,#2]%Font,Scale
\edef\MyScale{\GGScale}%
\expandafter\processaction\expandafter[\GGFont]
[SomeFont1 =>\def\MyFont{somefont },
SomeFont2 =>\def\MyFont{someotherfont }]
}
\protect
\definebodyfont[4pt,5pt,6pt,7pt,8pt,9pt,10pt,10.5pt,11pt,12pt,14pt,14.4p
t,16pt,18pt,20pt,22pt][rm][Gf=\MyFont sa \MyScale]
So I want this setup
\setupgreek[Scale=1.5,Font=SomeFont1]
to be expanded to somefont scaled at 1.5.
However, when I process a file, I always get this error:
! Undefined control sequence.
<argument> \MyFont
sa \MyScale
\parsefontspec #1->\xdef \somefontspec {#1
\space }\@EA \doparsefontspec
\som...
\xxdododefinefont ...tsize {#2}\parsefontspec {#4}
\newfontidentifier
\let \l...
\fontstrategy ...ame #1\csname #2#3#4#5\endcsname
\tryingfontfalse \fi
<inserted text> ...yle \fontalternative \fontsize
\fi \iftryingfont
\fontstr...
\synchronizefont ...strategy \the \fontstrategies
\relax \fi
\ifskipfontchar...
...
When I add this line
\def\MyFont{somefont }
to the module, files compile without problems. So I conclude: the
mistake is not in the definiton of MyFont itself, but my values are not
getting processed the proper way; something in the \processaction part
must be wrong. But I'm "stymied" here. Any suggestions would be most
welcome!
Best
Thomas