Re: [NTG-context] Puzzle (for me)

2020-04-01 Thread Gerben Wierda


> On 1 Apr 2020, at 01:53, Henri Menke  wrote:
> 
> On 01/04/20, 01:20, Gerben Wierda wrote:
>> I have a string with double quotes that needs to become a text in a box in 
>> METAPOST. METAPOST is used to create an image consisting of boxes and 
>> connections.
>> 
>> Basically, the approach is now something like this:
>> 
>> TeX: calls Lua code with \ctxlua{filename}
>> Lua: context.startMPpage
>> Lua: read XML. String in XML in filename read by Lua
>>  Here we know the dimensions in which the string must be typeset and wrapped 
>> around because that is also in the XML
>> Lua: A context() call contains METAPOST code that calls a METAPOST vardef 
>> (‘draw box’) with the string as argument
>> METAPOST: Draws box and call TeX to typeset string using textext(), returns 
>> picture object
>> TeX: Typeset string
>> 
>> In short:
>> TeX, calls
>>  Lua, reads XML and executes context( MP code) that gets executed on 
>> stopMPpage
>>  MP code calls TeX which typesets the string
>> 
>> But, if the string contains double quotes (”) this will fail in METAPOST 
>> because the double quotes in the string will be printed in METAPOST code 
>> that is created by Lua and thus mess up METAPOST.
>> 
>> So, what can I do?
> 
> To get a double quote in a MetaPost string like this
> 
>"embedded " double quote"
>  ^
>  |___ oeps
> 
> use the ditto variable which expands to a string containing the double
> quote character like so
> 
>"embedded " & ditto & " double quote”

That is great! Thanks.

G

> 
> Cheers, Henri
> 
>> 
>> G
>> ___
>> 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://context.aanhet.net 
>> archive  : https://bitbucket.org/phg/context-mirror/commits/ 
>> 
>> 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://context.aanhet.net 
> archive  : https://bitbucket.org/phg/context-mirror/commits/ 
> 
> 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://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___


Re: [NTG-context] Puzzle (for me)

2020-03-31 Thread Henri Menke
On 01/04/20, 01:20, Gerben Wierda wrote:
> I have a string with double quotes that needs to become a text in a box in 
> METAPOST. METAPOST is used to create an image consisting of boxes and 
> connections.
> 
> Basically, the approach is now something like this:
> 
> TeX: calls Lua code with \ctxlua{filename}
> Lua: context.startMPpage
> Lua: read XML. String in XML in filename read by Lua
>   Here we know the dimensions in which the string must be typeset and wrapped 
> around because that is also in the XML
> Lua: A context() call contains METAPOST code that calls a METAPOST vardef 
> (‘draw box’) with the string as argument
> METAPOST: Draws box and call TeX to typeset string using textext(), returns 
> picture object
> TeX: Typeset string
> 
> In short:
> TeX, calls
>   Lua, reads XML and executes context( MP code) that gets executed on 
> stopMPpage
>   MP code calls TeX which typesets the string
> 
> But, if the string contains double quotes (”) this will fail in METAPOST 
> because the double quotes in the string will be printed in METAPOST code that 
> is created by Lua and thus mess up METAPOST.
> 
> So, what can I do?

To get a double quote in a MetaPost string like this

"embedded " double quote"
  ^
  |___ oeps

use the ditto variable which expands to a string containing the double
quote character like so

"embedded " & ditto & " double quote"

Cheers, Henri

> 
> G
> ___
> 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://context.aanhet.net
> archive  : https://bitbucket.org/phg/context-mirror/commits/
> 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://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___


[NTG-context] Puzzle (for me)

2020-03-31 Thread Gerben Wierda
I have a string with double quotes that needs to become a text in a box in 
METAPOST. METAPOST is used to create an image consisting of boxes and 
connections.

Basically, the approach is now something like this:

TeX: calls Lua code with \ctxlua{filename}
Lua: context.startMPpage
Lua: read XML. String in XML in filename read by Lua
  Here we know the dimensions in which the string must be typeset and wrapped 
around because that is also in the XML
Lua: A context() call contains METAPOST code that calls a METAPOST vardef 
(‘draw box’) with the string as argument
METAPOST: Draws box and call TeX to typeset string using textext(), returns 
picture object
TeX: Typeset string

In short:
TeX, calls
Lua, reads XML and executes context( MP code) that gets executed on 
stopMPpage
MP code calls TeX which typesets the string

But, if the string contains double quotes (”) this will fail in METAPOST 
because the double quotes in the string will be printed in METAPOST code that 
is created by Lua and thus mess up METAPOST.

So, what can I do?

G
___
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://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___