Difference between revisions of "Math/fractions"

From Wiki
Jump to navigation Jump to search
(23 intermediate revisions by the same user not shown)
Line 29: Line 29:
  
 
</context>
 
</context>
 +
 +
== Different behaviors for inline and display mode ==
  
 
<context source="yes">
 
<context source="yes">
Line 36: Line 38:
  
 
\framed[frame=off,align=normal]{%  <=== just to improve wiki rendering
 
\framed[frame=off,align=normal]{%  <=== just to improve wiki rendering
Each time, we display consecutively: math style, display style, script style, and text style.
+
Each time, we display the different style:
  
 
With \tex{startformula} (display mode)
 
With \tex{startformula} (display mode)
Line 43: Line 45:
 
\stopformula
 
\stopformula
  
With \tex{m} (inline mode): \m{\getbuffer[frac]}
+
With \tex{m} (inline mode): \m{\getbuffer[frac]}}
 +
</context>
 +
 
 +
 
 +
== Fractions of fractions ==
 +
 
 +
<context source="yes">
 +
\startbuffer[frac]
 +
\frac{1}{2} + \dfrac{1}{2} - \sfrac{1}{2} - \xfrac{1}{2}  - \xxfrac{1}{2} + \vfrac{1}{2} + \hfrac{1}{2}  + \tfrac{1}{2}
 +
\stopbuffer
 +
 
 +
\framed[frame=off,align=normal]{%  <=== just to improve wiki rendering
 +
Now fraction of fractions:
 +
 
 +
With \tex{startformula} (display mode)
 +
\startformula
 +
  \frac
 +
    {\getbuffer[frac]}
 +
    {\getbuffer[frac]}
 +
\stopformula
 +
 
 +
 
 +
With \tex{m}  (inline mode) and \tex{frac}:
 +
\m{\frac
 +
  {\getbuffer[frac]}
 +
  {\getbuffer[frac]}}
 +
 
 +
With \tex{m}  (inline mode) and \tex{cfrac} (continued):
 +
\m{\cfrac
 +
  {\getbuffer[frac]}
 +
  {\getbuffer[frac]}}}
 +
</context>
 +
 
 +
== Formatting with {{cmd|definemathfraction}} ==
 +
 
 +
Just an example from [https://www.mail-archive.com/ntg-context@ntg.nl/msg69987.html mailing list]
 +
 
 +
<context source="yes">
 +
\startformula    \frac {a}  { \frac{b}{c} }  \stopformula
 +
 
 +
\definemathfraction
 +
  [wfrac]
 +
  [margin=.25em]
 +
 
 +
\startformula    \wfrac {a} { \frac{b}{c} }  \stopformula
 
</context>
 
</context>
  
Line 51: Line 97:
 
{{cmd|setupmathfractions}}.
 
{{cmd|setupmathfractions}}.
  
The default look of the binomial coefficients look good in several fonts, but for example not perfect in Latin Modern. You can play with {{cmd|setupmathfractions}}, and in particular, you can try
 
  
<texcode>
+
Below we show some of the often used fonts, together with the default setting and the one just suggested. The default look of the binomial coefficients look good in several fonts, but for example not perfect in Latin Modern. You may want to play with {{cmd|definemathfraction}}.
\setupmathfractions[binomial][
 
fences=parenthesis,
 
%threshold=1.5,
 
]
 
</texcode>
 
  
Below we show some of the often used fonts, together with the default setting and the one just suggested. You can also play with the
 
threshold key.
 
  
<texcode>
+
<context source="yes">
 
\setuphead[chapter][align=middle]
 
\setuphead[chapter][align=middle]
 
\setuphead[section][style=\bfa]
 
\setuphead[section][style=\bfa]
 
\setuphead[subsection][style=\it]
 
\setuphead[subsection][style=\it]
 
  
 
\setuplayout[
 
\setuplayout[
Line 105: Line 142:
 
\getbuffer
 
\getbuffer
  
\switchtobodyfont[lucidaot]
+
%\switchtobodyfont[lucidaot]
\subsubject{Lucida}
+
%\subsubject{Lucida}
\getbuffer
+
%\getbuffer
  
 
\column[yes]
 
\column[yes]
  
\setupmathfractions[binom][
+
\definemathfraction[binomial]  [binom]   [fences=parenthesis,rule=no]
fences=parenthesis,
+
\definemathfraction[tbinomial] [binomial] [mathstyle=text]
]
+
\definemathfraction[dbinomial] [binomial] [mathstyle=display]
 +
 
 +
\startbuffer
 +
\type{\binomial{n}{k}}: $\binomial{n}{k}$\par
 +
\type{\tbinomial{n}{k}}: $\tbinomial{n}{k}$\par
 +
\type{\dbinomial{n}{k}}: $\dbinomial{n}{k}$\par
 +
\stopbuffer
  
 
\switchtobodyfont[modern]
 
\switchtobodyfont[modern]
\subject{With fences=parenthesis}
+
\subject{\tex{definemathfraction}}
 
\subsubject{Latin Modern}
 
\subsubject{Latin Modern}
 
\getbuffer
 
\getbuffer
Line 128: Line 171:
 
\getbuffer
 
\getbuffer
  
\switchtobodyfont[lucidaot]
+
%\switchtobodyfont[lucidaot]
\subsubject{Lucida}
+
%\subsubject{Lucida}
\getbuffer
+
%\getbuffer
  
 
\stopcolumns
 
\stopcolumns
 
\stoptext
 
\stoptext
</texcode>
+
 
 +
</context>
  
 
The result of the code above, with the standalone from 2017-09-05 is given below.
 
The result of the code above, with the standalone from 2017-09-05 is given below.
  
 
[[File:binomialcoefficients.png|700px]]
 
[[File:binomialcoefficients.png|700px]]
 
[[Category:Math]]
 

Revision as of 19:28, 12 May 2024

Fractions

\frac typeset fraction, according to the current style. Others commands enforce a certain style :


\starttabulate[|l|l|l|]
\HL
\NC {\bf Size or style} \NC {\bf Code}           \NC {\bf Typesetting} \NC\NR
\HL
\NC math                \NC \type{\frac{1}{3}}   \NC \m{\frac{1}{3}}   \NC\NR
\NC display             \NC \type{\dfrac{1}{3}}  \NC \m{\dfrac{1}{3}}  \NC\NR
\NC script              \NC \type{\xfrac{1}{3}}  \NC \m{\xfrac{1}{3}}  \NC\NR
\NC scriptscript        \NC \type{\sfrac{1}{3}}  \NC \m{\sfrac{1}{3}}  \NC\NR
\NC scriptscript        \NC \type{\xxfrac{1}{3}} \NC \m{\xxfrac{1}{3}} \NC\NR
\NC semi-horizontal     \NC \type{\vfrac{1}{3}}  \NC \m{\vfrac{1}{3}}  \NC\NR
\NC horizontal          \NC \type{\hfrac{1}{3}}  \NC \m{\hfrac{1}{3}}  \NC\NR
\NC continued           \NC \type{\cfrac{1}{3}}  \NC \m{\cfrac{1}{3}}  \NC\NR
\NC text                \NC \type{\tfrac{1}{3}}  \NC \m{\tfrac{1}{3}}  \NC\NR
\stoptabulate

Different behaviors for inline and display mode

\startbuffer[frac]
\frac{1}{2} + \dfrac{1}{2} - \sfrac{1}{2} - \xfrac{1}{2}  - \xxfrac{1}{2} + \vfrac{1}{2} + \hfrac{1}{2}  + \tfrac{1}{2}
\stopbuffer

\framed[frame=off,align=normal]{%   <=== just to improve wiki rendering
Each time, we display the different style:

With \tex{startformula} (display mode)
\startformula
\getbuffer[frac]
\stopformula

With \tex{m} (inline mode): \m{\getbuffer[frac]}}


Fractions of fractions

\startbuffer[frac]
\frac{1}{2} + \dfrac{1}{2} - \sfrac{1}{2} - \xfrac{1}{2}  - \xxfrac{1}{2} + \vfrac{1}{2} + \hfrac{1}{2}  + \tfrac{1}{2}
\stopbuffer

\framed[frame=off,align=normal]{%   <=== just to improve wiki rendering
Now fraction of fractions:

With \tex{startformula} (display mode)
\startformula
  \frac
    {\getbuffer[frac]}
    {\getbuffer[frac]}
\stopformula


With \tex{m}  (inline mode) and \tex{frac}:
\m{\frac
  {\getbuffer[frac]}
  {\getbuffer[frac]}}

With \tex{m}  (inline mode) and \tex{cfrac} (continued):
\m{\cfrac
  {\getbuffer[frac]}
  {\getbuffer[frac]}}}

Formatting with \definemathfraction

Just an example from mailing list

\startformula    \frac {a}  { \frac{b}{c} }   \stopformula

\definemathfraction
  [wfrac]
  [margin=.25em]

\startformula    \wfrac {a} { \frac{b}{c} }   \stopformula

Binomial coefficients

To write binomial coefficients you use any of \binom, \tbinom or \dbinom (the latter two if you want to force text style or display style respectively). These commands are defined as fractions in ConTeXt, and can be set up with \setupmathfractions.


Below we show some of the often used fonts, together with the default setting and the one just suggested. The default look of the binomial coefficients look good in several fonts, but for example not perfect in Latin Modern. You may want to play with \definemathfraction.


\setuphead[chapter][align=middle]
\setuphead[section][style=\bfa]
\setuphead[subsection][style=\it]

\setuplayout[
topspace=1in,
bottomspace=1in,
header=0pt,
footer=0pt,
backspace=1in,
margin=0pt,
width=fit,
height=fit,
]

\startbuffer
\type{\binom{n}{k}}: $\binom{n}{k}$\par
\type{\tbinom{n}{k}}: $\tbinom{n}{k}$\par
\type{\dbinom{n}{k}}: $\dbinom{n}{k}$\par
\stopbuffer

\starttext

\title{Binomial coefficients}

\startcolumns[n=2]

\subject{Default settings}

\subsubject{Latin Modern}
\getbuffer

\switchtobodyfont[pagella]
\subsubject{Pagella}
\getbuffer

\switchtobodyfont[stixtwo]
\subsubject{STIX Two}
\getbuffer

%\switchtobodyfont[lucidaot]
%\subsubject{Lucida}
%\getbuffer

\column[yes]

\definemathfraction[binomial]  [binom]    [fences=parenthesis,rule=no]
\definemathfraction[tbinomial] [binomial] [mathstyle=text]
\definemathfraction[dbinomial] [binomial] [mathstyle=display]

\startbuffer
\type{\binomial{n}{k}}: $\binomial{n}{k}$\par
\type{\tbinomial{n}{k}}: $\tbinomial{n}{k}$\par
\type{\dbinomial{n}{k}}: $\dbinomial{n}{k}$\par
\stopbuffer

\switchtobodyfont[modern]
\subject{\tex{definemathfraction}}
\subsubject{Latin Modern}
\getbuffer

\switchtobodyfont[pagella]
\subsubject{Pagella}
\getbuffer

\switchtobodyfont[stixtwo]
\subsubject{STIX Two}
\getbuffer

%\switchtobodyfont[lucidaot]
%\subsubject{Lucida}
%\getbuffer

\stopcolumns
\stoptext

The result of the code above, with the standalone from 2017-09-05 is given below.

binomialcoefficients.png