From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/69938 Path: news.gmane.org!not-for-mail From: Jaroslav Hajtmar Newsgroups: gmane.comp.tex.context Subject: Re: Optimal way to defining of macros in Luacode in ConTeXt Date: Wed, 13 Jul 2011 10:05:41 +0200 Message-ID: <4E1D51D5.50507@gyza.cz> References: <4E1C6883.30300@gyza.cz> <4E1C6BA0.90008@wxs.nl> Reply-To: hajtmar@gyza.cz, mailing list for ConTeXt users NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1310544374 5451 80.91.229.12 (13 Jul 2011 08:06:14 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 13 Jul 2011 08:06:14 +0000 (UTC) To: mailing list for ConTeXt users Original-X-From: ntg-context-bounces@ntg.nl Wed Jul 13 10:06:10 2011 Return-path: Envelope-to: gctc-ntg-context-518@m.gmane.org Original-Received: from balder.ntg.nl ([195.12.62.10]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1QguSP-0002JH-S1 for gctc-ntg-context-518@m.gmane.org; Wed, 13 Jul 2011 10:06:09 +0200 Original-Received: from localhost (localhost [127.0.0.1]) by balder.ntg.nl (Postfix) with ESMTP id 1AE98CAE11; Wed, 13 Jul 2011 10:06:09 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at balder.ntg.nl Original-Received: from balder.ntg.nl ([127.0.0.1]) by localhost (balder.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 45YivaaZUrI9; Wed, 13 Jul 2011 10:06:03 +0200 (CEST) Original-Received: from balder.ntg.nl (localhost [127.0.0.1]) by balder.ntg.nl (Postfix) with ESMTP id 032B3CADF1; Wed, 13 Jul 2011 10:06:03 +0200 (CEST) Original-Received: from localhost (localhost [127.0.0.1]) by balder.ntg.nl (Postfix) with ESMTP id 616E5CADF1 for ; Wed, 13 Jul 2011 10:06:01 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at balder.ntg.nl Original-Received: from balder.ntg.nl ([127.0.0.1]) by localhost (balder.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with LMTP id nvSf0hZbPGoo for ; Wed, 13 Jul 2011 10:05:47 +0200 (CEST) Original-Received: from filter4-til.mf.surf.net (filter4-til.mf.surf.net [194.171.167.220]) by balder.ntg.nl (Postfix) with ESMTP id 2808ECADEF for ; Wed, 13 Jul 2011 10:05:47 +0200 (CEST) Original-Received: from psi4.forpsi.com (smtpa.forpsi.com [81.2.195.204]) by filter4-til.mf.surf.net (8.14.3/8.14.3/Debian-5+lenny1) with ESMTP id p6D85jG8028616 for ; Wed, 13 Jul 2011 10:05:46 +0200 Original-Received: (qmail 9718 invoked by uid 89); 13 Jul 2011 08:05:44 -0000 Original-Received: from unknown (HELO ?192.168.20.100?) (hajtmar@88.103.230.14) by psi04 with ESMTPA; 13 Jul 2011 08:05:44 -0000 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; cs; rv:1.9.1.8) Gecko/20100216 Thunderbird/3.0.2 In-Reply-To: <4E1C6BA0.90008@wxs.nl> X-Bayes-Prob: 0.0001 (Score 0, tokens from: @@RPTN) X-CanIt-Geo: ip=81.2.195.204; country=CZ; latitude=49.7500; longitude=15.5000; http://maps.google.com/maps?q=49.7500,15.5000&z=6 X-CanItPRO-Stream: uu:ntg-context@ntg.nl (inherits from uu:default, base:default) X-Canit-Stats-ID: 05F7k5Jrx - c6e6586f41fb - 20110713 X-Scanned-By: CanIt (www . roaringpenguin . com) on 194.171.167.216 X-BeenThere: ntg-context@ntg.nl X-Mailman-Version: 2.1.12 Precedence: list List-Id: mailing list for ConTeXt users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: ntg-context-bounces@ntg.nl Errors-To: ntg-context-bounces@ntg.nl Xref: news.gmane.org gmane.comp.tex.context:69938 Archived-At: Hello all. It is GREAT! Thanx Hans and Wolfgang too. It is very instructive and inspiring for me... I was looking for something similar for a long time, but I have not found anything (not even in the CLD-MKIV and others ...). Finally, after yours reply to this email find something in the ctx-man.pdf from 1997 year :-). But I have a few questions and comments on this subject: 1. Is there any possibility to do anything similar with counters, dimensions etc? I trying but without success. For example: context.newcount(mycounter) or context.newcounter(mycounter) context.mycounter=5 etc. or it must be realized by classical way: context('\\newcount\\mycounter') context('\\mycounter=10') context('\\advance\\mycounter by5') context('\\the\\mycounter') similary with \newdimen, \newif etc... 2. Any person interested in using context.setvalue{"Mymacro",somevalue) and context([[\def\MyMacro#1{#1}]]) syntaxes I have pointed out that the second syntax only operates when the command is given in a separate LUA file (ie file.lua) (ie not within an environment \startluacode - \stopluacode in classical TEX file!!!). Hans told me once that it is the individual categories of characters (backslash??) (if I remember correctly). First syntax works perfectly in LUA and TeX files too. Here I have a question. Why not comment out this case in TEX file? \startluacode -- context([[\def\macro#1{#1}]]) \stopluacode I get error: ! Undefined control sequence. -- context([[\def \macro #1{#1}]]) \dodostartluacode ...and \directlua \zerocount {#1 }} l.25 \stopluacode ? That category characters again? Comment character -- works differently in TEX file, and otherwise in the LUA file? Ie. comment on the backslash? 3. Wolfgang write about using context command \convertnumber{R}{1400} and the corresponding syntax: context.convertnumber("R",1400) to roman converting. It is great, but I could not figure out how to use in combination with the above syntax (ie use case context.command) or find the appropriate conversion LUA function (I did not use a custom function). Is there any way to do something like that: context([[\def\Macro%s{Macro%s}]],context.convertnumber("R",1400),1400) ??? ie. TEX command is used as a LuaTeX parameter? Thanx Jaroslav Dne 12.7.2011 17:43, Hans Hagen napsal(a): > On 12-7-2011 5:30, Jaroslav Hajtmar wrote: > >> But someone advised me that I use the better syntax: >> context('\\def\\Mymacro\{arg of mymacro\}') >> or context("\\def\\test#1{#1}") etc... > > whatever you like best > > context.setvalue{"Mymacro",somevalue) > > context([[\def\MyMacro#1{#1}]]) > >> Exist other (best or most optimal) way to do? >> for i = 1, 10 do >> tex.sprint(tex.ctxcatcodes,'\\def\\macro'..ar2rom(i)..'\{macro >> '..i..'\}') >> context('\\def\\Macro'..ar2rom(i)..'\{Macro '..i..'\}') >> end > > for i = 1, 10 do > context([[\def\Macro%s{Macro%s}]],ar2rom(i),i) > end > > When more than one argument is given, the context command treats the > first argument as format template. > > By using the context command you can see what happens with > > \enabletrackers[context.trace] > > Hans > > > ----------------------------------------------------------------- > Hans Hagen | PRAGMA ADE > Ridderstraat 27 | 8061 GH Hasselt | The Netherlands > tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com > | www.pragma-pod.nl > ----------------------------------------------------------------- > ___________________________________________________________________________________ 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://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________