[XeTeX] Localized XeLaTeX: was Greek XeLaTeX
Wolfgang Schuster
schuster.wolfgang at googlemail.com
Sat Oct 16 16:24:44 CEST 2010
Am 14.10.2010 um 14:57 schrieb Mojca Miklavec:
> 2010/10/14 Ulrike Fischer wrote:
>>
>> I don't have a context currently to try, but what would happen if
>> you use it e.g. this way:
>>
>> \usemodule[translate]
>> \translateinput[im][mm]
>>
>> \enableinputtranslation
>>
>> \starttext\tt
>> \scratchdimen=2mm 2mm: \the\scratchdimen\crlf
>> \scratchdimen=1im 1im: \the\scratchdimen
>> immens
>> \stoptext
>>
>> Would this replace every occurence of "im" in the input? Including
>> the "im" in \scratchdimen, the "im" in the second 1im and the "im"
>> in immens?
>
> Yes. This is why I said that the solution cannot work out-of-the-box
> (it could work for a limited number of cases).
Another way is to use the string library from lua to replace μμ with mm:
\unprotected\def\interfaceddimension#1%
{\ctxlua{commands.interfaceddimension(\!!bs\detokenize{#1}\!!es)}}
\startluacode
function commands.interfaceddimension(str)
if string.match(str,"\\") then
-- dimension or macro
else
str = string.gsub(str,"μμ","mm")
end
tex.print(str)
end
\stopluacode
\setupbodyfont[palatino]
\starttext
\def\foo{4mm}
\def\bar{\textwidth}
\scratchdimen\interfaceddimension{2mm} 2mm: \the\scratchdimen\crlf
\scratchdimen\interfaceddimension{1μμ} 1μμ: \the\scratchdimen\crlf
\scratchdimen\interfaceddimension\foo foo: \the\scratchdimen\crlf
\scratchdimen\interfaceddimension\bar bar: \the\scratchdimen
\stoptext
Wolfgang
More information about the XeTeX
mailing list