Changes

Jump to navigation Jump to search
6,414 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 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 tufte setuplayout[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: (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===
[[FileExpected formular numbers:duplex-margin-with-empty-lines-without-continue(1.png]]1), (1.2) and (1.c) plus reference on (1.1) and (1.2)
As you can see two problems occur:<texcode># on the duplex page inner and outer margin are wrong places \placesubformula# the with is also a little confused (maybe of the misplacing)\startformula# the margins are overlapping \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>
Once 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 empty lines are removescommand 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}]\startformulac^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}]\startformulac^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>
(same header like above)
\starttext
\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 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 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 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 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 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 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 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 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 tufte
\stoptext
the result is ok:===eqalignno===
[[File:duplexExpected formular numbers (1), (1a), (1.c) and (2); reference on (2); list entries (1.c) -margin> "Yea!" and (2) -without-empty-lines.png]]> "Ups"
But this is only <texcode>\placeformula\startformula\eqalignno{ c^2 &= a theoretical construction. In real life texting you have often empty lines^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>
==[stacking=continue] only solves one aspect of the problem==
the [stacking=continue] makes sure that te margins dont overlap each other. But the misplacing is still happening.==Summary===
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

Navigation menu