Open main menu

Changes

6,941 bytes added ,  17:31, 19 February 2016
Please do not RED tag other wiki pages.
 
<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.
=Duplex with marginsBug: Layoutchange inside page while duplexmode=
Problem: At A both sided document in which the moment mkiv creates wired margin on every duplex layout has to switch inside a page. It appears when lines seperates works fine with text only content, but as soon "bigger" objects (like a table) are involved the marginstextarea get messedup (shifted horizontally).
\definelayout[WithMarginnotes] [grid=no,topspace=3cm,height=24cm,backspace=3cm,cutspace=0cm,leftmargin=1cm,leftmargindistance=0In the following example inner and outer margin notes are added to make it more obvious.4cm,width=12.1cm,rightmargindistance=0.4cm,rightmargin=3.5cm] <texcode> \setuplayoutsetuppapersize[WithMarginnotesA4] \setuppagenumbering[alternative=doublesided,location=A4] \showframe
\starttextdefinelayout[WithoutMarginnotes][location={duplex},grid=no,topspace=3cm,height=24cm,backspace=3cm,cutspace=0cm,leftmargin=1cm,leftmargindistance=0.4cm,width=16cm,rightmargindistance=0cm,rightmargin=0cm]
\ininnerdefinelayout[WithMarginnotes][location={X X X X X X X X X X X Xduplex}\inouter{M M M M M M M M M M M M }\input tufte,grid=no,topspace=3cm,height=24cm,backspace=3cm,cutspace=0cm,leftmargin=1cm,leftmargindistance=0.4cm,width=12.1cm,rightmargindistance=0.4cm,rightmargin=3.5cm]
\ininner{X X X X X X X X X X X X}\inouter{M M M M M M M M M M M M }\input tuftesetuppagenumbering[alternative=doublesided,location=]
\ininner{X X X X X X X X X X X X}\inouter{M M M M M M M M M M M M }\input tuftestarttext
\ininner{X X X X X X X X X X X X}\inouter{M M M M M M M M M M M M }\input tuftesetuplayout[WithMarginnotes]
\dorecurse {6} { \ininner[stack=yes]{\expanded{\dorecurse{X X X X X X X X X X X X2}{IM\recurselevel\space}}}% \inouter[stack=yes]{M M M M M M M M M M M M \expanded{\dorecurse{3}{OM\recurselevel\space}}}% \input tufte\par }  \setuplayout[WithoutMarginnotes]
\ininnerplacetable[split][]{X X X X X X X X X X X XBig table object} { \setupTABLE[row][1][width=\textwidth] \bTABLE[split=repeat] \bTABLEhead \bTR \inouterbTD XXX \eTD \eTR \eTABLEhead \bTABLEbody \dorecurse{M M M M M M M M M M M M 20}{ \input tuftebTR \bTD XXX \eTD \eTR} \eTABLEbody \eTABLE }
\ininner{X X X X X X X X X X X X}\inouter{M M M M M M M M M M M M }\input tufte \ininner{X X X X X X X X X X X X}\inouter{M M M M M M M M M M M M }\input tuftesetuplayout[WithMarginnotes]
\dorecurse {3} { \ininner[stack=yes]{X X X X X X X X X X X X\expanded{\dorecurse{2}{IM\recurselevel\space}}}% \inouter[stack=yes]{\expanded{M M M M M M M M M M M M \dorecurse{3}{OM\recurselevel\space}}}% \input tufte \par }
\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: (Picture of pdf1), (2), (3) and (4) -> '''Works'''
Once the empty lines are removes
==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]\startformulaPM \xrightarrow R_{PM} \xrightarrow PM\stopformula \placeformula[eq:second]\startformulaR_{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 (same header like above1.2) <texcode>\starttextplacesubformula \startformula \ininnerstartalign[n=3, align={X X X X X X X X X X X Xright,middle,left}]\inouterNC PM \xrightarrow \NC R_{M M M M M M M M M M M M PM}\input tufteNC \xrightarrow PM \NR[gleichung1a][.1] \ininnerNC R_{X X X X X X X X X X X XPM}\inouterNC = \NC \{M M M M M M M M M M M M A, B, C, D, E\}\input tufteNR[gleichung1b][.2] \ininnerNC R_{X X X X X X X X X X X XPM}\inouterNC = \NC \{M M M M M M M M M M M M A, B, C, D, E\}\input tufteNR[+][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 \ininnerstartalign[n=3, align={X X X X X X X X X X X Xright,middle,left}]\NC PM \xrightarrow \inouterNC R_{M M M M M M M M M M M M PM}\input tufteNC \xrightarrow PM \NR[gleichung1a][+] \ininnerNC R_{X X X X X X X X X X X XPM}\inouterNC = \NC \{M M M M M M M M M M M M A, B, C, D, E\}\input tufteNR[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 &\ininnerformulanumber{X X X X X X X X X X X Xa}\inoutercr c &= \left(a^2 + b^2\right)^{\vfrac{1}{M M M M M M M M M M M M 2}} &\input tuftesubformulanumber{b}\cr a^2 + b^2 &= c^2 &\subformulanumber{c} \cr d^2 &= e^2 &\formulanumber\cr}\ininnerstopformula</texcode> Result: Does not compile Does as the command type{X X X X X X X X X X X Xsubformularnumber}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}]\startformulac^2 = a^2 + b^2.\stopformula</texcode>  Expected formular number: (1.3) and list entry (1.3) -> "Der einfache Test" <texcode>\inouterplaceformula[sublevel={.3},reference={one},listlabel={M M M M M M M M M M M M Der einfache Test}]\startformulac^2 = a^2 + b^2.\input tuftestopformula</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> \ininnerplacenamedformula[reference={eq:ax=b},listlabel={X X X X X X X X X X X XSystem of stuff}]\startformula \startalign\NC a \NC \eq b \inouterNR[sublevel={M M M M M M M M M M M M .a}]\NC c \NC \input tufteneq d \NR \ininnerNC \NC \neq f \NR[reference={eq:sub},sublevel={X X X X X X X X X X X X.b}]\NC \NC \geq g \NR[+]\inouterNC \NC \leq h \NR[listlabel={Great piece},sublevel={M M M M M M M M M M M M .a}]\NC \NC \input tufteeq i \NR \NC \NC \eq i \NR[listlabel={Last part}]\stopalign \stopformula \stoptextstopsubformulas</texcode>  ===eqalignno===
the result is ok: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[File:duplex-margin-without-empty-linessublevel={.pngc},listlabel={Yea!}]\cr d^2 &= e^2 &\formulanumber[listlabel={Ups},reference={eq:ups}]\cr}\stopformula</texcode>
But this is only a theoretical construction. In real life texting you have often empty lines.
==[stacking=continue] does not solve the problemSummary===
All three commands:* \NR* \placeformula* \formualanumber will share the same attributes:* sublevel (Quelltextmaybe 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 itso that the syntax is more intuitive during writing.
(Picture of pdf)Also. this way the commands:* placesubformula* placenamedformula* placenamedsubformula* startstopsubformulas* subformulanumberwill become needless.
148

edits