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
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 ___________________________________________________________________________________
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 mailto:ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl http://www.pragma-ade.nl/ / http://context.aanhet.net http://context.aanhet.net/ archive : https://bitbucket.org/phg/context-mirror/commits/ https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net 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 mailto:ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl http://www.pragma-ade.nl/ / http://context.aanhet.net http://context.aanhet.net/ archive : https://bitbucket.org/phg/context-mirror/commits/ https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net http://contextgarden.net/ ___________________________________________________________________________________
participants (2)
-
Gerben Wierda
-
Henri Menke