invoking ConTeXt from .bat file in Win7
Dear list, I have the following sample: \mainlanguage[es] \setupbodyfont[dejavu] \starttext %~ \startmode[*last] \startluacode io.write("¿Cuál es el mensaje? ") document.message = io.read() \stopluacode %~ \stopmode El mensaje es: \cldcontext{document.message} \stoptext I have two questions about it. How can I invoke an extra run (as mentioned at http://www.pragma-ade.com/general/manuals/mmodes.pdf#search=last) to be able to use the *last mode in the code above? The other question is that the sample above works fine in Linux. I guess macOS would be also fine. But in Windows (Win7 in my case), I get garbage for "¿". "chcp 65001" in the .bat file doesn’t make any difference. How can I get non-ASCII chars displayed right? (Echoing UTF-8 characters in the same batch file works perfectly right.) Many thanks for your help, Pablo -- http://www.ousia.tk
On 10/27/20 9:40 PM, Pablo Rodriguez wrote:
Partially replying to myself. Adding a space at the beginning of io.write, displays the space and the UTF-8 sequence (given "chcp 65001") right. This isn’t the perfect solution, but it works for me. I’d really appreciate to know how to request an extra pass in ConTeXt. Many thanks for your help, Pablo -- http://www.ousia.tk
On Wed, 28 Oct 2020, Pablo Rodriguez wrote:
As the manual says, "This mode is set if the last run in a session is taking place. Normally this is not known in advance, unless one has asked for an additional imposition pass." Why do you want to use the last mode for this? The new information can lead to an extra line-break or extra page-break, which might then need an extra run to resolve correctly. So, it might be better to ask the information in the first run and save it in the tuc file using the two pass mechanism: https://wiki.contextgarden.net/Command/datasetvariable Aditya
On 10/28/20 5:44 PM, Aditya Mahajan wrote:
Many thanks for your reply, Aditya. Your approach is really interesting, but I don’t know how to mix it with the first run mode. \startmode[*first] \startluacode io.write("\n\n Document URL? ") document.url_address = io.read() \stopluacode \definedataset[document_data] \setdataset[document_data] [url=\cldcontext{document.url_address}] \stopmode \starttext \startTEXpage[offset=1em] \datasetvariable{document_data}{1}{url} \stopTEXpage \stoptext How could I make this sample or a similar approach work? What I need it to avoid entering the same address more than once. Many thanks for your help, Pablo -- http://www.ousia.tk
participants (2)
-
Aditya Mahajan
-
Pablo Rodriguez