Re: [NTG-context] \hpos in math - Half solved
On 12/8/2022 8:54 PM, Otared Kavian via ntg-context wrote: Hi Hans, Mikael, These features are amazing! Many many thanks! Thanks also to Gavin for having stated so precisely these kinds of needs, so that Hans and Mikael could come up with this solution. Gavin, good luck with your project, and plaese share what you get at the end. For the record: this features is already there for a while, we also have some matrix specific trickery as well as for instance annotated fences and so. However, the interfaces will evolve and eventually get documented in the upcoming (big) math manual. It's mostly a matter of consistent interfacing i.e. it has to fit into the way we do things in context (it's of course easy to come up with a quick and dirty ugly non extensible and non standard interface). What is new in the latest greatest is (1) namespaces, so that one can reuse the references, which Gavin needs, and (2) sourcing a nucleus and/or the whole atom including scripts, which Gavin also needs. Some more granularity might show up depending on needs. As some depends on the tex engine there are limitations (performance, memory and complexity constraints: adding features like these might definitely not impact performance). Source and target properties were added in order to avoid interference with math spacing but can also be used in text, where they are part of the larger package of box properties that was already around. \startTEXpage[offset=2cm] \setbox 0 \ruledhbox source 123 anchors 1 2 {one} \setbox 2 \ruledhbox target 123 {test 1} \dontleavehmode \box2 \box0 \setbox 0 \ruledhbox target 124 orientation 2 anchors 1 4 xoffset-10pt {two} \setbox 2 \ruledhbox source 124 {test 2} \dontleavehmode \box2 \box0 \stopTEXpage With sources and targets one has to keep in mind that they don't participate in the box dimensions! Although excessive usage puts some strain on the backend in practice it probably goes unnoticed. Also, be careful with the source and target id's! There is currently no low level allocation mechanism so stick to positive numbers. So, lots to play with, if you're in the mood, Hans (There is quite some experimental code around but to what extend it ends up in the core depends on demand, time, motivation etc. As you can guess, Mikael and I having a lot of math fun is motivating.) - Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | 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 / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___
Re: [NTG-context] \hpos in math - Half solved
Hi Hans, Mikael, These features are amazing! Many many thanks! Thanks also to Gavin for having stated so precisely these kinds of needs, so that Hans and Mikael could come up with this solution. Gavin, good luck with your project, and plaese share what you get at the end. Best regards : Otared > On 8 Dec 2022, at 07:14, Mikael Sundqvist via ntg-context > wrote: > > Hi, > > On Thu, Dec 8, 2022 at 1:07 AM Gavin via ntg-context > wrote: >> >> Hi Hans and Mikael, >> >> This is amazing! Mikael's example works for me. I will start using these >> tools in my project, and I’ll tell you how it goes. > > Very good that it works and that it gets tested! > >> It might be a couple weeks, because the physics is also quite challenging. > > Haha, I can imagine that the spinors are even more challenging. Good luck! > > /Mikael > ___ > If your question is of interest to others as well, please add an entry to the > Wiki! > > maillist : ntg-context@ntg.nl / > https://www.ntg.nl/mailman/listinfo/ntg-context > webpage : https://www.pragma-ade.nl / http://context.aanhet.net > archive : https://bitbucket.org/phg/context-mirror/commits/ > wiki : https://contextgarden.net > ___ Otared Kavian e-mail: ota...@gmail.com Phone: +33 6 88 26 70 95 ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___
Re: [NTG-context] \hpos in math - Half solved
Hi, On Thu, Dec 8, 2022 at 1:07 AM Gavin via ntg-context wrote: > > Hi Hans and Mikael, > > This is amazing! Mikael's example works for me. I will start using these > tools in my project, and I’ll tell you how it goes. Very good that it works and that it gets tested! > It might be a couple weeks, because the physics is also quite challenging. Haha, I can imagine that the spinors are even more challenging. Good luck! /Mikael ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___
Re: [NTG-context] \hpos in math - Half solved
Hi Hans and Mikael, This is amazing! Mikael's example works for me. I will start using these tools in my project, and I’ll tell you how it goes. It might be a couple weeks, because the physics is also quite challenging. Thank you! Gavin > On Dec 7, 2022, at 3:25 PM, Hans Hagen via ntg-context > wrote: > > On 12/7/2022 1:42 PM, Gavin via ntg-context wrote: >> 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’ll share it for anyone who might want to do something >> similar in the future. > attached an example by Mikael ... it should work with tonights update > > Hans > > > - > Hans Hagen | PRAGMA ADE > Ridderstraat 27 | 8061 GH Hasselt | The Netherlands > tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl > - > <221206-3.mkxl>___ > If your question is of interest to others as well, please add an entry to the > Wiki! > > maillist : ntg-context@ntg.nl / > https://www.ntg.nl/mailman/listinfo/ntg-context > webpage : https://www.pragma-ade.nl / http://context.aanhet.net > archive : https://bitbucket.org/phg/context-mirror/commits/ > wiki : https://contextgarden.net > ___ ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___
Re: [NTG-context] \hpos in math - Half solved
On 12/7/2022 1:42 PM, Gavin via ntg-context wrote: 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’ll share it for anyone who might want to do something similar in the future. attached an example by Mikael ... it should work with tonights update Hans - Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl - \usemodule[article-basic] \starttext \startboxanchoring[+] \connectboxanchors[top][top][distance=1ex] {c1}{c2} \connectboxanchors[bottom] [bottom] [distance=1ex] {d1}{d2} \startformula \mathboxanchored[nucleus]{c1}{e}_{\alpha} \mathboxanchored[nucleus]{c2}{e}^{\mu} \mathboxanchored[nucleus]{d1}{todo} \mathboxanchored[nucleus]{d2}{e}_{\dot{\beta}} = \frac{1}{\sqrt{2}} \sigma_{\alpha,\dot{\beta}}^{\mu} \stopformula \stopboxanchoring \startboxanchoring[+] \connectboxanchors[top][top][distance=0.5ex,arrow=no] {c1}{c2} \connectboxanchors[bottom] [bottom] [distance=0.5ex,arrow=no] {c2}{c3} \startformula \mathboxanchored[nucleus]{c1}{e}_{\alpha} \mathboxanchored[nucleus]{c2}{e}^{\mu} \mathboxanchored[nucleus]{c3}{e}_{\dot{\beta}} = \frac{1}{\sqrt{2}} \sigma_{\alpha,\dot{\beta}}^{\mu} \stopformula \stopboxanchoring \startboxanchoring[+] \connectboxanchors[top][top][text={\smallinfofont upper limits}]{b1}{b2} \connectboxanchors[bottom] [bottom] [text={\smallinfofont lower limits}]{a1}{a2} \startformula \int_{\mathboxanchored{a1}{0}}^{\mathboxanchored{b1}{1}} \frac{1}{1+x^2} \dd x = \int_{\mathboxanchored{a2}{0}}^{\pi\mathboxanchored{b2}{/}4} \frac{1}{1+\tan^2 t}(1+\tan^2 t)\dd t \stopformula \stopboxanchoring \stoptext ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___
Re: [NTG-context] \hpos in math - Half solved
On 12/7/2022 1:42 PM, Gavin via ntg-context wrote: 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’ll share it for anyone who might want to do something similar in the future. Using this could work \newcount\SFNum \global\advance\SFNum\plusone \the\SFNum (you now use a (global) lua counter The code I added is below, with some comments. The complete example file is attached. The result is two equations. 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. but ... work local ... so document.sfnum etc in order to avoid clashes Gavin % 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% } Attached what you can do in a next upload (on the million math test files MS and I have by now) Hans - Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl - 221206-1.pdf Description: Adobe PDF document ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___
Re: [NTG-context] \hpos in math - Half solved
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’ll 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. hposQuestionEquations.pdf Description: Adobe PDF document 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 \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% } hposQuestion.tex Description: Binary data ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context webpage : https://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : https://contextgarden.net ___