From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/111831 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Aditya Mahajan Newsgroups: gmane.comp.tex.context Subject: Re: simplifying repeated macro calls in metafun Date: Mon, 21 Jun 2021 00:26:11 -0400 (EDT) Message-ID: References: <37CA77E7-D38A-4A5A-A2C9-D734345D4586@me.com> Reply-To: mailing list for ConTeXt users Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="8323329-1561824059-1624249572=:827465" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="19154"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Alpine 2.23 (LNX 453 2020-06-18) To: mailing list for ConTeXt users Original-X-From: ntg-context-bounces@ntg.nl Mon Jun 21 06:26:45 2021 Return-path: Envelope-to: gctc-ntg-context-518@m.gmane-mx.org Original-Received: from zapf.boekplan.nl ([5.39.185.232] helo=zapf.ntg.nl) by ciao.gmane.io with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lvBWG-0004mC-LN for gctc-ntg-context-518@m.gmane-mx.org; Mon, 21 Jun 2021 06:26:44 +0200 Original-Received: from localhost (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id BDC1728420A; Mon, 21 Jun 2021 06:26:18 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at zapf.boekplan.nl Original-Received: from zapf.ntg.nl ([127.0.0.1]) by localhost (zapf.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OfkpD3KNHetP; Mon, 21 Jun 2021 06:26:17 +0200 (CEST) Original-Received: from zapf.ntg.nl (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id B2C902848E6; Mon, 21 Jun 2021 06:26:17 +0200 (CEST) Original-Received: from localhost (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id 17AF42835BD for ; Mon, 21 Jun 2021 06:26:16 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at zapf.boekplan.nl Original-Received: from zapf.ntg.nl ([127.0.0.1]) by localhost (zapf.ntg.nl [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id oJ5CT33mfYyx for ; Mon, 21 Jun 2021 06:26:15 +0200 (CEST) Received-SPF: Softfail (mailfrom) identity=mailfrom; client-ip=132.206.73.2; helo=orford.cim.mcgill.ca; envelope-from=adityam@umich.edu; receiver= Original-Received: from orford.cim.mcgill.ca (orford.cim.mcgill.ca [132.206.73.2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by zapf.ntg.nl (Postfix) with ESMTPS id 33BC2282423 for ; Mon, 21 Jun 2021 06:26:14 +0200 (CEST) Original-Received: from adi-thinkpad (198-48-192-62.cpe.teksavvy.com [198.48.192.62]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: adityam) by orford.cim.mcgill.ca (Postfix) with ESMTPSA id 21F4B4F1DB8 for ; Mon, 21 Jun 2021 00:26:12 -0400 (EDT) In-Reply-To: <37CA77E7-D38A-4A5A-A2C9-D734345D4586@me.com> X-BeenThere: ntg-context@ntg.nl X-Mailman-Version: 2.1.26 Precedence: list List-Id: mailing list for ConTeXt users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ntg-context-bounces@ntg.nl Original-Sender: "ntg-context" Xref: news.gmane.io gmane.comp.tex.context:111831 Archived-At: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --8323329-1561824059-1624249572=:827465 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: QUOTED-PRINTABLE On Mon, 21 Jun 2021, Jeong Dal wrote: >=20 > Hi, >=20 > I defined a macro definition in metafun, and draw figures using \startbuf= fer[] =E2=80=A6 \stopbuffer and \processMPbuffer[]. > As you see in the attached code, the same macro definition is used repeat= edly by changing the numeric argument.=20 > Is there a better way to simplify the code, for example, using \dorecurse= and recurselevel? See attached. The main idea is to store the repetitive bits in \startuseMPg= raphic{...} and then reuse them using \includeMPgraphic.=20 Aditya --8323329-1561824059-1624249572=:827465 Content-Type: application/x-tex; name=mp-test.tex Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename=mp-test.tex XGVuYWJsZWRpcmVjdGl2ZXNbbWV0YXBvc3Quc2hvd2xvZ10KXHN0YXJ0dXNl TVBncmFwaGlje1VEQmFzaWN9CiAgcGFpciBBLEIsQyxEOwogIHBhaXIgRSwg RiwgRywgSDsKICBwYXRoIHAscTsKICBudW1lcmljIGFuZyxtYXhOdW07Cgog IG51bWVyaWMgbjsgJUFNIEFkZGVkCgogIHU6PTFpbjsKICBBPSguOTUqVGV4 dFdpZHRoLHUpOyBCPSgwLHUpOyBDPSgwLDApOyBEPSguOTUqVGV4dFdpZHRo LDApOwogIHAgOj0gQS0tQi0tQy0tRDsKICBxIDo9IChUZXh0V2lkdGgsMS41 dSktLSgwLDEuNXUpLS0oMCwtLjV1KS0tKFRleHRXaWR0aCwtLjV1KS0tY3lj bGU7CiAgejA9KC4xdSwwKTsKICAKICAgdmFyZGVmIG5leHRQdCAoZXhwciBN LE4pID0gCiAgIGlmIHlwYXJ0KE4pID0gMDogCiAgICAgICBIIDo9IHdoYXRl dmVyW04sIE4gKyBkaXIoLjUqYW5nbGUoTS1OKSkqdV0gPSB3aGF0ZXZlcltB LEJdOwogICBlbHNlOgogICAgICAgSCA6PSB3aGF0ZXZlcltOLCBOICsgZGly KC41KmFuZ2xlKE0tTikpKnVdID0gd2hhdGV2ZXJbQyxEXTsKICAgZmk7CiAg IEgKICAgZW5kZGVmOwoKICAgZGVmIGdyYXlVRChleHByIGkpID0KICAgICAg ZHJhdyBHIC0tIGlmIHlwYXJ0KEIpPXlwYXJ0KEcpOiBCIC0tIEMgZWxzZTog QyAtLSBCIGZpIC0teltpXTsKICAgICAgZmlsbGRyYXcgeltpXSsyKihHLXpb aV0pKnUgLS0geltpXSAtLSB6W2krMV0gLS0geltpKzFdKyhHLXpbaV0pKnUg LS0gY3ljbGUgd2l0aGNvbG9yIC43NXdoaXRlOyAKICAgICAgZHJhdyBHIC0t IHpbaSsxXSBkYXNoZWQgZXZlbmx5OwogICAgICBkcmF3IHpbMF0gZm9yIGs9 MCB1cHRvIGk6IC0teltrXSBlbmRmb3IgZGFzaGVkIGV2ZW5seTsKICAgICAg Y2xpcCBjdXJyZW50cGljdHVyZSB0byBxOwogICBlbmRkZWY7CgogICBkZWYg bGluZXNVRChleHByIGkpID0KICAgICAgZHJhdyBwOwogICAgICBkcmF3IHow IGZvciBrPTAgdXB0byBpKzE6IC0teltrXSBlbmRmb3IgZGFzaGVkIGV2ZW5s eTsKCiAgICAgICUgQU06IHJlbW92ZWQuIFNldCBpbiBpbiB0aGUgbWFpbiBj b2RlCiAgICAgICUgc2V0Ym91bmRzIGN1cnJlbnRwaWN0dXJlIHRvIGJvdW5k aW5nYm94IHE7CiAgIGVuZGRlZjsKXHN0b3B1c2VNUGdyYXBoaWMKClxzdGFy dHVzZU1QZ3JhcGhpY3tVRHB0c30KICAgYW5nIDo9IDQwOwogICB6WzFdID0g d2hhdGV2ZXJbelswXSwgelswXStkaXIoYW5nKSp1XSA9IHdoYXRldmVyW0Es Ql07CgogICAlIEFNOiBDaGFuZ2VkIG5leHQgbGluZSBmcm9tIEcgdG8gelst MV0KICAgelstMV0gPSB3aGF0ZXZlclt6WzBdLCB6WzBdK2RpcigyKmFuZykq dV0gPSB3aGF0ZXZlcltBLEJdOwogICBmb3IgayA9IDIgdXB0byAyMDoKICAg ICAgeltrXSA9IG5leHRQdCh6W2stMl0seltrLTFdKTsKICAgICAgbWF4TnVt IDo9IGs7CiAgICAgIGV4aXRpZiB4cGFydCh6W2tdKSA+IFRleHRXaWR0aDsK ICAgZW5kZm9yOwpcc3RvcHVzZU1QZ3JhcGhpYwoKXHN0YXJ0dGV4dApcZG9y ZWN1cnNlezEzfQp7XHN0YXJ0TVBjb2RlCiAgICBcaW5jbHVkZU1QZ3JhcGhp Y3tVREJhc2ljfQogICAgXGluY2x1ZGVNUGdyYXBoaWN7VURwdHN9CiAgICBp ZiBccmVjdXJzZWxldmVsID09IDEgOiAKICAgICAgIGRyYXcgcDsKICAgIGZp CiAgICBpZiAoXHJlY3Vyc2VsZXZlbCA+IDEpIGFuZCAoXHJlY3Vyc2VsZXZl bCA8PSAxMikgOgogICAgICAgIG4gOj0gKFxyZWN1cnNlbGV2ZWwgZGl2IDIp IC0gMTsKICAgICAgICBpZiBccmVjdXJzZWxldmVsIG1vZCAyID09IDAgOiAK ICAgICAgICAgICAgRyA6PSB6W24tMV07IAogICAgICAgICAgICBncmF5VUQo bik7CiAgICAgICAgZWxzZSA6IAogICAgICAgICAgICBsaW5lc1VEKG4pOyAK ICAgICAgICBmaQogICAgZmkKICAgIGlmIFxyZWN1cnNlbGV2ZWwgPT0gMTMg OiAKICAgICAgIGRyYXcgcDsKICAgICAgIGRyYXcgejAtLXoxLS16Mi0tejMt LXo0LS16NS0tejYtLXo3LS16OCBkYXNoZWQgZXZlbmx5OwogICAgZmkKICAg IHNldGJvdW5kcyBjdXJyZW50cGljdHVyZSB0byBib3VuZGluZ2JveCBxOwpc c3RvcE1QY29kZX0KXHN0b3B0ZXh0Cgo= --8323329-1561824059-1624249572=:827465 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSWYgeW91ciBxdWVzdGlvbiBpcyBvZiBpbnRlcmVz dCB0byBvdGhlcnMgYXMgd2VsbCwgcGxlYXNlIGFkZCBhbiBlbnRyeSB0byB0aGUgV2lraSEKCm1h aWxsaXN0IDogbnRnLWNvbnRleHRAbnRnLm5sIC8gaHR0cDovL3d3dy5udGcubmwvbWFpbG1hbi9s aXN0aW5mby9udGctY29udGV4dAp3ZWJwYWdlICA6IGh0dHA6Ly93d3cucHJhZ21hLWFkZS5ubCAv IGh0dHA6Ly9jb250ZXh0LmFhbmhldC5uZXQKYXJjaGl2ZSAgOiBodHRwczovL2JpdGJ1Y2tldC5v cmcvcGhnL2NvbnRleHQtbWlycm9yL2NvbW1pdHMvCndpa2kgICAgIDogaHR0cDovL2NvbnRleHRn YXJkZW4ubmV0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCg== --8323329-1561824059-1624249572=:827465--