Difference between revisions of "User talk:Zenlima"
(another approach) |
|||
(21 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | |||
+ | <div style="border: 3px solid red; background: #ffaaaa; padding: 0.4em;"> | ||
+ | <div style="fontsize: 1.3em; fontweight: bold">Warning!</div> | ||
+ | If you consider using ConTeXt for a paper with a proper formula numbering please wait until it is implemented in mkiv. At the moment only a very limited formula numbering is possilbe: | ||
+ | * number formula(s) with a plain number | ||
+ | * number formula(s) with a subnumber | ||
+ | Not possible is at the moment: | ||
+ | * Table of formulas | ||
+ | * Named subformulas | ||
+ | * Mixure of formulas and subformulas in one block | ||
+ | * Reference on a (sub-)formula without having it listed in the Table of formulas | ||
+ | For more details and actual state see mailing list and [http://wiki.contextgarden.net/User_talk:Zenlima Summary of formula numbering problem]. | ||
+ | </div> | ||
+ | |||
+ | |||
+ | |||
Hi, I use this page to support my question regarding context and summarize the result. Once a problem is solved I will move that text into the "normal" wiki pages. | Hi, I use this page to support my question regarding context and summarize the result. Once a problem is solved I will move that text into the "normal" wiki pages. | ||
− | =Bug( | + | =Bug: Layoutchange inside page while duplexmode= |
+ | |||
+ | A both sided document in which the layout has to switch inside a page works fine with text only content, but as soon "bigger" objects (like a table) are involved the textarea get messed | ||
+ | up (shifted horizontally). | ||
+ | |||
+ | In the following example inner and outer margin notes are added to make it more obvious. | ||
+ | |||
+ | <texcode> | ||
+ | \setuppapersize[A4][A4] | ||
+ | |||
+ | \definelayout[WithoutMarginnotes][location={duplex},grid=no,topspace=3cm,height=24cm,backspace=3cm,cutspace=0cm,leftmargin=1cm,leftmargindistance=0.4cm,width=16cm,rightmargindistance=0cm,rightmargin=0cm] | ||
+ | |||
+ | \definelayout[WithMarginnotes][location={duplex},grid=no,topspace=3cm,height=24cm,backspace=3cm,cutspace=0cm,leftmargin=1cm,leftmargindistance=0.4cm,width=12.1cm,rightmargindistance=0.4cm,rightmargin=3.5cm] | ||
+ | |||
+ | \setuppagenumbering[alternative=doublesided,location=] | ||
+ | |||
+ | \starttext | ||
+ | |||
+ | \setuplayout[WithMarginnotes] | ||
+ | |||
+ | \dorecurse {6} { | ||
+ | \ininner[stack=yes]{\expanded{\dorecurse{2}{IM\recurselevel\space}}}% | ||
+ | \inouter[stack=yes]{\expanded{\dorecurse{3}{OM\recurselevel\space}}}% | ||
+ | \input tufte \par | ||
+ | } | ||
+ | |||
+ | \setuplayout[WithoutMarginnotes] | ||
+ | |||
+ | \placetable[split][]{Big table object} | ||
+ | { | ||
+ | \setupTABLE[row][1][width=\textwidth] | ||
+ | \bTABLE[split=repeat] | ||
+ | \bTABLEhead | ||
+ | \bTR \bTD XXX \eTD \eTR | ||
+ | \eTABLEhead | ||
+ | \bTABLEbody | ||
+ | \dorecurse{20}{ | ||
+ | \bTR \bTD XXX \eTD \eTR} | ||
+ | \eTABLEbody | ||
+ | \eTABLE | ||
+ | } | ||
+ | |||
+ | \setuplayout[WithMarginnotes] | ||
+ | |||
+ | \dorecurse {3} { | ||
+ | \ininner[stack=yes]{\expanded{\dorecurse{2}{IM\recurselevel\space}}}% | ||
+ | \inouter[stack=yes]{\expanded{\dorecurse{3}{OM\recurselevel\space}}}% | ||
+ | \input tufte \par | ||
+ | } | ||
+ | |||
+ | \stoptext | ||
+ | </texcode> | ||
+ | |||
+ | ==Another Approach== | ||
+ | |||
+ | Not sure whether this is what you had in mind: | ||
+ | |||
+ | <texcode> | ||
+ | \showframe | ||
+ | |||
+ | \definelayout[WithoutMarginnotes][location={duplex}, grid=no, topspace=3cm, height=24cm, backspace=3cm, cutspace=0cm, leftmargin=1cm, leftmargindistance=0.4cm, width=16cm, rightmargindistance=0cm, rightmargin=0cm] | ||
+ | |||
+ | \definelayout[WithMarginnotes][location={duplex}, grid=no, topspace=3cm, height=24cm, backspace=3cm, cutspace=0cm, leftmargin=1cm, leftmargindistance=0.4cm, width=12.1cm, rightmargindistance=0.4cm, rightmargin=3.5cm] | ||
+ | |||
+ | \setuppagenumbering[alternative=doublesided,location=] | ||
+ | |||
+ | \starttext | ||
+ | |||
+ | \startlayout[WithMarginnotes] | ||
+ | |||
+ | \dorecurse {6} { | ||
+ | \ininner[stack=yes]{\expanded{\dorecurse{2}{IM\recurselevel\space}}}% | ||
+ | \inouter[stack=yes]{\expanded{\dorecurse{3}{OM\recurselevel\space}}}% | ||
+ | \input tufte \par | ||
+ | } | ||
+ | \stoplayout | ||
+ | \startlayout[WithoutMarginnotes] | ||
+ | |||
+ | \placetable[split][]{Big table object} | ||
+ | { | ||
+ | \setupTABLE[row][1][width=\textwidth] | ||
+ | \bTABLE[split=repeat] | ||
+ | \bTABLEhead | ||
+ | \bTR \bTD XXX \eTD \eTR | ||
+ | \eTABLEhead | ||
+ | \bTABLEbody | ||
+ | \dorecurse{20}{ | ||
+ | \bTR \bTD XXX \eTD \eTR} | ||
+ | \eTABLEbody | ||
+ | \eTABLE | ||
+ | } | ||
+ | \stoplayout | ||
+ | |||
+ | \startlayout[WithMarginnotes] | ||
+ | \dorecurse {3} { | ||
+ | \ininner[stack=yes]{\expanded{\dorecurse{2}{IM\recurselevel\space}}}% | ||
+ | \inouter[stack=yes]{\expanded{\dorecurse{3}{OM\recurselevel\space}}}% | ||
+ | \input tufte \par | ||
+ | } | ||
+ | \stoplayout | ||
+ | \stoptext | ||
+ | </texcode> | ||
+ | |||
+ | |||
+ | =Bug: Formula numbering - subnumbers and list of formulas= | ||
+ | |||
+ | All following example have following frame: | ||
+ | |||
+ | <texcode> | ||
+ | \usemodule[newmath] | ||
+ | |||
+ | \setupformulas[way=bytext,prefix=no] | ||
+ | \setupsubformulas[conversion=romannumerals] | ||
+ | |||
+ | \starttext | ||
+ | ...(example placed here)... | ||
+ | \stoptext | ||
+ | </texcode> | ||
+ | |||
+ | |||
+ | ==What works== | ||
+ | |||
+ | ===formula=== | ||
+ | |||
+ | Expected formular number: (1) | ||
+ | |||
+ | <texcode> | ||
+ | \placenamedformula[one]{Der einfache Test} | ||
+ | \startformula | ||
+ | c^2 = a^2 + b^2. | ||
+ | \stopformula | ||
+ | </texcode> | ||
+ | |||
+ | Result: (1) -> '''Works''' | ||
+ | |||
+ | ===align - formular [+]=== | ||
+ | |||
+ | Expected formular numbers: (1) and (2) | ||
+ | |||
+ | <texcode> | ||
+ | \placeformula | ||
+ | \startformula | ||
+ | \startalign[n=3, align={right,middle,left}] | ||
+ | \NC PM \xrightarrow \NC R_{PM} \NC \xrightarrow PM \NR[+] | ||
+ | \NC R_{PM} \NC = \NC \{ A, B, C, D, E\} \NR[+] | ||
+ | \stopalign | ||
+ | \stopformula | ||
+ | </texcode> | ||
+ | |||
+ | Result: (1) and (2) -> '''Works''' | ||
+ | |||
+ | |||
+ | ===align - subformular [+]=== | ||
+ | |||
+ | Expected numbers: (1.a), (1.b), (1.c), (1.d) and reference on (1) and (1.b) | ||
+ | <texcode> | ||
+ | \startsubformulas[eq:ax=b] | ||
+ | \placeformula | ||
+ | \startformula \startalign | ||
+ | \NC a \NC \eq b \NR[+] | ||
+ | \NC c \NC \neq d \NR | ||
+ | \NC \NC \neq f \NR[eq:sub] | ||
+ | \NC \NC \geq g \NR[+] | ||
+ | \NC \NC \leq h \NR[+] | ||
+ | \NC \NC \eq i \NR | ||
+ | \stopalign \stopformula | ||
+ | \stopsubformulas | ||
+ | </texcode> | ||
+ | |||
+ | Result: (1.a), (1.b), (1.c), (1.d) -> '''Works'''. | ||
+ | |||
+ | BUT: Every formula with a reference is automatic listed in the table of formulas (nameless) - at the moment there is no possiblity to have a reference without listing the formula. | ||
+ | |||
+ | ===eqalignno - formula=== | ||
+ | |||
+ | Taken from wiki and removed the subformulanumber. Expected formular numbers: (1), (2), (3) and (4): | ||
+ | |||
+ | <texcode> | ||
+ | \placeformula | ||
+ | \startformula | ||
+ | \eqalignno{ | ||
+ | c^2 &= a^2 + b^2 &\formulanumber \cr | ||
+ | c &= \left(a^2 + b^2\right)^{\vfrac{1}{2}} &\formulanumber\cr | ||
+ | a^2 + b^2 &= c^2 &\formulanumber \cr | ||
+ | d^2 &= e^2 &\formulanumber \cr} | ||
+ | \stopformula | ||
+ | </texcode> | ||
+ | |||
+ | Result: (1), (2), (3) and (4) -> '''Works''' | ||
+ | |||
+ | |||
+ | ==What does not work== | ||
+ | |||
+ | |||
+ | ===List of formulas=== | ||
+ | |||
+ | <texcode> | ||
+ | \placelist[formula][criterium=all,alternative=c] | ||
+ | </texcode> | ||
+ | |||
+ | The list of formulas seems to be totally out of order. Strange numbering and missing names. Needs more investigation once some of the named formulas constructions are fixed. | ||
+ | |||
+ | |||
+ | ===subformula=== | ||
+ | |||
+ | Expected formular numbers: (1a) and (1b) | ||
+ | |||
+ | <texcode> | ||
+ | \startsubformulas[eq:1] | ||
+ | \placeformula[eq:first] | ||
+ | \startformula | ||
+ | PM \xrightarrow R_{PM} \xrightarrow PM | ||
+ | \stopformula | ||
+ | |||
+ | \placeformula[eq:second] | ||
+ | \startformula | ||
+ | R_{PM} = \{ K, F, Z, U, I, J\} | ||
+ | \stopformula | ||
+ | \stopsubformulas | ||
+ | </texcode> | ||
+ | |||
+ | Result: (1a) and nothing -> '''Does not work.''' | ||
+ | |||
+ | |||
+ | ===align - formula (subformulas->formulas->formula)=== | ||
+ | |||
+ | Expected formular numbers: (1a) and (1a) and a reference to formular (1b) | ||
+ | |||
+ | <texcode> | ||
+ | \startsubformulas | ||
+ | \startformulas | ||
+ | \placeformula | ||
+ | \startformula | ||
+ | \startalign[n=3, align={right,middle,left}] | ||
+ | \NC PM \xrightarrow \NC R_{PM} \NC \xrightarrow PM \NR[+] | ||
+ | \NC R_{PM} \NC = \NC \{ A, B, C, D, E\} \NR[a] | ||
+ | \stopalign | ||
+ | \stopformula | ||
+ | \stopformulas | ||
+ | \stopsubformulas | ||
+ | </texcode> | ||
+ | |||
+ | Result: nothing and nothing -> '''Does not work.''' | ||
+ | |||
+ | |||
+ | ===align - subformula=== | ||
+ | |||
+ | Expected formular numbers: (1.1), (1.2) and (1.c) plus reference on (1.1) and (1.2) | ||
+ | |||
+ | <texcode> | ||
+ | \placesubformula | ||
+ | \startformula | ||
+ | \startalign[n=3, align={right,middle,left}] | ||
+ | \NC PM \xrightarrow \NC R_{PM} \NC \xrightarrow PM \NR[gleichung1a][.1] | ||
+ | \NC R_{PM} \NC = \NC \{ A, B, C, D, E\} \NR[gleichung1b][.2] | ||
+ | \NC R_{PM} \NC = \NC \{ A, B, C, D, E\} \NR[+][c] | ||
+ | \stopalign | ||
+ | \stopformula | ||
+ | </texcode> | ||
+ | |||
+ | Result: (1), (2) and (3) -> '''Does not work.''' | ||
+ | |||
+ | |||
+ | Expected formular numbers: (1a) and (1b) plus reference on (1a) and (1b) | ||
+ | |||
+ | <texcode> | ||
+ | \placesubformula | ||
+ | \startformula | ||
+ | \startalign[n=3, align={right,middle,left}] | ||
+ | \NC PM \xrightarrow \NC R_{PM} \NC \xrightarrow PM \NR[gleichung1a][+] | ||
+ | \NC R_{PM} \NC = \NC \{ A, B, C, D, E\} \NR[gleichung1b][] | ||
+ | \stopalign | ||
+ | \stopformula | ||
+ | </texcode> | ||
+ | |||
+ | Result: (1) and (2) -> '''Does not work.''' | ||
+ | |||
+ | |||
+ | ===eqalignno - subformula=== | ||
+ | |||
+ | Directly taken form wiki. Expected formular numbers (1), (1a), (1b) and (2): | ||
+ | |||
+ | <texcode> | ||
+ | \placeformula | ||
+ | \startformula | ||
+ | \eqalignno{ | ||
+ | c^2 &= a^2 + b^2 &\formulanumber{a} \cr | ||
+ | c &= \left(a^2 + b^2\right)^{\vfrac{1}{2}} &\subformulanumber{b}\cr | ||
+ | a^2 + b^2 &= c^2 &\subformulanumber{c} \cr | ||
+ | d^2 &= e^2 &\formulanumber\cr} | ||
+ | \stopformula | ||
+ | </texcode> | ||
+ | |||
+ | Result: Does not compile Does as the command type{subformularnumber} is unknown -> '''Does not work.''' | ||
+ | |||
+ | ==Suggestion for new syntax== | ||
+ | |||
+ | '''Open for discussion :-)''' | ||
+ | |||
+ | The needs out of existing syntax and my personal experience: | ||
+ | * formulas and subformulas in the same block | ||
+ | * referencing on a subformula does not include automaticly a entry in the list of formulas | ||
+ | * simple, block and eqalignno | ||
+ | |||
+ | ===Simple=== | ||
+ | |||
+ | Expected formular number: (1) and list entry (1) -> "Der einfache Test" | ||
+ | |||
+ | <texcode> | ||
+ | \placeformula[reference={one},listlabel={Der einfache Test}] | ||
+ | \startformula | ||
+ | c^2 = a^2 + b^2. | ||
+ | \stopformula | ||
+ | </texcode> | ||
+ | |||
+ | |||
+ | Expected formular number: (1.3) and list entry (1.3) -> "Der einfache Test" | ||
+ | |||
+ | <texcode> | ||
+ | \placeformula[sublevel={.3},reference={one},listlabel={Der einfache Test}] | ||
+ | \startformula | ||
+ | c^2 = a^2 + b^2. | ||
+ | \stopformula | ||
+ | </texcode> | ||
+ | |||
+ | |||
+ | ===Block notation: NR=== | ||
+ | |||
+ | No specific values -> [+] otherwise classic attribute/value [...] | ||
+ | |||
+ | Expected numbers: (1.a), nothing, (1.b), (2), (2.a), nothing and (3); with reference on (1) and (1.b); with list entries of (1) -> "System of stuff", (2.a) -> "Great piece" and (3) -> "Last part" | ||
+ | |||
+ | <texcode> | ||
+ | \placenamedformula[reference={eq:ax=b},listlabel={System of stuff}] | ||
+ | \startformula \startalign | ||
+ | \NC a \NC \eq b \NR[sublevel={.a}] | ||
+ | \NC c \NC \neq d \NR | ||
+ | \NC \NC \neq f \NR[reference={eq:sub},sublevel={.b}] | ||
+ | \NC \NC \geq g \NR[+] | ||
+ | \NC \NC \leq h \NR[listlabel={Great piece},sublevel={.a}] | ||
+ | \NC \NC \eq i \NR | ||
+ | \NC \NC \eq i \NR[listlabel={Last part}] | ||
+ | \stopalign \stopformula | ||
+ | \stopsubformulas | ||
+ | </texcode> | ||
+ | |||
+ | |||
+ | ===eqalignno=== | ||
+ | |||
+ | Expected formular numbers (1), (1a), (1.c) and (2); reference on (2); list entries (1.c) -> "Yea!" and (2) -> "Ups" | ||
− | ( | + | <texcode> |
+ | \placeformula | ||
+ | \startformula | ||
+ | \eqalignno{ | ||
+ | c^2 &= a^2 + b^2 &\formulanumber \cr | ||
+ | c &= \left(a^2 + b^2\right)^{\vfrac{1}{2}} &\formulanumber[sublevel={a}]\cr | ||
+ | a^2 + b^2 &= c^2 &\formulanumber[sublevel={.c},listlabel={Yea!}] \cr | ||
+ | d^2 &= e^2 &\formulanumber[listlabel={Ups},reference={eq:ups}]\cr} | ||
+ | \stopformula | ||
+ | </texcode> | ||
− | |||
− | + | ===Summary=== | |
− | |||
− | + | All three commands: | |
− | + | * \NR | |
− | + | * \placeformula | |
− | + | * \formualanumber | |
− | + | will share the same attributes: | |
− | + | * sublevel (maybe better: formulalevel or just level?)<br />to define and concrete the (sub-)level of the formula | |
− | + | * listlabel (maybe textlabel? the numberlabel is still needed)<br /> to add a entry in the list of formulas | |
− | + | * reference<br />just a classic reference in order to link to it | |
− | + | so that the syntax is more intuitive during writing. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Also. this way the commands: | |
− | + | * placesubformula | |
− | + | * placenamedformula | |
− | + | * placenamedsubformula | |
− | + | * startstopsubformulas | |
− | + | * subformulanumber | |
− | + | will become needless. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Latest revision as of 18:46, 30 January 2023
If you consider using ConTeXt for a paper with a proper formula numbering please wait until it is implemented in mkiv. At the moment only a very limited formula numbering is possilbe:
- number formula(s) with a plain number
- number formula(s) with a subnumber
Not possible is at the moment:
- Table of formulas
- Named subformulas
- Mixure of formulas and subformulas in one block
- Reference on a (sub-)formula without having it listed in the Table of formulas
For more details and actual state see mailing list and Summary of formula numbering problem.
Hi, I use this page to support my question regarding context and summarize the result. Once a problem is solved I will move that text into the "normal" wiki pages.
Contents
Bug: Layoutchange inside page while duplexmode
A both sided document in which the layout has to switch inside a page works fine with text only content, but as soon "bigger" objects (like a table) are involved the textarea get messed up (shifted horizontally).
In the following example inner and outer margin notes are added to make it more obvious.
\setuppapersize[A4][A4] \definelayout[WithoutMarginnotes][location={duplex},grid=no,topspace=3cm,height=24cm,backspace=3cm,cutspace=0cm,leftmargin=1cm,leftmargindistance=0.4cm,width=16cm,rightmargindistance=0cm,rightmargin=0cm] \definelayout[WithMarginnotes][location={duplex},grid=no,topspace=3cm,height=24cm,backspace=3cm,cutspace=0cm,leftmargin=1cm,leftmargindistance=0.4cm,width=12.1cm,rightmargindistance=0.4cm,rightmargin=3.5cm] \setuppagenumbering[alternative=doublesided,location=] \starttext \setuplayout[WithMarginnotes] \dorecurse {6} { \ininner[stack=yes]{\expanded{\dorecurse{2}{IM\recurselevel\space}}}% \inouter[stack=yes]{\expanded{\dorecurse{3}{OM\recurselevel\space}}}% \input tufte \par } \setuplayout[WithoutMarginnotes] \placetable[split][]{Big table object} { \setupTABLE[row][1][width=\textwidth] \bTABLE[split=repeat] \bTABLEhead \bTR \bTD XXX \eTD \eTR \eTABLEhead \bTABLEbody \dorecurse{20}{ \bTR \bTD XXX \eTD \eTR} \eTABLEbody \eTABLE } \setuplayout[WithMarginnotes] \dorecurse {3} { \ininner[stack=yes]{\expanded{\dorecurse{2}{IM\recurselevel\space}}}% \inouter[stack=yes]{\expanded{\dorecurse{3}{OM\recurselevel\space}}}% \input tufte \par } \stoptext
Another Approach
Not sure whether this is what you had in mind:
\showframe \definelayout[WithoutMarginnotes][location={duplex}, grid=no, topspace=3cm, height=24cm, backspace=3cm, cutspace=0cm, leftmargin=1cm, leftmargindistance=0.4cm, width=16cm, rightmargindistance=0cm, rightmargin=0cm] \definelayout[WithMarginnotes][location={duplex}, grid=no, topspace=3cm, height=24cm, backspace=3cm, cutspace=0cm, leftmargin=1cm, leftmargindistance=0.4cm, width=12.1cm, rightmargindistance=0.4cm, rightmargin=3.5cm] \setuppagenumbering[alternative=doublesided,location=] \starttext \startlayout[WithMarginnotes] \dorecurse {6} { \ininner[stack=yes]{\expanded{\dorecurse{2}{IM\recurselevel\space}}}% \inouter[stack=yes]{\expanded{\dorecurse{3}{OM\recurselevel\space}}}% \input tufte \par } \stoplayout \startlayout[WithoutMarginnotes] \placetable[split][]{Big table object} { \setupTABLE[row][1][width=\textwidth] \bTABLE[split=repeat] \bTABLEhead \bTR \bTD XXX \eTD \eTR \eTABLEhead \bTABLEbody \dorecurse{20}{ \bTR \bTD XXX \eTD \eTR} \eTABLEbody \eTABLE } \stoplayout \startlayout[WithMarginnotes] \dorecurse {3} { \ininner[stack=yes]{\expanded{\dorecurse{2}{IM\recurselevel\space}}}% \inouter[stack=yes]{\expanded{\dorecurse{3}{OM\recurselevel\space}}}% \input tufte \par } \stoplayout \stoptext
Bug: Formula numbering - subnumbers and list of formulas
All following example have following frame:
\usemodule[newmath] \setupformulas[way=bytext,prefix=no] \setupsubformulas[conversion=romannumerals] \starttext ...(example placed here)... \stoptext
What works
formula
Expected formular number: (1)
\placenamedformula[one]{Der einfache Test} \startformula c^2 = a^2 + b^2. \stopformula
Result: (1) -> Works
align - formular [+]
Expected formular numbers: (1) and (2)
\placeformula \startformula \startalign[n=3, align={right,middle,left}] \NC PM \xrightarrow \NC R_{PM} \NC \xrightarrow PM \NR[+] \NC R_{PM} \NC = \NC \{ A, B, C, D, E\} \NR[+] \stopalign \stopformula
Result: (1) and (2) -> Works
align - subformular [+]
Expected numbers: (1.a), (1.b), (1.c), (1.d) and reference on (1) and (1.b)
\startsubformulas[eq:ax=b] \placeformula \startformula \startalign \NC a \NC \eq b \NR[+] \NC c \NC \neq d \NR \NC \NC \neq f \NR[eq:sub] \NC \NC \geq g \NR[+] \NC \NC \leq h \NR[+] \NC \NC \eq i \NR \stopalign \stopformula \stopsubformulas
Result: (1.a), (1.b), (1.c), (1.d) -> Works.
BUT: Every formula with a reference is automatic listed in the table of formulas (nameless) - at the moment there is no possiblity to have a reference without listing the formula.
eqalignno - formula
Taken from wiki and removed the subformulanumber. Expected formular numbers: (1), (2), (3) and (4):
\placeformula \startformula \eqalignno{ c^2 &= a^2 + b^2 &\formulanumber \cr c &= \left(a^2 + b^2\right)^{\vfrac{1}{2}} &\formulanumber\cr a^2 + b^2 &= c^2 &\formulanumber \cr d^2 &= e^2 &\formulanumber \cr} \stopformula
Result: (1), (2), (3) and (4) -> Works
What does not work
List of formulas
\placelist[formula][criterium=all,alternative=c]
The list of formulas seems to be totally out of order. Strange numbering and missing names. Needs more investigation once some of the named formulas constructions are fixed.
subformula
Expected formular numbers: (1a) and (1b)
\startsubformulas[eq:1] \placeformula[eq:first] \startformula PM \xrightarrow R_{PM} \xrightarrow PM \stopformula \placeformula[eq:second] \startformula R_{PM} = \{ K, F, Z, U, I, J\} \stopformula \stopsubformulas
Result: (1a) and nothing -> Does not work.
align - formula (subformulas->formulas->formula)
Expected formular numbers: (1a) and (1a) and a reference to formular (1b)
\startsubformulas \startformulas \placeformula \startformula \startalign[n=3, align={right,middle,left}] \NC PM \xrightarrow \NC R_{PM} \NC \xrightarrow PM \NR[+] \NC R_{PM} \NC = \NC \{ A, B, C, D, E\} \NR[a] \stopalign \stopformula \stopformulas \stopsubformulas
Result: nothing and nothing -> Does not work.
align - subformula
Expected formular numbers: (1.1), (1.2) and (1.c) plus reference on (1.1) and (1.2)
\placesubformula \startformula \startalign[n=3, align={right,middle,left}] \NC PM \xrightarrow \NC R_{PM} \NC \xrightarrow PM \NR[gleichung1a][.1] \NC R_{PM} \NC = \NC \{ A, B, C, D, E\} \NR[gleichung1b][.2] \NC R_{PM} \NC = \NC \{ A, B, C, D, E\} \NR[+][c] \stopalign \stopformula
Result: (1), (2) and (3) -> Does not work.
Expected formular numbers: (1a) and (1b) plus reference on (1a) and (1b)
\placesubformula \startformula \startalign[n=3, align={right,middle,left}] \NC PM \xrightarrow \NC R_{PM} \NC \xrightarrow PM \NR[gleichung1a][+] \NC R_{PM} \NC = \NC \{ A, B, C, D, E\} \NR[gleichung1b][] \stopalign \stopformula
Result: (1) and (2) -> Does not work.
eqalignno - subformula
Directly taken form wiki. Expected formular numbers (1), (1a), (1b) and (2):
\placeformula \startformula \eqalignno{ c^2 &= a^2 + b^2 &\formulanumber{a} \cr c &= \left(a^2 + b^2\right)^{\vfrac{1}{2}} &\subformulanumber{b}\cr a^2 + b^2 &= c^2 &\subformulanumber{c} \cr d^2 &= e^2 &\formulanumber\cr} \stopformula
Result: Does not compile Does as the command type{subformularnumber} is unknown -> Does not work.
Suggestion for new syntax
Open for discussion :-)
The needs out of existing syntax and my personal experience:
- formulas and subformulas in the same block
- referencing on a subformula does not include automaticly a entry in the list of formulas
- simple, block and eqalignno
Simple
Expected formular number: (1) and list entry (1) -> "Der einfache Test"
\placeformula[reference={one},listlabel={Der einfache Test}] \startformula c^2 = a^2 + b^2. \stopformula
Expected formular number: (1.3) and list entry (1.3) -> "Der einfache Test"
\placeformula[sublevel={.3},reference={one},listlabel={Der einfache Test}] \startformula c^2 = a^2 + b^2. \stopformula
Block notation: NR
No specific values -> [+] otherwise classic attribute/value [...]
Expected numbers: (1.a), nothing, (1.b), (2), (2.a), nothing and (3); with reference on (1) and (1.b); with list entries of (1) -> "System of stuff", (2.a) -> "Great piece" and (3) -> "Last part"
\placenamedformula[reference={eq:ax=b},listlabel={System of stuff}] \startformula \startalign \NC a \NC \eq b \NR[sublevel={.a}] \NC c \NC \neq d \NR \NC \NC \neq f \NR[reference={eq:sub},sublevel={.b}] \NC \NC \geq g \NR[+] \NC \NC \leq h \NR[listlabel={Great piece},sublevel={.a}] \NC \NC \eq i \NR \NC \NC \eq i \NR[listlabel={Last part}] \stopalign \stopformula \stopsubformulas
eqalignno
Expected formular numbers (1), (1a), (1.c) and (2); reference on (2); list entries (1.c) -> "Yea!" and (2) -> "Ups"
\placeformula \startformula \eqalignno{ c^2 &= a^2 + b^2 &\formulanumber \cr c &= \left(a^2 + b^2\right)^{\vfrac{1}{2}} &\formulanumber[sublevel={a}]\cr a^2 + b^2 &= c^2 &\formulanumber[sublevel={.c},listlabel={Yea!}] \cr d^2 &= e^2 &\formulanumber[listlabel={Ups},reference={eq:ups}]\cr} \stopformula
Summary
All three commands:
- \NR
- \placeformula
- \formualanumber
will share the same attributes:
- sublevel (maybe better: formulalevel or just level?)
to define and concrete the (sub-)level of the formula - listlabel (maybe textlabel? the numberlabel is still needed)
to add a entry in the list of formulas - reference
just a classic reference in order to link to it
so that the syntax is more intuitive during writing.
Also. this way the commands:
- placesubformula
- placenamedformula
- placenamedsubformula
- startstopsubformulas
- subformulanumber
will become needless.