From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.comp.tex.context/116578 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Gavin via ntg-context Newsgroups: gmane.comp.tex.context Subject: Re: \hpos in math - Half solved Date: Wed, 7 Dec 2022 05:42:41 -0700 Message-ID: References: <4809FBC9-09D4-4055-A37C-23BE177454A7@comcast.net> <92EB18D7-92EE-41F5-B0AE-E1246E9E15A0@comcast.net> Reply-To: mailing list for ConTeXt users Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.200.110.1.12\)) Content-Type: multipart/mixed; boundary="Apple-Mail=_9111D27A-C914-47C6-B776-1769767AF9B0" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="22526"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Gavin To: mailing list for ConTeXt users Original-X-From: ntg-context-bounces@ntg.nl Wed Dec 07 13:43:48 2022 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 1p2tm7-0005gJ-GD for gctc-ntg-context-518@m.gmane-mx.org; Wed, 07 Dec 2022 13:43:47 +0100 Original-Received: from localhost (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id E655736144F; Wed, 7 Dec 2022 13:43:13 +0100 (CET) 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 G4KEUPBns_qz; Wed, 7 Dec 2022 13:43:12 +0100 (CET) Original-Received: from zapf.ntg.nl (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id 1BB68361450; Wed, 7 Dec 2022 13:43:12 +0100 (CET) Original-Received: from localhost (localhost [127.0.0.1]) by zapf.ntg.nl (Postfix) with ESMTP id 8BC9836144E for ; Wed, 7 Dec 2022 13:43:10 +0100 (CET) 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 NN2Qn_LspRpM for ; Wed, 7 Dec 2022 13:43:09 +0100 (CET) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=96.102.200.10; helo=resqmta-h1p-028588.sys.comcast.net; envelope-from=gavinpublic@comcast.net; receiver= Original-Received: from resqmta-h1p-028588.sys.comcast.net (resqmta-h1p-028588.sys.comcast.net [96.102.200.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by zapf.ntg.nl (Postfix) with ESMTPS id 5BB90361448 for ; Wed, 7 Dec 2022 13:43:09 +0100 (CET) Original-Received: from resomta-h1p-027912.sys.comcast.net ([96.102.179.201]) by resqmta-h1p-028588.sys.comcast.net with ESMTP id 2soFpusiZISSA2tlRpCywZ; Wed, 07 Dec 2022 12:43:05 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=20190202a; t=1670416985; bh=JiMLi/1jjQNQlw3anOC3cBTLX/PtiKnO7bYgkUfJbtQ=; h=Received:Received:From:Content-Type:Mime-Version:Subject:Date:To: Message-Id:Xfinity-Spam-Result; b=Kg6d/0KG908xEkk+2rdscJkEgVfvFBI23YFxY4ti1JACJy/f3mRkzuCy5vAlctqyM U054e7SucTZ9pTEVb1mS5Tkgw+AJBY2FLXIWWUXP05NkY9TM6xzR20+9ugzWtfMAHg ul9giCpMy3lrWuAIfnDUou8jn9MXb8suegdT7cCne49DMASbl8pQoaOtN/HtzI1Sct ZsilJBN5hAnZwsNxtU5gY0lnMiN3huPdsOjf7g+/iArZCBp4lwnmRwsxJ/ZGinVwfw PPOxGI6GP1wYerwjmLKPTDzWIKpAjv/By+g62w2AqCZrndmJQ4DSWim7zoOh2whZPN t2XSNBucWS2Aw== Original-Received: from smtpclient.apple ([IPv6:2605:b40:14d0:ab00:fca5:3ea1:6c94:e415]) by resomta-h1p-027912.sys.comcast.net with ESMTPSA id 2tlDpGA8Gdw2T2tlIp6avb; Wed, 07 Dec 2022 12:43:01 +0000 X-Xfinity-VMeta: sc=-100.00;st=legit In-Reply-To: <92EB18D7-92EE-41F5-B0AE-E1246E9E15A0@comcast.net> X-Mailer: Apple Mail (2.3731.200.110.1.12) 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:116578 Archived-At: --Apple-Mail=_9111D27A-C914-47C6-B776-1769767AF9B0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Hi List, I solved my original problem 2, allowing me to reuse the same \hpos = labels in different equations without interference. I added an equation = counter and set up my custom math version of \hpos to use the count as = part of the label internally. I tried to do this with a regular ConTeXt = counter, but had all sorts of mysterious, wrong behavior. When I = switched to using a Lua counter, everything worked immediately. So, = while there is nothing brilliant about this solution, I=E2=80=99ll share = it for anyone who might want to do something similar in the future. The code I added is below, with some comments. The complete example file = is attached. The result is two equations. --Apple-Mail=_9111D27A-C914-47C6-B776-1769767AF9B0 Content-Disposition: inline; filename=hposQuestionEquations.pdf Content-Type: application/pdf; x-unix-mode=0644; name="hposQuestionEquations.pdf" Content-Transfer-Encoding: base64 JVBERi0xLjMKJcTl8uXrp/Og0MTGCjMgMCBvYmoKPDwgL0ZpbHRlciAvRmxhdGVEZWNvZGUgL0xl bmd0aCA4NDQgPj4Kc3RyZWFtCngBjVZBjtQwELznFX6BsdvubltCewBx4YYYifOC4LBikJbLfp9y EseeiTNBq5UyPZNKuau6Oq/mi3k1Dn+c2ZKymBS9TSkn8/en+Wb+mA8X473NzF7nH24fKDkbVYJR cVai5ulyNe8+euPN5Zd575zzT+byYj5dHmCUh0lQo44siZoZgqYhRLJBEqeZRb2mqDYGUFNX2MS0 IjQS9DSdkeBoA0Uc5IZEg+jOMdUHl57Va+JsU6YIALXk/J5EOO+EiA2JciWxNJOGJLYH35DQZH32 NHdC3dZL46dVjtiRqNRvEYrO3kjO1iX0dBGjUeDzVsITyblCotezQUjjMG5lFpsdRFYHih6i3JPQ ilD01hyjeZte8YByEm8oBxu9etwPP3Mk8+M6f3UtLtYYYvnlb/MVxoezh21oEAHmVNpJkRqFENhF NW+YokohwIkhRwaFaF3AtxuFaFXExTSdUNggBO0QAtZ9F/JKYTocz+DERgzyoRTP9RQHfQg+WM6p jAWcBVPs+tC7etTJghC8ZzhKZ4TtGNWSdMaB2KpyAEKyEDtvCDVjYufJMYdsOQwoVABuFKYt22Yz 1dQjhJSSAwn1Rdkdhy4fxo7iYJEvCQBsE8neUaejiZijBC1EERO42jiMOnlwDMScTy4/OEZLylEr S8wpJBDJVtwgHzo/HLUSKUchywMObWUMOUCC5LQALI3YmbLT88HiEpYiR69nWzpdSI31xFQqxhIA 2D7Rj0JqbWULqS4hSkiRYuuJYvMkZPaWEIOQOsjJDYJszsi5+4QYhFSXkyVhiD3CXgNGE2JuFGpI neVkgxAMKXveSVFD6nj/Bw/2rsy34h1CkdvLMZoW39t4HshZgi5ExojfyNl2zvN/RET0rsi5jOeu l914DtUoQRe5jMb9eNaUIbwO9c4cebuhSIKtSHcN3QbMIZmRi4LF481n/L8YihFvYVj7Ja4ZO9Bc uxp8xcHx9NsQI4udItbXGrZhq9V7y4bsqt76IFwQ690lkD0WcEFEHnhhnH6tFcRaU7feOyOCI7uw yE0SZOW41AQZh3yZOeItQEKJmqU2c6w1WGW+d+G4VdWKIBgLx1rD24iwysrREcEka23luNQwxvO9 83vBP5eHSEMKZW5kc3RyZWFtCmVuZG9iagoxIDAgb2JqCjw8IC9UeXBlIC9QYWdlIC9QYXJlbnQg MiAwIFIgL1Jlc291cmNlcyA0IDAgUiAvQ29udGVudHMgMyAwIFIgL01lZGlhQm94IFswIDAgNTk1 LjI3NTYgODQxLjg4OThdCi9Dcm9wQm94IFsyMzcuMzQyMyA2NTkuNzA3OSAzMjkuNTUxNCA3MjAu NzUyNF0gL0JsZWVkQm94IFswIDAgNTk1LjI3NTYgODQxLjg4OThdCi9UcmltQm94IFswIDAgNTk1 LjI3NTYgODQxLjg4OThdIC9BcnRCb3ggWzAgMCA1OTUuMjc1NiA4NDEuODg5OF0gL1JvdGF0ZSAw Cj4+CmVuZG9iago0IDAgb2JqCjw8IC9Qcm9jU2V0IFsgL1BERiAvVGV4dCBdIC9Gb250IDw8IC9D MSA1IDAgUiAvQzIgNiAwIFIgPj4gPj4KZW5kb2JqCjIgMCBvYmoKPDwgL1R5cGUgL1BhZ2VzIC9N ZWRpYUJveCBbMCAwIDYxMiA3OTJdIC9Db3VudCAxIC9LaWRzIFsgMSAwIFIgXSA+PgplbmRvYmoK NyAwIG9iago8PCAvVHlwZSAvQ2F0YWxvZyAvUGFnZXMgMiAwIFIgPj4KZW5kb2JqCjUgMCBvYmoK PDwgL1R5cGUgL0ZvbnQgL1N1YnR5cGUgL1R5cGUwIC9FbmNvZGluZyAvSWRlbnRpdHktSCAvRGVz Y2VuZGFudEZvbnRzIFs4IDAgUl0KL0Jhc2VGb250IC9BQUFBQUIrTE1Sb21hbjEwLVJlZ3VsYXIg L1RvVW5pY29kZSA5IDAgUiA+PgplbmRvYmoKOSAwIG9iago8PCAvTGVuZ3RoIDIyNCAvRmlsdGVy IC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAFdkE1qwzAQhfc6xSzTRVDcbI2gpBS86A9xewBZGhtB PRJjeeHbZ6SkCXRAAr03n/Q0+tS9dhQy6C+OrscMYyDPuMSVHcKAUyDVPIMPLt9OVXOzTUoL3G9L xrmjMULbKgB9FmTJvMHuxccBn4r2yR450AS7n1NflX5N6RdnpAwHZQx4HOW6d5s+7IygK7rvvPgh b3uhHh3fW0KQREI010guelySdciWJlTtQcq0b1JGIfl/9g0axkd3YwpT92NTmT+34OWr92huZZZU dR41cAkSCO8jSzGVR+u6AI1mcbwKZW5kc3RyZWFtCmVuZG9iago4IDAgb2JqCjw8IC9UeXBlIC9G b250IC9TdWJ0eXBlIC9DSURGb250VHlwZTAgL0Jhc2VGb250IC9BQUFBQUIrTE1Sb21hbjEwLVJl Z3VsYXIKL0NJRFN5c3RlbUluZm8gPDwgL1JlZ2lzdHJ5IChBZG9iZSkgL09yZGVyaW5nIChJZGVu dGl0eSkgL1N1cHBsZW1lbnQgMCA+PgovVyAxMCAwIFIgL0RXIDEwMDAgL0ZvbnREZXNjcmlwdG9y IDExIDAgUiA+PgplbmRvYmoKMTAgMCBvYmoKWyAxIDEgNTAwIF0KZW5kb2JqCjExIDAgb2JqCjw8 IC9UeXBlIC9Gb250RGVzY3JpcHRvciAvRm9udE5hbWUgL0FBQUFBQitMTVJvbWFuMTAtUmVndWxh ciAvRmxhZ3MgNCAvRm9udEJCb3gKWy00NjEgLTMyMSAxNDQ4IDExNThdIC9JdGFsaWNBbmdsZSAw IC9Bc2NlbnQgMTEyNyAvRGVzY2VudCAtMjkwIC9DYXBIZWlnaHQKMTAwMSAvU3RlbVYgNjkgL1hI ZWlnaHQgNzUxIC9TdGVtSCAzMSAvTWF4V2lkdGggMTkwOSAvRm9udEZpbGUzIDEyIDAgUiA+Pgpl bmRvYmoKMTIgMCBvYmoKPDwgL1N1YnR5cGUgL0NJREZvbnRUeXBlMEMgL0xlbmd0aCAzMjIgL0Zp bHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngBY2RgYWFgZGSU9Inw8PQO1vbxDcrPTcwzNNAN Sk0vzUksAkkG/ZD/odDNI9fLo/RDhvmHLNMPOZY/Tr+3ybB2/vrN2s3D2M3D9FuNh3kzD0svD1s3 D4csAwPDTUEQeY4fSDIm8KiAOBd5VI+AuOpCDOyMjGz8Cmraxt5GegYGJnBr4QyY/X75RbmJOY4p +UmpnimpeSWZJZU4nQq0gpGZgRFIMTAxMDEyMnny/ejoXvVjw6rT5YzfC64y/zAXW5XNbtgxbYP8 j6Psi7t7S+S8fY27s6Vz2Ocf6166X/7PLPb0jnpDuewctr51j7o3S29+1N2xTp6vdOEP5znf86ZN XMgmx8USks/D2c3DvYrrAvfCnt6e3t6eSb29fSd4eJZs6ZvYO7Gvr2/CxH4e3m6RblFQ8PH8UORR g3ocACObdisKZW5kc3RyZWFtCmVuZG9iago2IDAgb2JqCjw8IC9UeXBlIC9Gb250IC9TdWJ0eXBl IC9UeXBlMCAvRW5jb2RpbmcgL0lkZW50aXR5LUggL0Rlc2NlbmRhbnRGb250cyBbMTMgMCBSXQov QmFzZUZvbnQgL0FBQUFBQytMYXRpbk1vZGVybk1hdGgtUmVndWxhciAvVG9Vbmljb2RlIDE0IDAg UiA+PgplbmRvYmoKMTQgMCBvYmoKPDwgL0xlbmd0aCAzMTkgL0ZpbHRlciAvRmxhdGVEZWNvZGUg Pj4Kc3RyZWFtCngBfVLLasMwELz7K/aYHoJfTdKCMZSUgg99ULcfIEurVFDLQlYO/vuu1nFSWohA A5qd0Uq7m+6bx8aaAOmbH2SLAbSxyuM4HL1E6PBgbJIXoIwMpxNzshcuScncTmPAvrF6gKpKANJ3 sozBT7B6UEOHN5F79Qq9sQdYfe5bZtqjc9/Yow2QJXUNCjVd9yzci+gRUrauG0VxE6Y1uS6Kj8kh 0IvIkc9PkoPC0QmJXtgDJlVGq66eaNUJWvUnfDJ1Wn4Jz+K8rtRduQElNwU7TrH/ymJRopbXleWi 1NnuunKzKFGr60qxKHWGv5XbuQydvvz/to5ViFjG/PGwZYqxpESR2jHFWOYzdccUYVHkYqbumWIs qT7R2DEVsaQkschL8ljvOBvnXsqj99RGHiDucOycsXieMTe4eAHvHy+xxSwKZW5kc3RyZWFtCmVu ZG9iagoxMyAwIG9iago8PCAvVHlwZSAvRm9udCAvU3VidHlwZSAvQ0lERm9udFR5cGUwIC9CYXNl Rm9udCAvQUFBQUFDK0xhdGluTW9kZXJuTWF0aC1SZWd1bGFyCi9DSURTeXN0ZW1JbmZvIDw8IC9S ZWdpc3RyeSAoQWRvYmUpIC9PcmRlcmluZyAoSWRlbnRpdHkpIC9TdXBwbGVtZW50IDAgPj4KL1cg MTUgMCBSIC9EVyAxMDAwIC9Gb250RGVzY3JpcHRvciAxNiAwIFIgPj4KZW5kb2JqCjE1IDAgb2Jq ClsgMSBbIDQ2NiA3NDMgNjk1IDAgNjQ4IDc3OCA1NjkgODMzIDU2OSA1NzEgMCBdIF0KZW5kb2Jq CjE2IDAgb2JqCjw8IC9UeXBlIC9Gb250RGVzY3JpcHRvciAvRm9udE5hbWUgL0FBQUFBQytMYXRp bk1vZGVybk1hdGgtUmVndWxhciAvRmxhZ3MKNCAvRm9udEJCb3ggWy0xMDczIC0zMDkxIDQxMTMg MzU5MV0gL0l0YWxpY0FuZ2xlIDAgL0FzY2VudCAzNTYwIC9EZXNjZW50IC0zMDYwCi9DYXBIZWln aHQgMzE2NCAvU3RlbVYgNDAgL1hIZWlnaHQgMjM3MyAvU3RlbUggNDAgL0F2Z1dpZHRoIDc3OCAv TWF4V2lkdGgKNTE4NiAvRm9udEZpbGUzIDE3IDAgUiA+PgplbmRvYmoKMTcgMCBvYmoKPDwgL1N1 YnR5cGUgL0NJREZvbnRUeXBlMEMgL0xlbmd0aCAxNDgwIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+ CnN0cmVhbQp4AYWVe1DUVRTHfz9+u7+9wo8VxbWhcNdHZmU+miwlyqksGgrUaTRTcWqRFVcXVoin PHbZF7t7WPbJPpCHi8IKCquiOFq+FSLTSIfpD0trplIbqZlGur/1ktMP69+m+8eZueecO/dz7nfO uTQlElE0TSuystdkrN2wMEtZoi7M1uapiguzlSXbF32gyi/VKIsnU9bxCn42cPIAN5dPZfhZcbxc 9Kgr9QGXOvWP1MS7YuBo4OJIDsf0cyIHxwKHZlEUnTBNsNT9qYJls7inJ10MN394ciudTkloGqUs fSV9lfLFxWkvL09Lewww+x+C2ZMI/0G0WltcoNS8mafNVWXmqQpL1CWV/1OCQEFTcRRDiSgxxVIS ClFTqHgqgRHcwuIoLu5xQgmdRN+gHzBPMBuZAPNQVCj6VnRHSp7Sh/GuME4P0ydv4JZDDP/WnzK3 2WOWW8BmMxtfe5bQoIPXwXAbDkKgoaf5C3SOPQCjjtN7v+l2DUIInVAdyyAMWfg8WTV/8LUxPO/2 eEC+GTfK5pFlkCvPZY/iF/5o7gR0qqtQrZDiuXURXhGhh2/xxl4mtoJPkgV1YJHXAFhNpZWZO1Yr 19ubbddsvurf3riyABBZQOaQWWT2kmtpGCnuwK3jFwc63jqj6wZ0Ofr53oBwWFELtnqbuUalMeug BnaDBU+98+thnAJ+RLaSTtlz6a8YVJAJ207ANTgQwvTZkZNDl1r64CZ0rPRmuz+xve36EEnvCWjp 5TTvGD1whIk9iefJgrVgFdDs9aZdus0Va5VQBKYwdEGLN+rpROGfO34Su/f7T4AL2qsCu0EPFRZ9 hdVs3GkpR2UrNGSa2FQMNkOt5uOP8z6ANIDr0AqdjcHQeeFw6KLYtbfpCDihtSZUDvlg2G7VIaKY OCuurwYzAJS21u2BKHgPOVscrvab+8Z6yvqNUfgRLn7jcKC2jBFrsxDeH27tCR8NXgInkk6M8V+P 0+T6nwzJj4lkXSWdBepybfGujqLu3vbIfrn0FHmzDGdF8FgkEMH2rul82w3t1eSHMY7/Uga9tT1l HZrenD0bgEyDOSRFTeSILJqIie0Gl8UDqIl1g7PR4UZXcau4Y/25/OswDF+1Xj56pu/Y6dAFlDzh anO0CzUO6PqLD+qba4JVTV6X1+l1D3QfGvCfRI0BR0BQJflhZpsMqqxV9VUGVaVqh9ZkNllMlk99 RS4tKGEjGDV2K1gAUOFncFwegW5XpCloaNJ5aoU7AqWuTwUliiy7TEX6LSVbtu5UqjfuzoGVsPE8 3ICQI+RsRkPYLO7B037CSZgRHulgTUsRaqp2VkIFIjPJGlm1pcpWDSWwHRoaHb7DgqhBCNgCViTF Kf14cT8d24Z/l/kNPr38L5bVGwx6vc/gV8RY1u/z+RXkQ9F/xqQ7Icrvj9LY8x3DF8yMqiQLIHhI wZ+RdNkatPL3s5bacwHlS/bBVbgQQRMeyQ6oXSBX5bM4wymW4urYuWNM7F67zG/06eQ6oTHMOjSR /ogiGXyquN5rc5vACjYwGNGzb4j1Brsd6sHkrHdDIzjA50Vnj+JNE++K3TUOux/2gMPpaUZ8zsO3 xS5/QwO4kAD4A74/fjc6/ctxbLyv7k1+wDvwezI1ay2tW1tbZzSvFPoIkSz2wd2+yNAplMyPDo4M w68IJ84ZJTNI0vJlSz4asDTtO9ASbTX1bZD3XP86fAp+h7Ovw6uwLDtjZz4iZmIQ1xkETi3il7LS AmHUPLpMHxnGkSsMf4VfKNtXBpVyUsGShcIASSMJLw2+8wuOxyk4ES9WQAt8pjmBcBwbjEKvgqwj T8ggpzxN/VHe2vVFebAJtkYFsbsD3/cNHh8ZCvXCbfBmguZxD4z30Cv4cVkP+UsjkZaG+VUtuBD8 EZbkNkjk8aJ1Wm6Kh4sHLqE/vj8h7HM5nQGXm+P63SGny+10ut0eJ5cYa5vBj8kmPwmOn8M98+9w /xsqWvOWCmVuZHN0cmVhbQplbmRvYmoKMTggMCBvYmoKPDwgL1Byb2R1Y2VyIChtYWNPUyBWZXJz aW9uIDEzLjAuMSBcKEJ1aWxkIDIyQTQwMFwpIFF1YXJ0eiBQREZDb250ZXh0KSAvQ3JlYXRpb25E YXRlCihEOjIwMjIxMjA3MTIzMzEzWjAwJzAwJykgL01vZERhdGUgKEQ6MjAyMjEyMDcxMjMzMTNa MDAnMDAnKSA+PgplbmRvYmoKeHJlZgowIDE5CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMDkz OCAwMDAwMCBuIAowMDAwMDAxMjg1IDAwMDAwIG4gCjAwMDAwMDAwMjIgMDAwMDAgbiAKMDAwMDAw MTIwOCAwMDAwMCBuIAowMDAwMDAxNDE3IDAwMDAwIG4gCjAwMDAwMDI3NjIgMDAwMDAgbiAKMDAw MDAwMTM2OCAwMDAwMCBuIAowMDAwMDAxODYyIDAwMDAwIG4gCjAwMDAwMDE1NjYgMDAwMDAgbiAK MDAwMDAwMjA3MCAwMDAwMCBuIAowMDAwMDAyMDk4IDAwMDAwIG4gCjAwMDAwMDIzNDMgMDAwMDAg biAKMDAwMDAwMzMxMSAwMDAwMCBuIAowMDAwMDAyOTE5IDAwMDAwIG4gCjAwMDAwMDM1MjYgMDAw MDAgbiAKMDAwMDAwMzU5MiAwMDAwMCBuIAowMDAwMDAzODYxIDAwMDAwIG4gCjAwMDAwMDU0Mzkg MDAwMDAgbiAKdHJhaWxlcgo8PCAvU2l6ZSAxOSAvUm9vdCA3IDAgUiAvSW5mbyAxOCAwIFIgL0lE IFsgPGU5NzNkZWFlNjc2Zjk4NzU3YzQ0N2E3MTlkOTM5MjUxPgo8ZTk3M2RlYWU2NzZmOTg3NTdj NDQ3YTcxOWQ5MzkyNTE+IF0gPj4Kc3RhcnR4cmVmCjU2MDQKJSVFT0YK --Apple-Mail=_9111D27A-C914-47C6-B776-1769767AF9B0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii Each equation was written using the same labels (X,Y,Z), but internally = they have separate sets, (1:X and 2:X, etc.). The moral of the story for me: Use more Lua. Gavin % Lua counts the spin formulas=20 \ctxlua{sfnum =3D 0} % Count starts at zero \def\sfID{\ctxlua{context(sfnum)}} % ConTeXt can call the count from Lua = to use as an ID for each equation. % Spin formulas increase the spin formula count and typeset the formula = as usual. \define\startspinformula{ \ctxlua{sfnum =3D sfnum + 1} \startformula } \define\stopspinformula{\stopformula} % My own \mpos uses the spin formula ID as part of the box label, then = sets the contents as math. \define[2]\mpos{\hpos{\sfID:#1}{$#2$}} % Two commands for requesting contractions (the connections between = spinors), using the spin formula ID. \define[2]\contract{% \startpositionoverlay{graphics}% \setMPpositiongraphic{\sfID:#1}{mypos:contract}{to=3D\sfID:#2}% \stoppositionoverlay% } \define[2]\contractbelow{% \startpositionoverlay{graphics}% \setMPpositiongraphic{\sfID:#1}{mypos:contractbelow}{to=3D\sfID:#2}% \stoppositionoverlay% } --Apple-Mail=_9111D27A-C914-47C6-B776-1769767AF9B0 Content-Disposition: attachment; filename=hposQuestion.tex Content-Type: application/octet-stream; x-unix-mode=0644; name="hposQuestion.tex" Content-Transfer-Encoding: 7bit % !TEX useAlternatePath % !TEX useConTeXtSyncParser % Setting up the overlay for \hpos \defineoverlay [graphics] [\positionoverlay{graphics}] \setupbackgrounds [page] [background={foreground,graphics}] % The MetaPost code for drawing the contractions. \startMPpositiongraphic{mypos:contract} path pa, pb, pab ; numeric na, nb ; string ta, tb ; ta := mpvars("from") ; tb := mpvars("to") ; na := positionpage(ta) ; % page number of a nb := positionpage(tb) ; % page number of b pa := positionbox(ta) ; % box of a pb := positionbox(tb) ; % box of b z1 = 0.5[ulcorner pa,urcorner pa] ; z2 = 0.5[ulcorner pb,urcorner pb] ; y3 = max(y1,y2) + 3pt ; if na = nb : % Check that positions are on the same page pab := z1 -- (x1,y3) -- (x2,y3) -- z2{down} ; pickup pencircle scaled 0.6pt ; draw pab yshifted 1pt ; positioninregion ; fi ; \stopMPpositiongraphic \startMPpositiongraphic{mypos:contractbelow} path pa, pb, pab ; numeric na, nb ; string ta, tb ; ta := mpvars("from") ; tb := mpvars("to") ; na := positionpage(ta) ; % page number of a nb := positionpage(tb) ; % page number of b pa := positionbox(ta) ; % box of a pb := positionbox(tb) ; % box of b z1 = 0.5[llcorner pa,lrcorner pa] ; z2 = 0.5[llcorner pb,lrcorner pb] ; y3 = min(y1,y2) - 3pt ; if na = nb : % Check that positions are on the same page pab := z1 -- (x1,y3) -- (x2,y3) -- z2{down} ; pickup pencircle scaled 0.6pt ; draw pab yshifted -1pt ; positioninregion ; fi ; \stopMPpositiongraphic % Lua counts the spin formulas \ctxlua{sfnum = 0} % Count starts at zero \def\sfID{\ctxlua{context(sfnum)}} % ConTeXt can call the count from Lua to use as an ID for each equation. % Spin formulas increase the spin formula count and typeset the formula as usual. \define\startspinformula{ \ctxlua{sfnum = sfnum + 1} \startformula } \define\stopspinformula{\stopformula} % My own \mpos uses the spin formula ID as part of the box label, then sets the contents as math. \define[2]\mpos{\hpos{\sfID:#1}{$#2$}} % Two commands for requesting contractions (the connections between spinors), using the spin formula ID. \define[2]\contract{% \startpositionoverlay{graphics}% \setMPpositiongraphic{\sfID:#1}{mypos:contract}{to=\sfID:#2}% \stoppositionoverlay% } \define[2]\contractbelow{% \startpositionoverlay{graphics}% \setMPpositiongraphic{\sfID:#1}{mypos:contractbelow}{to=\sfID:#2}% \stoppositionoverlay% } % A textstyle fraction to make the normalization factor look nice. \define[2]\textfrac{{\textstyle\frac{#1}{#2}}} \starttext \startspinformula \mpos{X}{e}_\alpha \mpos{Y}{e}^\mu \mpos{Z}{e}_{\dot\beta} = \textfrac{1}{\sqrt{2}}\sigma_{\alpha\dot\beta}^\mu \contract{X}{Y} \contractbelow{Y}{Z} \stopformula \startspinformula \mpos{X}{e}^{\dot\alpha} \mpos{Y}{e}_\mu \mpos{Z}{e}^{\beta} = \textfrac{1}{\sqrt{2}}\bar\sigma^{\dot\alpha\beta}_\mu \contractbelow{X}{Y} \contract{Y}{Z} \stopformula %\startformula % % Each \connectboxanchors works alone, but both together make trouble: % %\connectboxanchors[top][top]{X}{Y} % \connectboxanchors[bottom][bottom]{Y}{Z} % \mathboxanchored{X}{e}_\alpha \mathboxanchored{Y}{e}^\mu \mathboxanchored{Z}{e}_{\dot\beta} % = \textfrac{1}{\sqrt{2}}\sigma_{\alpha\dot\beta}^\mu %\stopformula %\blank[8mm] % %\startformula % % Each \connectboxanchors works alone, but both together make trouble: % \connectboxanchors[top][top]{X}{Y} % %\connectboxanchors[bottom][bottom]{Y}{Z} % \mathboxanchored{X}{e}_\alpha \mathboxanchored{Y}{e}^\mu \mathboxanchored{Z}{e}_{\dot\beta} % = \textfrac{1}{\sqrt{2}}\sigma_{\alpha\dot\beta}^\mu %\stopformula \stoptext --Apple-Mail=_9111D27A-C914-47C6-B776-1769767AF9B0 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSWYgeW91ciBxdWVzdGlvbiBpcyBvZiBpbnRlcmVz dCB0byBvdGhlcnMgYXMgd2VsbCwgcGxlYXNlIGFkZCBhbiBlbnRyeSB0byB0aGUgV2lraSEKCm1h aWxsaXN0IDogbnRnLWNvbnRleHRAbnRnLm5sIC8gaHR0cHM6Ly93d3cubnRnLm5sL21haWxtYW4v bGlzdGluZm8vbnRnLWNvbnRleHQKd2VicGFnZSAgOiBodHRwczovL3d3dy5wcmFnbWEtYWRlLm5s IC8gaHR0cDovL2NvbnRleHQuYWFuaGV0Lm5ldAphcmNoaXZlICA6IGh0dHBzOi8vYml0YnVja2V0 Lm9yZy9waGcvY29udGV4dC1taXJyb3IvY29tbWl0cy8Kd2lraSAgICAgOiBodHRwczovL2NvbnRl eHRnYXJkZW4ubmV0Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCg== --Apple-Mail=_9111D27A-C914-47C6-B776-1769767AF9B0--