summaryrefslogtreecommitdiff
path: root/doc/context/presentations/context/2013/context-2013-math.tex
diff options
context:
space:
mode:
Diffstat (limited to 'doc/context/presentations/context/2013/context-2013-math.tex')
-rw-r--r--doc/context/presentations/context/2013/context-2013-math.tex244
1 files changed, 244 insertions, 0 deletions
diff --git a/doc/context/presentations/context/2013/context-2013-math.tex b/doc/context/presentations/context/2013/context-2013-math.tex
new file mode 100644
index 000000000..d15fffec2
--- /dev/null
+++ b/doc/context/presentations/context/2013/context-2013-math.tex
@@ -0,0 +1,244 @@
+% \enablemode[print]
+
+\usemodule[present-stepwise,present-tiles,abr-02]
+
+\definecolor[maincolor] [darkgray]
+\definecolor[othercolor][b=.3]
+
+\setupinteractionscreen
+ [option=max]
+
+% \setupalign
+% [flushleft,tolerant]
+
+\defineframed
+ [conclusion]
+ [location=low,
+ width=max,
+ align=flushleft,
+ background=color,
+ backgroundcolor=white,
+ foregroundcolor=othercolor]
+
+\setupbodyfont[15pt]
+
+\startdocument
+ [title={Math:\\\\progress or standing still},
+ %subtitle={Hans Hagen\\TUG Conference\\October 2013}]
+ subtitle={Hans Hagen\\\ConTeXt\ Meeting\\September 2013}]
+
+\StartSteps \starttopic [title={Math as script}]
+
+ \startitem math can be input using the \TEX\ syntax, \MATHML, calculator like sequences, \unknown \FlushStep \stopitem
+ \startitem but apart from content \MATHML\ all stay close to good old \TEX \FlushStep \stopitem
+ \startitem although not officially a script, \OPENTYPE\ treats it as such, but without control \FlushStep \stopitem
+
+ \blank[2*big]
+
+ \starttyping
+ $ ( (x + 1) / a + 1 )^2 = (x - 1) / b $
+ \stoptyping
+
+ \FlushStep
+
+ \starttyping
+ $ \left( \frac{x + 1}{a} + 1 \right)^2 = \frac{x - 1}{b} $
+ \stoptyping
+
+ \FlushStep
+
+ \starttyping
+ <mfenced open="(" close = ")">
+ <mfrac>...</mfrac> <mo>+</mo> <mn>1</mn>
+ </mfenced>
+ \stoptyping
+
+ \FlushStep
+
+ \starttyping
+ <mrow>
+ <mo>(</mo> <mfrac>...</mfrac> <mo>+</mo> <mn>1</mn> <mo>)</mo>
+ </mrow>
+ \stoptyping
+
+ \FlushStep
+
+ \vfilll \conclusion{There is recognition of math as a proper (but not standardized) script.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Alphabets}]
+
+ \startitem the shape (style) of a character determines its meaning \FlushStep \stopitem
+ \startitem but in most cases an type {a} is entered as \ASCII\ character \FlushStep \stopitem
+ \startitem and tagged with some rendering directive, often indicating a font style \FlushStep \stopitem
+ \startitem in traditional \TEX\ we have alphabets in different fonts, so we're talking switches \FlushStep \stopitem
+ \startitem in \UNICODE\ and \OPENTYPE\ we have alphabets with standardized code points (but gaps too) \FlushStep \stopitem
+ \startitem this has big advantages for communicating, transferring data etc \FlushStep \stopitem
+ \startitem but a math engine still has to deal with \ASCII\ input as well \FlushStep \stopitem
+ \startitem multiple axis: types, alphabets, styles, variants, shapes, modifiers \FlushStep \stopitem
+
+ \vfilll \conclusion{We're off better but the gaps are an anomality.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Heavy bold}]
+
+ \startitem for titles and captions we might need bolder math \FlushStep \stopitem
+ \startitem bold symbols in math have special meaning \FlushStep \stopitem
+ \startitem so when going full bold they should become heavy \FlushStep \stopitem
+ \startitem heavy math involves boldening everything, including extensibles \FlushStep \stopitem
+ \startitem there are currently no fonts that have such complete heavy companions \FlushStep \stopitem
+
+ \vfilll \conclusion{We need proper bold fonts, but they need to be relatively complete.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Radicals}]
+
+ \startitem this always has been (and still is) a combination of vertical extensibles and horizontal rules \FlushStep \stopitem
+ \startitem it is the only two dimensional extensible so always a bit of an exception \FlushStep \stopitem
+ \startitem in the wide engines we now have more direct support primitive for that (no macro needed) \FlushStep \stopitem
+ \startitem in practice (at least in \MKIV) we still use macros because we want control \FlushStep \stopitem
+
+ \vfilll \conclusion{Native support for radicals is nice to have and makes coding cleaner.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Primes}]
+
+ \startitem this is a special case as we (sort of) have upto two superscripts \FlushStep \stopitem
+ \startitem and also need to handle an optional subscript of the base symbol \FlushStep \stopitem
+ \startitem and in order to be visually okay, we need to collect multiple primes \FlushStep \stopitem
+ \startitem some fonts have primes raised, some have them flying high \FlushStep \stopitem
+ \startitem maybe at some point the upcoming math pre- and postscripts will help \FlushStep \stopitem
+
+ \vfilll \conclusion{Supporting primes will always be a bit of a pain but I stay on top of it.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Accents}]
+
+ \startitem they can go on top or below one or more characters (also in combination) \FlushStep \stopitem
+ \startitem accents have some hard codes positional properties \FlushStep \stopitem
+ \startitem the wide engines have more direct support for this \FlushStep \stopitem
+ \startitem fonts provide a limited set of sizes, such accents cannot extend (by design) \FlushStep \stopitem
+
+ \vfilll \conclusion{Engine support for accents is better now but maybe fonts need to have more sizes.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Stackers}]
+
+ \startitem arrows (and other horizontal extensibles) traditionally were made from snippets \FlushStep \stopitem
+ \startitem we need them also for chemistry, in rather flexible ways \FlushStep \stopitem
+ \startitem in upcoming math fonts they are become real extensibles \FlushStep \stopitem
+ \startitem but then we still need to deal with existing fonts that lack them (one font in the end) \FlushStep \stopitem
+ \startitem there will be native support for so called character leaders \FlushStep \stopitem
+
+ \vfilll \conclusion{Stackers are more easily implemented although fonts pose some challenges.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Fences}]
+
+ \startitem these go left and right (or in the middle) of things \FlushStep \stopitem
+ \startitem there need to be a matching pair else we get an error \FlushStep \stopitem
+ \startitem they have to adapt their size to what they wrap \FlushStep \stopitem
+ \startitem \TEX ies can take care of that in their input \FlushStep \stopitem
+ \startitem but in for instance \MATHML\ checking all this is a bit of a pain \FlushStep \stopitem
+ \startitem this is still the domain of macros \FlushStep \stopitem
+ \startitem but we could make the engines a bit more tolerant (hard to do) \FlushStep \stopitem
+
+ \vfilll \conclusion{Matching fences will always be a bit of a problem.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Directions}]
+
+ \startitem bidirectional math is mostly a matter of the availability of fonts \FlushStep \stopitem
+ \startitem there need to be some agreement (at the macro package level) of control \FlushStep \stopitem
+ \startitem it's (for me) a visually interesting challenge \FlushStep \stopitem
+ \startitem there are some \TEX ies working on these matters (quite some research is done already) \FlushStep \stopitem
+
+ \vfilll \conclusion{Right to left math will show up thanks to pioneers.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Structure}]
+
+ \startitem demand for tagging also means that we need to carry a bit more info around \FlushStep \stopitem
+ \startitem this puts a little more burden on the user \FlushStep \stopitem
+ \startitem in the end it largely is a macro package issue \FlushStep \stopitem
+ \startitem better tagging of input can also help rendering \FlushStep \stopitem
+ \startitem detailed control at the \TEX\ level makes that users can spoil the game \FlushStep \stopitem
+
+ \vfilll \conclusion{In these times structure gets more important so minimal coding is less an option.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Italic correction}]
+
+ \startitem in traditional \TEX\ fonts this was used for spacing as well as special purposed \FlushStep \stopitem
+ \startitem across fonts there was never much correction \FlushStep \stopitem
+ \startitem \OPENTYPE\ doesn't have this concept \FlushStep \stopitem
+ \startitem \OPENTYPE\ math has some of if but also more powerful kerning \FlushStep \stopitem
+ \startitem generally speaking: we can ignore italic corrections \FlushStep \stopitem
+
+ \vfilll \conclusion{We need to accept that old concepts die and new onces show up.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Big}]
+
+ \startitem normally extensible fences are chosen automatically \FlushStep \stopitem
+ \startitem but macro packages provide tricks to choose a size \FlushStep \stopitem
+ \startitem extensible steps are unpredictable but still several mechanisms can be provided \FlushStep \stopitem
+
+ \vfilll \conclusion{Users will always want control and no engine can provide that but macros can.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Macros}]
+
+ \startitem some special symbols were constructed by macros (and using special font properties) \FlushStep \stopitem
+ \startitem these are mostly gone (the diagonal dots) \FlushStep \stopitem
+ \startitem if it is ever needed again, we should extend the fonts \FlushStep \stopitem
+
+ \vfilll \conclusion{Thanks to new font technologies and wide engines need less dirty tricks.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Unscripting}]
+
+ \startitem you can bet on those funny \UNICODE\ super and subscripts showing up in input \FlushStep \stopitem
+ \startitem it's a somewhat limited and unuseable lot for math (a modifier would have made more sense) \FlushStep \stopitem
+ \startitem it's one of these legacies that we need to deal with \FlushStep \stopitem
+ \startitem so the macro package needs to intercept them and map them onto proper math \FlushStep \stopitem
+
+ \vfilll \conclusion{We always need to deal with weird input, if only because standards lack.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Combining fonts}]
+
+ \startitem we can expect math fonts to be rather complete and if not, one should choose another one \FlushStep \stopitem
+ \startitem but sometimes (for simple math) you want to swap in alphabets and digits that match the text font \FlushStep \stopitem
+ \startitem given that we talk of ranges this is easy to support at the macro package level \FlushStep \stopitem
+
+ \vfilll \conclusion{Although fonts are more complete, occasional combinations should remain possible.} \FlushStep
+
+\stoptopic \StopSteps
+
+\StartSteps \starttopic [title={Tracing}]
+
+ \startitem there are lots of symbols involved \FlushStep \stopitem
+ \startitem and we have those extensibles too \FlushStep \stopitem
+ \startitem the larger the fonts get the more checking we need to do \FlushStep \stopitem
+ \startitem so macro packages need to provide some tracing options (or tables in print) \FlushStep \stopitem
+
+ \vfilll \conclusion{We keep an eye on things.} \FlushStep
+
+\stoptopic \StopSteps
+
+\stopdocument