texmath 0.5.0.4 → 0.6
raw patch · 69 files changed
+5543/−300 lines, 69 files
Files
- Text/TeXMath.hs +8/−2
- Text/TeXMath/MathML.hs +16/−7
- Text/TeXMath/OMML.hs +231/−0
- Text/TeXMath/Parser.hs +23/−19
- Text/TeXMath/Types.hs +18/−2
- tests/01.omml +80/−0
- tests/01.xhtml +3/−3
- tests/02.omml +72/−0
- tests/02.xhtml +3/−3
- tests/03.omml +51/−0
- tests/04.omml +89/−0
- tests/04.xhtml +2/−2
- tests/05.omml +165/−0
- tests/05.xhtml +4/−4
- tests/06.omml +169/−0
- tests/06.xhtml +4/−4
- tests/07.omml +105/−0
- tests/07.xhtml +2/−2
- tests/08.omml +161/−0
- tests/08.xhtml +10/−10
- tests/09.omml +83/−0
- tests/09.xhtml +1/−1
- tests/10.omml +243/−0
- tests/10.xhtml +12/−12
- tests/11.omml +167/−0
- tests/11.xhtml +7/−7
- tests/12.omml +160/−0
- tests/12.xhtml +3/−3
- tests/13.omml +339/−0
- tests/13.xhtml +6/−6
- tests/14.omml +43/−0
- tests/15.omml +22/−0
- tests/16.omml +17/−0
- tests/16.xhtml +1/−1
- tests/17.omml +33/−0
- tests/18.omml +29/−0
- tests/18.xhtml +1/−1
- tests/19.omml +457/−0
- tests/19.xhtml +12/−12
- tests/axiom_of_power_set.omml +113/−0
- tests/axiom_of_power_set.xhtml +9/−9
- tests/binomial_coefficient.omml +171/−0
- tests/binomial_coefficient.xhtml +1/−1
- tests/complex_number.omml +94/−0
- tests/complex_number.xhtml +3/−3
- tests/deMorgans_law.omml +177/−0
- tests/deMorgans_law.xhtml +10/−10
- tests/differentiable_manifold.omml +325/−0
- tests/differentiable_manifold.xhtml +14/−14
- tests/divergence.omml +141/−0
- tests/divergence.xhtml +9/−9
- tests/ensuremath.omml +19/−0
- tests/ensuremath.xhtml +1/−1
- tests/macros.omml +37/−0
- tests/moore_determinant.omml +334/−0
- tests/moore_determinant.xhtml +19/−19
- tests/quadratic_formula.omml +80/−0
- tests/quadratic_formula.xhtml +3/−3
- tests/runtests.sh +32/−18
- tests/schwinger_dyson.omml +187/−0
- tests/schwinger_dyson.xhtml +24/−24
- tests/sophomores_dream.omml +147/−0
- tests/sophomores_dream.xhtml +5/−5
- tests/sphere_volume.omml +614/−0
- tests/sphere_volume.xhtml +40/−40
- tests/unicode.omml +25/−0
- tests/unicode.xhtml +1/−1
- texmath.cabal +40/−38
- texmath.hs +16/−4
Text/TeXMath.hs view
@@ -1,5 +1,5 @@ {--Copyright (C) 2009 John MacFarlane <jgm@berkeley.edu>+Copyright (C) 2009-2012 John MacFarlane <jgm@berkeley.edu> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by@@ -19,12 +19,18 @@ {- | Functions for converting LaTeX math formulas to MathML. -} -module Text.TeXMath ( texMathToMathML, DisplayType(..) )+module Text.TeXMath ( texMathToMathML, texMathToOMML, DisplayType(..) ) where import Text.TeXMath.Parser import Text.TeXMath.MathML+import Text.TeXMath.OMML+import Text.TeXMath.Types import Text.XML.Light texMathToMathML :: DisplayType -> String -> Either String Element texMathToMathML dt inp = inp `seq` either Left (Right . toMathML dt) $ parseFormula inp++texMathToOMML :: DisplayType -> String -> Either String Element+texMathToOMML dt inp = inp `seq`+ either Left (Right . toOMML dt) $ parseFormula inp
Text/TeXMath/MathML.hs view
@@ -19,7 +19,7 @@ {- | Functions for writing a parsed formula as MathML. -} -module Text.TeXMath.MathML (toMathML, DisplayType(..), showExp)+module Text.TeXMath.MathML (toMathML, showExp) where import qualified Data.Map as M@@ -27,10 +27,6 @@ import Text.TeXMath.Types import Data.Generics (everywhere, mkT) -data DisplayType = DisplayBlock- | DisplayInline- deriving Show- toMathML :: DisplayType -> [Exp] -> Element toMathML dt exprs = add_attr dtattr $ math $ map showExp $ everywhere (mkT $ handleDownup dt) exprs@@ -111,13 +107,22 @@ makeScaled :: String -> Element -> Element makeScaled s = withAttribute "minsize" s . withAttribute "maxsize" s -makeText :: String -> String -> Element+makeText :: TextType -> String -> Element makeText a s = if trailingSp then mrow [s', sp] else s' where sp = spaceWidth "0.333em"- s' = withAttribute "mathvariant" a $ unode "mtext" s+ s' = withAttribute "mathvariant" attr $ unode "mtext" s trailingSp = not (null s) && last s `elem` " \t"+ attr = case a of+ TextNormal -> "normal"+ TextBold -> "bold"+ TextItalic -> "italic"+ TextMonospace -> "monospace"+ TextSansSerif -> "sans-serif"+ TextDoubleStruck -> "double-struck"+ TextScript -> "script"+ TextFraktur -> "fraktur" makeArray :: [Alignment] -> [ArrayLine] -> Element makeArray as ls = unode "mtable" $@@ -151,6 +156,10 @@ ENumber x -> unode "mn" x EGrouped [x] -> showExp x EGrouped xs -> mrow $ map showExp xs+ EDelimited start end xs -> mrow $+ [ makeStretchy (unode "mo" start) | not (null start) ] +++ map showExp xs +++ [ makeStretchy (unode "mo" end) | not (null end) ] EIdentifier x -> unode "mi" x EMathOperator x -> unode "mi" x ESymbol Accent x -> accent x
+ Text/TeXMath/OMML.hs view
@@ -0,0 +1,231 @@+{-+Copyright (C) 2012 John MacFarlane <jgm@berkeley.edu>++This program is free software; you can redistribute it and/or modify+it under the terms of the GNU General Public License as published by+the Free Software Foundation; either version 2 of the License, or+(at your option) any later version.++This program is distributed in the hope that it will be useful,+but WITHOUT ANY WARRANTY; without even the implied warranty of+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the+GNU General Public License for more details.++You should have received a copy of the GNU General Public License+along with this program; if not, write to the Free Software+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA+-}++{- | Functions for writing a parsed formula as OMML.+-}++module Text.TeXMath.OMML (toOMML, showExp)+where++import Text.XML.Light+import Text.TeXMath.Types+import Data.Generics (everywhere, mkT)++toOMML :: DisplayType -> [Exp] -> Element+toOMML dt = container . concatMap showExp+ . everywhere (mkT $ handleDownup dt)+ where container = case dt of+ DisplayBlock -> mnode "oMathPara" . mnode "oMath"+ DisplayInline -> mnode "oMath"++mnode :: Node t => String -> t -> Element+mnode s = node (QName s Nothing (Just "m"))++mnodeA :: Node t => String -> String -> t -> Element+mnodeA s v = add_attr (Attr (QName "val" Nothing (Just "m")) v) . mnode s++str :: [Element] -> String -> Element+str props s = mnode "r" [ mnode "rPr" props+ , mnode "t" s ]++showBinary :: String -> Exp -> Exp -> Element+showBinary c x y =+ case c of+ "\\frac" -> mnode "f" [ mnode "fPr" $+ mnodeA "type" "bar" ()+ , mnode "num" x'+ , mnode "den" y']+ "\\dfrac" -> showBinary "\\frac" x y+ "\\tfrac" -> mnode "f" [ mnode "fPr" $+ mnodeA "type" "lin" ()+ , mnode "num" x'+ , mnode "den" y']+ "\\sqrt" -> mnode "rad" [ mnode "radPr" $+ mnodeA "degHide" "on" ()+ , mnode "deg" y'+ , mnode "e" x']+ "\\stackrel" -> mnode "limUpp" [ mnode "e" x'+ , mnode "lim" y']+ "\\overset" -> mnode "limUpp" [ mnode "e" x'+ , mnode "lim" y' ]+ "\\underset" -> mnode "limLow" [ mnode "e" x'+ , mnode "lim" y' ]+ "\\binom" -> mnode "d" [ mnode "dPr" $+ mnodeA "sepChr" "," ()+ , mnode "e" $+ mnode "f" [ mnode "fPr" $+ mnodeA "type"+ "noBar" ()+ , mnode "num" x'+ , mnode "den" y' ]] + _ -> error $ "Unknown binary operator " ++ c+ where x' = showExp x+ y' = showExp y++makeArray :: [Alignment] -> [ArrayLine] -> Element+makeArray as rs = mnode "m" $ mProps : map toMr rs+ where mProps = mnode "mPr"+ [ mnodeA "baseJc" "center" ()+ , mnodeA "plcHide" "on" ()+ , mnode "mcs" $ map toMc as' ]+ as' = take (length rs) $ as ++ cycle [AlignDefault]+ toMr r = mnode "mr" $ map (mnode "e" . concatMap showExp) r+ toMc a = mnode "mc" $ mnode "mcPr"+ $ mnodeA "mcJc" (toAlign a) ()+ toAlign AlignLeft = "left"+ toAlign AlignRight = "right"+ toAlign AlignCenter = "center"+ toAlign AlignDefault = "left"++makeText :: TextType -> String -> Element+makeText a s = str attrs s+ where attrs = case a of+ TextNormal -> [sty "p"]+ TextBold -> [sty "b"]+ TextItalic -> [sty "i"]+ TextMonospace -> [sty "p", scr "monospace"]+ TextSansSerif -> [sty "p", scr "sans-serif"]+ TextDoubleStruck -> [sty "p", scr "double-struck"]+ TextScript -> [sty "p", scr "script"]+ TextFraktur -> [sty "p", scr "fraktur"]+ sty x = mnodeA "sty" x ()+ scr x = mnodeA "scr" x ()++handleDownup :: DisplayType -> [Exp] -> [Exp]+handleDownup dt (exp' : xs) =+ case exp' of+ EDown x y+ | isNary x -> EGrouped [constructor x y emptyGroup, next] : rest+ | otherwise -> case dt of+ DisplayBlock -> EUnder x y : xs+ DisplayInline -> ESub x y : xs+ EUp x y+ | isNary x -> EGrouped [constructor x emptyGroup y, next] : rest+ | otherwise -> case dt of+ DisplayBlock -> EOver x y : xs+ DisplayInline -> ESuper x y : xs+ EDownup x y z+ | isNary x -> EGrouped [constructor x y z, next] : rest+ | otherwise -> case dt of+ DisplayBlock -> EUnderover x y z : xs+ DisplayInline -> ESubsup x y z : xs+ ESub x y+ | isNary x -> EGrouped [ESubsup x y emptyGroup, next] : rest+ ESuper x y+ | isNary x -> EGrouped [ESubsup x emptyGroup y, next] : rest+ ESubsup x y z+ | isNary x -> EGrouped [ESubsup x y z, next] : rest+ EOver x y+ | isNary x -> EGrouped [EUnderover x y emptyGroup, next] : rest+ EUnder x y+ | isNary x -> EGrouped [EUnderover x emptyGroup y, next] : rest+ EUnderover x y z+ | isNary x -> EGrouped [EUnderover x y z, next] : rest+ _ -> exp' : next : rest+ where (next, rest) = case xs of+ (t:ts) -> (t,ts)+ [] -> (emptyGroup, [])+ emptyGroup = EGrouped []+ constructor = case dt of+ DisplayBlock -> EUnderover+ DisplayInline -> ESubsup+handleDownup _ [] = []++showExp :: Exp -> [Element]+showExp e =+ case e of+ ENumber x -> [str [] x]+ EGrouped [EUnderover (ESymbol Op s) y z, w] -> [makeNary "undOvr" s y z w]+ EGrouped [ESubsup (ESymbol Op s) y z, w] -> [makeNary "subSup" s y z w]+ EGrouped xs -> concatMap showExp xs+ EDelimited start end xs ->+ [mnode "d" [ mnode "dPr"+ [ mnodeA "begChr" start ()+ , mnodeA "endChr" end ()+ , mnode "grow" () ]+ , mnode "e" $ concatMap showExp xs+ ] ]++ EIdentifier x -> [str [] x]+ EMathOperator x -> [str [] x]+ EStretchy x -> showExp x -- no support for stretchy in OMML+ ESymbol _ x -> [str [] x]+ ESpace "0.167em" -> [str [] "\x2009"]+ ESpace "0.222em" -> [str [] "\x2005"]+ ESpace "0.278em" -> [str [] "\x2004"]+ ESpace "0.333em" -> [str [] "\x2004"]+ ESpace "1em" -> [str [] "\x2001"]+ ESpace "2em" -> [str [] "\x2001\x2001"]+ ESpace _ -> [] -- this is how the xslt sheet handles all spaces+ EBinary c x y -> [showBinary c x y]+ EUnder x (ESymbol Accent [c]) | isBarChar c ->+ [mnode "bar" [ mnode "barPr" $+ mnodeA "pos" "bot" ()+ , mnode "e" $ showExp x ]]+ EOver x (ESymbol Accent [c]) | isBarChar c ->+ [mnode "bar" [ mnode "barPr" $+ mnodeA "pos" "top" ()+ , mnode "e" $ showExp x ]]+ EOver x (ESymbol Accent y) ->+ [mnode "acc" [ mnode "accPr" $+ mnodeA "chr" y ()+ , mnode "e" $ showExp x ]]+ ESub x y -> [mnode "sSub" [ mnode "e" $ showExp x+ , mnode "sub" $ showExp y]]+ ESuper x y -> [mnode "sSup" [ mnode "e" $ showExp x+ , mnode "sup" $ showExp y]]+ ESubsup x y z -> [mnode "sSubSup" [ mnode "e" $ showExp x+ , mnode "sub" $ showExp y+ , mnode "sup" $ showExp z]]+ EUnder x y -> [mnode "limLow" [ mnode "e" $ showExp x+ , mnode "lim" $ showExp y]]+ EOver x y -> [mnode "limUpp" [ mnode "e" $ showExp x+ , mnode "lim" $ showExp y]]+ EUnderover x y z -> showExp (EUnder x (EOver y z))+ EUnary "\\sqrt" x -> [mnode "rad" [ mnode "radPr" $ mnodeA "degHide" "on" ()+ , mnode "deg" ()+ , mnode "e" $ showExp x]]+ EUnary "\\surd" x -> showExp $ EUnary "\\sqrt" x+ EScaled _ x -> showExp x -- no support for scaler?+ EArray as ls -> [makeArray as ls]+ EText a s -> [makeText a s]+ x -> error $ "showExp encountered " ++ show x+ -- note: EUp, EDown, EDownup should be removed by handleDownup++isBarChar :: Char -> Bool+isBarChar c = c == '\x203E' || c == '\x00AF'++isNary :: Exp -> Bool+isNary (ESymbol Op _) = True+isNary _ = False++makeNary :: String -> String -> Exp -> Exp -> Exp -> Element+makeNary t s y z w =+ mnode "nary" [ mnode "naryPr"+ [ mnodeA "chr" s ()+ , mnodeA "limLoc" t ()+ , mnode "grow" ()+ , mnodeA "supHide"+ (if y == EGrouped [] then "on" else "off") ()+ , mnodeA "supHide"+ (if y == EGrouped [] then "on" else "off") ()+ ]+ , mnode "e" $ showExp w+ , mnode "sub" $ showExp y+ , mnode "sup" $ showExp z ]+
Text/TeXMath/Parser.hs view
@@ -136,7 +136,13 @@ contents <- manyTill expr (try $ symbol "\\right" >> lookAhead basicEnclosure) end <- basicEnclosure- return $ EGrouped $ EStretchy start : (contents ++ [EStretchy end])+ let startChar = case start of+ ESymbol _ c -> c+ _ -> ""+ let endChar = case end of+ ESymbol _ c -> c+ _ -> ""+ return $ EDelimited startChar endChar contents scaledEnclosure :: GenParser Char st Exp scaledEnclosure = try $ do@@ -170,9 +176,7 @@ inEnvironment keywd $ do aligns <- option [] arrayAlignments lines' <- sepEndBy1 arrayLine endLine- return $ EGrouped [ EStretchy (ESymbol Open opendelim)- , EArray aligns lines'- , EStretchy (ESymbol Close closedelim)]+ return $ EDelimited opendelim closedelim [EArray aligns lines'] stdarray :: GenParser Char st Exp stdarray = inEnvironment "array" $ do@@ -192,7 +196,7 @@ cases :: GenParser Char st Exp cases = inEnvironment "cases" $ do rs <- sepEndBy1 arrayLine endLine- return $ EGrouped [EStretchy (ESymbol Open "{"), EArray [] rs]+ return $ EDelimited "{" "" [EArray [] rs] split :: GenParser Char st Exp split = inEnvironment "split" $ do@@ -287,20 +291,20 @@ textOps :: M.Map String (String -> Exp) textOps = M.fromList- [ ("\\textrm", EText "normal" . parseText)- , ("\\mathrm", EText "normal")- , ("\\text", EText "normal" . parseText)- , ("\\mbox", EText "normal")- , ("\\mathbf", EText "bold")- , ("\\textbf", EText "bold" . parseText)- , ("\\mathit", EText "italic")- , ("\\textit", EText "italic" . parseText)- , ("\\mathtt", EText "monospace")- , ("\\texttt", EText "monospace")- , ("\\mathsf", EText "sans-serif")- , ("\\mathbb", \e -> maybe (EText "double-struck" e) (ESymbol Pun) (M.lookup e mathbb))- , ("\\mathcal", \e -> maybe (EText "script" e) (ESymbol Pun) (M.lookup e mathcal))- , ("\\mathfrak", EText "fraktur")+ [ ("\\textrm", EText TextNormal . parseText)+ , ("\\mathrm", EText TextNormal)+ , ("\\text", EText TextNormal . parseText)+ , ("\\mbox", EText TextNormal)+ , ("\\mathbf", EText TextBold)+ , ("\\textbf", EText TextBold . parseText)+ , ("\\mathit", EText TextItalic)+ , ("\\textit", EText TextItalic . parseText)+ , ("\\mathtt", EText TextMonospace)+ , ("\\texttt", EText TextMonospace)+ , ("\\mathsf", EText TextSansSerif)+ , ("\\mathbb", \e -> maybe (EText TextDoubleStruck e) (ESymbol Pun) (M.lookup e mathbb))+ , ("\\mathcal", \e -> maybe (EText TextScript e) (ESymbol Pun) (M.lookup e mathcal))+ , ("\\mathfrak", EText TextFraktur) ] parseText :: String -> String
Text/TeXMath/Types.hs view
@@ -20,7 +20,8 @@ {- | Types for representing a structured formula. -} -module Text.TeXMath.Types (Exp(..), TeXSymbolType(..), ArrayLine, Alignment(..))+module Text.TeXMath.Types (Exp(..), TeXSymbolType(..), ArrayLine,+ TextType(..), Alignment(..), DisplayType(..)) where import Data.Generics@@ -36,6 +37,7 @@ data Exp = ENumber String | EGrouped [Exp]+ | EDelimited String String [Exp] | EIdentifier String | EMathOperator String | ESymbol TeXSymbolType String@@ -54,5 +56,19 @@ | EScaled String Exp | EStretchy Exp | EArray [Alignment] [ArrayLine]- | EText String String+ | EText TextType String deriving (Show, Read, Eq, Data, Typeable)++data DisplayType = DisplayBlock+ | DisplayInline+ deriving Show++data TextType = TextNormal+ | TextBold+ | TextItalic+ | TextMonospace+ | TextSansSerif+ | TextDoubleStruck+ | TextScript+ | TextFraktur+ deriving (Show, Read, Eq, Data, Typeable)
+ tests/01.omml view
@@ -0,0 +1,80 @@+<?xml version='1.0' ?>+<m:oMathPara>+ <m:oMath>+ <m:r>+ <m:rPr />+ <m:t>x</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:f>+ <m:fPr>+ <m:type m:val="bar" />+ </m:fPr>+ <m:num>+ <m:r>+ <m:rPr />+ <m:t>−</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>b</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>±</m:t>+ </m:r>+ <m:rad>+ <m:radPr>+ <m:degHide m:val="on" />+ </m:radPr>+ <m:deg />+ <m:e>+ <m:sSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>b</m:t>+ </m:r>+ </m:e>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ </m:sup>+ </m:sSup>+ <m:r>+ <m:rPr />+ <m:t>−</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>4</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>a</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>c</m:t>+ </m:r>+ </m:e>+ </m:rad>+ </m:num>+ <m:den>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>a</m:t>+ </m:r>+ </m:den>+ </m:f>+ </m:oMath>+</m:oMathPara>
tests/01.xhtml view
@@ -10,16 +10,16 @@ <mo>=</mo> <mfrac> <mrow>- <mo>−</mo>+ <mo>−</mo> <mi>b</mi>- <mo>±</mo>+ <mo>±</mo> <msqrt> <mrow> <msup> <mi>b</mi> <mn>2</mn> </msup>- <mo>−</mo>+ <mo>−</mo> <mn>4</mn> <mi>a</mi> <mi>c</mi>
+ tests/02.omml view
@@ -0,0 +1,72 @@+<?xml version='1.0' ?>+<m:oMathPara>+ <m:oMath>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:d>+ <m:dPr>+ <m:begChr m:val="(" />+ <m:endChr m:val=")" />+ <m:grow />+ </m:dPr>+ <m:e>+ <m:f>+ <m:fPr>+ <m:type m:val="bar" />+ </m:fPr>+ <m:num>+ <m:d>+ <m:dPr>+ <m:begChr m:val="(" />+ <m:endChr m:val=")" />+ <m:grow />+ </m:dPr>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>3</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>−</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>x</m:t>+ </m:r>+ </m:e>+ </m:d>+ <m:r>+ <m:rPr />+ <m:t>×</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ </m:num>+ <m:den>+ <m:r>+ <m:rPr />+ <m:t>3</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>−</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>x</m:t>+ </m:r>+ </m:den>+ </m:f>+ </m:e>+ </m:d>+ </m:oMath>+</m:oMathPara>
tests/02.xhtml view
@@ -15,16 +15,16 @@ <mrow> <mo stretchy="true">(</mo> <mn>3</mn>- <mo>−</mo>+ <mo>−</mo> <mi>x</mi> <mo stretchy="true">)</mo> </mrow>- <mo>×</mo>+ <mo>×</mo> <mn>2</mn> </mrow> <mrow> <mn>3</mn>- <mo>−</mo>+ <mo>−</mo> <mi>x</mi> </mrow> </mfrac>
+ tests/03.omml view
@@ -0,0 +1,51 @@+<?xml version='1.0' ?>+<m:oMathPara>+ <m:oMath>+ <m:r>+ <m:rPr />+ <m:t>a</m:t>+ </m:r>+ <m:sSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>x</m:t>+ </m:r>+ </m:e>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ </m:sup>+ </m:sSup>+ <m:r>+ <m:rPr />+ <m:t>+</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>b</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>x</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>+</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>c</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>0</m:t>+ </m:r>+ </m:oMath>+</m:oMathPara>
+ tests/04.omml view
@@ -0,0 +1,89 @@+<?xml version='1.0' ?>+<m:oMathPara>+ <m:oMath>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>S</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr>+ <m:sty m:val="p" />+ </m:rPr>+ <m:t>new</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>S</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr>+ <m:sty m:val="p" />+ </m:rPr>+ <m:t>old</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ <m:r>+ <m:rPr />+ <m:t>−</m:t>+ </m:r>+ <m:f>+ <m:fPr>+ <m:type m:val="bar" />+ </m:fPr>+ <m:num>+ <m:sSup>+ <m:e>+ <m:d>+ <m:dPr>+ <m:begChr m:val="(" />+ <m:endChr m:val=")" />+ <m:grow />+ </m:dPr>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>5</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>−</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>T</m:t>+ </m:r>+ </m:e>+ </m:d>+ </m:e>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ </m:sup>+ </m:sSup>+ </m:num>+ <m:den>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ </m:den>+ </m:f>+ </m:oMath>+</m:oMathPara>
tests/04.xhtml view
@@ -15,13 +15,13 @@ <mi>S</mi> <mtext mathvariant="normal">old</mtext> </msub>- <mo>−</mo>+ <mo>−</mo> <mfrac> <msup> <mrow> <mo stretchy="true">(</mo> <mn>5</mn>- <mo>−</mo>+ <mo>−</mo> <mi>T</mi> <mo stretchy="true">)</mo> </mrow>
+ tests/05.omml view
@@ -0,0 +1,165 @@+<?xml version='1.0' ?>+<m:oMathPara>+ <m:oMath>+ <m:nary>+ <m:naryPr>+ <m:chr m:val="∫" />+ <m:limLoc m:val="subSup" />+ <m:grow />+ <m:supHide m:val="off" />+ <m:supHide m:val="off" />+ </m:naryPr>+ <m:e />+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>a</m:t>+ </m:r>+ </m:sub>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>x</m:t>+ </m:r>+ </m:sup>+ </m:nary>+ <m:nary>+ <m:naryPr>+ <m:chr m:val="∫" />+ <m:limLoc m:val="subSup" />+ <m:grow />+ <m:supHide m:val="off" />+ <m:supHide m:val="off" />+ </m:naryPr>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>f</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>a</m:t>+ </m:r>+ </m:sub>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>s</m:t>+ </m:r>+ </m:sup>+ </m:nary>+ <m:r>+ <m:rPr />+ <m:t>(</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>y</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>)</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t> </m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>d</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>y</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t> </m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>d</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>s</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:nary>+ <m:naryPr>+ <m:chr m:val="∫" />+ <m:limLoc m:val="subSup" />+ <m:grow />+ <m:supHide m:val="off" />+ <m:supHide m:val="off" />+ </m:naryPr>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>f</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>a</m:t>+ </m:r>+ </m:sub>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>x</m:t>+ </m:r>+ </m:sup>+ </m:nary>+ <m:r>+ <m:rPr />+ <m:t>(</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>y</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>)</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>(</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>x</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>−</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>y</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>)</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t> </m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>d</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>y</m:t>+ </m:r>+ </m:oMath>+</m:oMathPara>
tests/05.xhtml view
@@ -7,7 +7,7 @@ <math display="block" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> <msubsup>- <mo>∫</mo>+ <mo>∫</mo> <mi>a</mi> <mi>x</mi> </msubsup>@@ -15,7 +15,7 @@ <mspace width="-0.167em" /> <mspace width="-0.167em" /> <msubsup>- <mo>∫</mo>+ <mo>∫</mo> <mi>a</mi> <mi>s</mi> </msubsup>@@ -31,7 +31,7 @@ <mi>s</mi> <mo>=</mo> <msubsup>- <mo>∫</mo>+ <mo>∫</mo> <mi>a</mi> <mi>x</mi> </msubsup>@@ -41,7 +41,7 @@ <mo stretchy="false">)</mo> <mo stretchy="false">(</mo> <mi>x</mi>- <mo>−</mo>+ <mo>−</mo> <mi>y</mi> <mo stretchy="false">)</mo> <mspace width="0.167em" />
+ tests/06.omml view
@@ -0,0 +1,169 @@+<?xml version='1.0' ?>+<m:oMathPara>+ <m:oMath>+ <m:nary>+ <m:naryPr>+ <m:chr m:val="∑" />+ <m:limLoc m:val="undOvr" />+ <m:grow />+ <m:supHide m:val="off" />+ <m:supHide m:val="off" />+ </m:naryPr>+ <m:e>+ <m:nary>+ <m:naryPr>+ <m:chr m:val="∑" />+ <m:limLoc m:val="undOvr" />+ <m:grow />+ <m:supHide m:val="off" />+ <m:supHide m:val="off" />+ </m:naryPr>+ <m:e>+ <m:f>+ <m:fPr>+ <m:type m:val="bar" />+ </m:fPr>+ <m:num>+ <m:sSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>m</m:t>+ </m:r>+ </m:e>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ </m:sup>+ </m:sSup>+ <m:r>+ <m:rPr />+ <m:t> </m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>n</m:t>+ </m:r>+ </m:num>+ <m:den>+ <m:sSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>3</m:t>+ </m:r>+ </m:e>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>m</m:t>+ </m:r>+ </m:sup>+ </m:sSup>+ <m:d>+ <m:dPr>+ <m:begChr m:val="(" />+ <m:endChr m:val=")" />+ <m:grow />+ </m:dPr>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>m</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t> </m:t>+ </m:r>+ <m:sSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>3</m:t>+ </m:r>+ </m:e>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>n</m:t>+ </m:r>+ </m:sup>+ </m:sSup>+ <m:r>+ <m:rPr />+ <m:t>+</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>n</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t> </m:t>+ </m:r>+ <m:sSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>3</m:t>+ </m:r>+ </m:e>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>m</m:t>+ </m:r>+ </m:sup>+ </m:sSup>+ </m:e>+ </m:d>+ </m:den>+ </m:f>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>n</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:sub>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>∞</m:t>+ </m:r>+ </m:sup>+ </m:nary>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>m</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:sub>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>∞</m:t>+ </m:r>+ </m:sup>+ </m:nary>+ </m:oMath>+</m:oMathPara>
tests/06.xhtml view
@@ -7,22 +7,22 @@ <math display="block" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> <munderover>- <mo>∑</mo>+ <mo>∑</mo> <mrow> <mi>m</mi> <mo>=</mo> <mn>1</mn> </mrow>- <mo>∞</mo>+ <mo>∞</mo> </munderover> <munderover>- <mo>∑</mo>+ <mo>∑</mo> <mrow> <mi>n</mi> <mo>=</mo> <mn>1</mn> </mrow>- <mo>∞</mo>+ <mo>∞</mo> </munderover> <mfrac> <mrow>
+ tests/07.omml view
@@ -0,0 +1,105 @@+<?xml version='1.0' ?>+<m:oMathPara>+ <m:oMath>+ <m:r>+ <m:rPr />+ <m:t>u</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>ʺ</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>+</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>p</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>(</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>x</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>)</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>u</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>ʹ</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>+</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>q</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>(</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>x</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>)</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>u</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>f</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>(</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>x</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>)</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>,</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t> </m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>x</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>></m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>a</m:t>+ </m:r>+ </m:oMath>+</m:oMathPara>
tests/07.xhtml view
@@ -7,14 +7,14 @@ <math display="block" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> <mi>u</mi>- <mo>ʺ</mo>+ <mo>ʺ</mo> <mo>+</mo> <mi>p</mi> <mo stretchy="false">(</mo> <mi>x</mi> <mo stretchy="false">)</mo> <mi>u</mi>- <mo>ʹ</mo>+ <mo>ʹ</mo> <mo>+</mo> <mi>q</mi> <mo stretchy="false">(</mo>
+ tests/08.omml view
@@ -0,0 +1,161 @@+<?xml version='1.0' ?>+<m:oMathPara>+ <m:oMath>+ <m:r>+ <m:rPr />+ <m:t>∣</m:t>+ </m:r>+ <m:bar>+ <m:barPr>+ <m:pos m:val="top" />+ </m:barPr>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>z</m:t>+ </m:r>+ </m:e>+ </m:bar>+ <m:r>+ <m:rPr />+ <m:t>∣</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>∣</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>z</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>∣</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>,</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>∣</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>(</m:t>+ </m:r>+ <m:bar>+ <m:barPr>+ <m:pos m:val="top" />+ </m:barPr>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>z</m:t>+ </m:r>+ </m:e>+ </m:bar>+ <m:sSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>)</m:t>+ </m:r>+ </m:e>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>n</m:t>+ </m:r>+ </m:sup>+ </m:sSup>+ <m:r>+ <m:rPr />+ <m:t>∣</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>∣</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>z</m:t>+ </m:r>+ <m:sSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>∣</m:t>+ </m:r>+ </m:e>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>n</m:t>+ </m:r>+ </m:sup>+ </m:sSup>+ <m:r>+ <m:rPr />+ <m:t>,</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>arg</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>(</m:t>+ </m:r>+ <m:sSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>z</m:t>+ </m:r>+ </m:e>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>n</m:t>+ </m:r>+ </m:sup>+ </m:sSup>+ <m:r>+ <m:rPr />+ <m:t>)</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>n</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>arg</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>(</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>z</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>)</m:t>+ </m:r>+ </m:oMath>+</m:oMathPara>
tests/08.xhtml view
@@ -6,33 +6,33 @@ <body> <math display="block" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow>- <mo stretchy="false">∣</mo>+ <mo stretchy="false">∣</mo> <mover> <mi>z</mi>- <mo accent="true">‾</mo>+ <mo accent="true">‾</mo> </mover>- <mo stretchy="false">∣</mo>+ <mo stretchy="false">∣</mo> <mo>=</mo>- <mo stretchy="false">∣</mo>+ <mo stretchy="false">∣</mo> <mi>z</mi>- <mo stretchy="false">∣</mo>+ <mo stretchy="false">∣</mo> <mo>,</mo>- <mo stretchy="false">∣</mo>+ <mo stretchy="false">∣</mo> <mo stretchy="false">(</mo> <mover> <mi>z</mi>- <mo accent="true">‾</mo>+ <mo accent="true">‾</mo> </mover> <msup> <mo stretchy="false">)</mo> <mi>n</mi> </msup>- <mo stretchy="false">∣</mo>+ <mo stretchy="false">∣</mo> <mo>=</mo>- <mo stretchy="false">∣</mo>+ <mo stretchy="false">∣</mo> <mi>z</mi> <msup>- <mo stretchy="false">∣</mo>+ <mo stretchy="false">∣</mo> <mi>n</mi> </msup> <mo>,</mo>
+ tests/09.omml view
@@ -0,0 +1,83 @@+<?xml version='1.0' ?>+<m:oMathPara>+ <m:oMath>+ <m:limLow>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>lim</m:t>+ </m:r>+ </m:e>+ <m:lim>+ <m:r>+ <m:rPr />+ <m:t>z</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>→</m:t>+ </m:r>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>z</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>0</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ </m:lim>+ </m:limLow>+ <m:r>+ <m:rPr />+ <m:t>f</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>(</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>z</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>)</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>f</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>(</m:t>+ </m:r>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>z</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>0</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ <m:r>+ <m:rPr />+ <m:t>)</m:t>+ </m:r>+ </m:oMath>+</m:oMathPara>
tests/09.xhtml view
@@ -10,7 +10,7 @@ <mi>lim</mi> <mrow> <mi>z</mi>- <mo>→</mo>+ <mo>→</mo> <msub> <mi>z</mi> <mn>0</mn>
+ tests/10.omml view
@@ -0,0 +1,243 @@+<?xml version='1.0' ?>+<m:oMathPara>+ <m:oMath>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>φ</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>n</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ <m:r>+ <m:rPr />+ <m:t>(</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>κ</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>)</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:f>+ <m:fPr>+ <m:type m:val="bar" />+ </m:fPr>+ <m:num>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:num>+ <m:den>+ <m:r>+ <m:rPr />+ <m:t>4</m:t>+ </m:r>+ <m:sSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>π</m:t>+ </m:r>+ </m:e>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ </m:sup>+ </m:sSup>+ <m:sSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>κ</m:t>+ </m:r>+ </m:e>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ </m:sup>+ </m:sSup>+ </m:den>+ </m:f>+ <m:nary>+ <m:naryPr>+ <m:chr m:val="∫" />+ <m:limLoc m:val="subSup" />+ <m:grow />+ <m:supHide m:val="off" />+ <m:supHide m:val="off" />+ </m:naryPr>+ <m:e>+ <m:f>+ <m:fPr>+ <m:type m:val="bar" />+ </m:fPr>+ <m:num>+ <m:r>+ <m:rPr />+ <m:t>sin</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>(</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>κ</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>R</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>)</m:t>+ </m:r>+ </m:num>+ <m:den>+ <m:r>+ <m:rPr />+ <m:t>κ</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>R</m:t>+ </m:r>+ </m:den>+ </m:f>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>0</m:t>+ </m:r>+ </m:sub>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>∞</m:t>+ </m:r>+ </m:sup>+ </m:nary>+ <m:f>+ <m:fPr>+ <m:type m:val="bar" />+ </m:fPr>+ <m:num>+ <m:r>+ <m:rPr />+ <m:t>∂</m:t>+ </m:r>+ </m:num>+ <m:den>+ <m:r>+ <m:rPr />+ <m:t>∂</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>R</m:t>+ </m:r>+ </m:den>+ </m:f>+ <m:d>+ <m:dPr>+ <m:begChr m:val="[" />+ <m:endChr m:val="]" />+ <m:grow />+ </m:dPr>+ <m:e>+ <m:sSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>R</m:t>+ </m:r>+ </m:e>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ </m:sup>+ </m:sSup>+ <m:f>+ <m:fPr>+ <m:type m:val="bar" />+ </m:fPr>+ <m:num>+ <m:r>+ <m:rPr />+ <m:t>∂</m:t>+ </m:r>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>D</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>n</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ <m:r>+ <m:rPr />+ <m:t>(</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>R</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>)</m:t>+ </m:r>+ </m:num>+ <m:den>+ <m:r>+ <m:rPr />+ <m:t>∂</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>R</m:t>+ </m:r>+ </m:den>+ </m:f>+ </m:e>+ </m:d>+ <m:r>+ <m:rPr />+ <m:t> </m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>d</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>R</m:t>+ </m:r>+ </m:oMath>+</m:oMathPara>
tests/10.xhtml view
@@ -7,11 +7,11 @@ <math display="block" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> <msub>- <mi>φ</mi>+ <mi>φ</mi> <mi>n</mi> </msub> <mo stretchy="false">(</mo>- <mi>κ</mi>+ <mi>κ</mi> <mo stretchy="false">)</mo> <mo>=</mo> <mfrac>@@ -19,37 +19,37 @@ <mrow> <mn>4</mn> <msup>- <mi>π</mi>+ <mi>π</mi> <mn>2</mn> </msup> <msup>- <mi>κ</mi>+ <mi>κ</mi> <mn>2</mn> </msup> </mrow> </mfrac> <msubsup>- <mo>∫</mo>+ <mo>∫</mo> <mn>0</mn>- <mo>∞</mo>+ <mo>∞</mo> </msubsup> <mfrac> <mrow> <mi>sin</mi> <mo stretchy="false">(</mo>- <mi>κ</mi>+ <mi>κ</mi> <mi>R</mi> <mo stretchy="false">)</mo> </mrow> <mrow>- <mi>κ</mi>+ <mi>κ</mi> <mi>R</mi> </mrow> </mfrac> <mfrac>- <mo>∂</mo>+ <mo>∂</mo> <mrow>- <mo>∂</mo>+ <mo>∂</mo> <mi>R</mi> </mrow> </mfrac>@@ -61,7 +61,7 @@ </msup> <mfrac> <mrow>- <mo>∂</mo>+ <mo>∂</mo> <msub> <mi>D</mi> <mi>n</mi>@@ -71,7 +71,7 @@ <mo stretchy="false">)</mo> </mrow> <mrow>- <mo>∂</mo>+ <mo>∂</mo> <mi>R</mi> </mrow> </mfrac>
+ tests/11.omml view
@@ -0,0 +1,167 @@+<?xml version='1.0' ?>+<m:oMathPara>+ <m:oMath>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>φ</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>n</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ <m:r>+ <m:rPr />+ <m:t>(</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>κ</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>)</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>0</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>.</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>033</m:t>+ </m:r>+ <m:sSubSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>C</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>n</m:t>+ </m:r>+ </m:sub>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ </m:sup>+ </m:sSubSup>+ <m:sSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>κ</m:t>+ </m:r>+ </m:e>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>−</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>11</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>/</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>3</m:t>+ </m:r>+ </m:sup>+ </m:sSup>+ <m:r>+ <m:rPr />+ <m:t>,</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t> </m:t>+ </m:r>+ <m:f>+ <m:fPr>+ <m:type m:val="bar" />+ </m:fPr>+ <m:num>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:num>+ <m:den>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>L</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>0</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ </m:den>+ </m:f>+ <m:r>+ <m:rPr />+ <m:t>≪</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>κ</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>≪</m:t>+ </m:r>+ <m:f>+ <m:fPr>+ <m:type m:val="bar" />+ </m:fPr>+ <m:num>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:num>+ <m:den>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>l</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>0</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ </m:den>+ </m:f>+ </m:oMath>+</m:oMathPara>
tests/11.xhtml view
@@ -7,11 +7,11 @@ <math display="block" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> <msub>- <mi>φ</mi>+ <mi>φ</mi> <mi>n</mi> </msub> <mo stretchy="false">(</mo>- <mi>κ</mi>+ <mi>κ</mi> <mo stretchy="false">)</mo> <mo>=</mo> <mn>0</mn>@@ -23,9 +23,9 @@ <mn>2</mn> </msubsup> <msup>- <mi>κ</mi>+ <mi>κ</mi> <mrow>- <mo>−</mo>+ <mo>−</mo> <mn>11</mn> <mo>/</mo> <mn>3</mn>@@ -40,9 +40,9 @@ <mn>0</mn> </msub> </mfrac>- <mo>≪</mo>- <mi>κ</mi>- <mo>≪</mo>+ <mo>≪</mo>+ <mi>κ</mi>+ <mo>≪</mo> <mfrac> <mn>1</mn> <msub>
+ tests/12.omml view
@@ -0,0 +1,160 @@+<?xml version='1.0' ?>+<m:oMathPara>+ <m:oMath>+ <m:r>+ <m:rPr />+ <m:t>f</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>(</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>x</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>)</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:d>+ <m:dPr>+ <m:begChr m:val="{" />+ <m:endChr m:val="" />+ <m:grow />+ </m:dPr>+ <m:e>+ <m:m>+ <m:mPr>+ <m:baseJc m:val="center" />+ <m:plcHide m:val="on" />+ <m:mcs>+ <m:mc>+ <m:mcPr>+ <m:mcJc m:val="left" />+ </m:mcPr>+ </m:mc>+ <m:mc>+ <m:mcPr>+ <m:mcJc m:val="left" />+ </m:mcPr>+ </m:mc>+ <m:mc>+ <m:mcPr>+ <m:mcJc m:val="left" />+ </m:mcPr>+ </m:mc>+ </m:mcs>+ </m:mPr>+ <m:mr>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:e>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>−</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>≤</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>x</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t><</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>0</m:t>+ </m:r>+ </m:e>+ </m:mr>+ <m:mr>+ <m:e>+ <m:f>+ <m:fPr>+ <m:type m:val="bar" />+ </m:fPr>+ <m:num>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:num>+ <m:den>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ </m:den>+ </m:f>+ </m:e>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>x</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>0</m:t>+ </m:r>+ </m:e>+ </m:mr>+ <m:mr>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>−</m:t>+ </m:r>+ <m:sSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>x</m:t>+ </m:r>+ </m:e>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ </m:sup>+ </m:sSup>+ </m:e>+ <m:e>+ <m:r>+ <m:rPr>+ <m:sty m:val="p" />+ </m:rPr>+ <m:t>otherwise</m:t>+ </m:r>+ </m:e>+ </m:mr>+ </m:m>+ </m:e>+ </m:d>+ </m:oMath>+</m:oMathPara>
tests/12.xhtml view
@@ -19,9 +19,9 @@ <mn>1</mn> </mtd> <mtd>- <mo>−</mo>+ <mo>−</mo> <mn>1</mn>- <mo>≤</mo>+ <mo>≤</mo> <mi>x</mi> <mo><</mo> <mn>0</mn>@@ -43,7 +43,7 @@ <mtr> <mtd> <mn>1</mn>- <mo>−</mo>+ <mo>−</mo> <msup> <mi>x</mi> <mn>2</mn>
+ tests/13.omml view
@@ -0,0 +1,339 @@+<?xml version='1.0' ?>+<m:oMathPara>+ <m:oMath>+ <m:sSub>+ <m:e />+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>p</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>F</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>q</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ <m:r>+ <m:rPr />+ <m:t>(</m:t>+ </m:r>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>a</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ <m:r>+ <m:rPr />+ <m:t>,</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>…</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>,</m:t>+ </m:r>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>a</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>p</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ <m:r>+ <m:rPr />+ <m:t>;</m:t>+ </m:r>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>c</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ <m:r>+ <m:rPr />+ <m:t>,</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>…</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>,</m:t>+ </m:r>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>c</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>q</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ <m:r>+ <m:rPr />+ <m:t>;</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>z</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>)</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:nary>+ <m:naryPr>+ <m:chr m:val="∑" />+ <m:limLoc m:val="undOvr" />+ <m:grow />+ <m:supHide m:val="off" />+ <m:supHide m:val="off" />+ </m:naryPr>+ <m:e>+ <m:f>+ <m:fPr>+ <m:type m:val="bar" />+ </m:fPr>+ <m:num>+ <m:r>+ <m:rPr />+ <m:t>(</m:t>+ </m:r>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>a</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>)</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>n</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ <m:r>+ <m:rPr />+ <m:t>⋯</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>(</m:t>+ </m:r>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>a</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>p</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>)</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>n</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ </m:num>+ <m:den>+ <m:r>+ <m:rPr />+ <m:t>(</m:t>+ </m:r>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>c</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>)</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>n</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ <m:r>+ <m:rPr />+ <m:t>⋯</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>(</m:t>+ </m:r>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>c</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>q</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>)</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>n</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ </m:den>+ </m:f>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>n</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>0</m:t>+ </m:r>+ </m:sub>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>∞</m:t>+ </m:r>+ </m:sup>+ </m:nary>+ <m:f>+ <m:fPr>+ <m:type m:val="bar" />+ </m:fPr>+ <m:num>+ <m:sSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>z</m:t>+ </m:r>+ </m:e>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>n</m:t>+ </m:r>+ </m:sup>+ </m:sSup>+ </m:num>+ <m:den>+ <m:r>+ <m:rPr />+ <m:t>n</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>!</m:t>+ </m:r>+ </m:den>+ </m:f>+ </m:oMath>+</m:oMathPara>
tests/13.xhtml view
@@ -20,7 +20,7 @@ <mn>1</mn> </msub> <mo>,</mo>- <mo>…</mo>+ <mo>…</mo> <mo>,</mo> <msub> <mi>a</mi>@@ -32,7 +32,7 @@ <mn>1</mn> </msub> <mo>,</mo>- <mo>…</mo>+ <mo>…</mo> <mo>,</mo> <msub> <mi>c</mi>@@ -43,13 +43,13 @@ <mo stretchy="false">)</mo> <mo>=</mo> <munderover>- <mo>∑</mo>+ <mo>∑</mo> <mrow> <mi>n</mi> <mo>=</mo> <mn>0</mn> </mrow>- <mo>∞</mo>+ <mo>∞</mo> </munderover> <mfrac> <mrow>@@ -62,7 +62,7 @@ <mo stretchy="false">)</mo> <mi>n</mi> </msub>- <mo>⋯</mo>+ <mo>⋯</mo> <mo stretchy="false">(</mo> <msub> <mi>a</mi>@@ -83,7 +83,7 @@ <mo stretchy="false">)</mo> <mi>n</mi> </msub>- <mo>⋯</mo>+ <mo>⋯</mo> <mo stretchy="false">(</mo> <msub> <mi>c</mi>
+ tests/14.omml view
@@ -0,0 +1,43 @@+<?xml version='1.0' ?>+<m:oMathPara>+ <m:oMath>+ <m:f>+ <m:fPr>+ <m:type m:val="bar" />+ </m:fPr>+ <m:num>+ <m:r>+ <m:rPr />+ <m:t>a</m:t>+ </m:r>+ </m:num>+ <m:den>+ <m:r>+ <m:rPr />+ <m:t>b</m:t>+ </m:r>+ </m:den>+ </m:f>+ <m:r>+ <m:rPr />+ <m:t> </m:t>+ </m:r>+ <m:f>+ <m:fPr>+ <m:type m:val="lin" />+ </m:fPr>+ <m:num>+ <m:r>+ <m:rPr />+ <m:t>a</m:t>+ </m:r>+ </m:num>+ <m:den>+ <m:r>+ <m:rPr />+ <m:t>b</m:t>+ </m:r>+ </m:den>+ </m:f>+ </m:oMath>+</m:oMathPara>
+ tests/15.omml view
@@ -0,0 +1,22 @@+<?xml version='1.0' ?>+<m:oMathPara>+ <m:oMath>+ <m:f>+ <m:fPr>+ <m:type m:val="bar" />+ </m:fPr>+ <m:num>+ <m:r>+ <m:rPr />+ <m:t>a</m:t>+ </m:r>+ </m:num>+ <m:den>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ </m:den>+ </m:f>+ </m:oMath>+</m:oMathPara>
+ tests/16.omml view
@@ -0,0 +1,17 @@+<?xml version='1.0' ?>+<m:oMathPara>+ <m:oMath>+ <m:r>+ <m:rPr />+ <m:t>3</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>×</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>4</m:t>+ </m:r>+ </m:oMath>+</m:oMathPara>
tests/16.xhtml view
@@ -7,7 +7,7 @@ <math display="block" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> <mn>3</mn>- <mo>×</mo>+ <mo>×</mo> <mn>4</mn> </mrow> </math>
+ tests/17.omml view
@@ -0,0 +1,33 @@+<?xml version='1.0' ?>+<m:oMathPara>+ <m:oMath>+ <m:r>+ <m:rPr />+ <m:t>x</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>*</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>4</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>4</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>*</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>x</m:t>+ </m:r>+ </m:oMath>+</m:oMathPara>
+ tests/18.omml view
@@ -0,0 +1,29 @@+<?xml version='1.0' ?>+<m:oMathPara>+ <m:oMath>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>.</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>3</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>×</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>.</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ </m:oMath>+</m:oMathPara>
tests/18.xhtml view
@@ -9,7 +9,7 @@ <mn>1</mn> <mo>.</mo> <mn>3</mn>- <mo>×</mo>+ <mo>×</mo> <mo>.</mo> <mn>2</mn> </mrow>
+ tests/19.omml view
@@ -0,0 +1,457 @@+<?xml version='1.0' ?>+<m:oMathPara>+ <m:oMath>+ <m:d>+ <m:dPr>+ <m:begChr m:val="[" />+ <m:endChr m:val="]" />+ <m:grow />+ </m:dPr>+ <m:e>+ <m:m>+ <m:mPr>+ <m:baseJc m:val="center" />+ <m:plcHide m:val="on" />+ <m:mcs>+ <m:mc>+ <m:mcPr>+ <m:mcJc m:val="left" />+ </m:mcPr>+ </m:mc>+ <m:mc>+ <m:mcPr>+ <m:mcJc m:val="left" />+ </m:mcPr>+ </m:mc>+ <m:mc>+ <m:mcPr>+ <m:mcJc m:val="left" />+ </m:mcPr>+ </m:mc>+ </m:mcs>+ </m:mPr>+ <m:mr>+ <m:e>+ <m:f>+ <m:fPr>+ <m:type m:val="bar" />+ </m:fPr>+ <m:num>+ <m:r>+ <m:rPr />+ <m:t>∂</m:t>+ </m:r>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>x</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ </m:num>+ <m:den>+ <m:r>+ <m:rPr />+ <m:t>∂</m:t>+ </m:r>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>y</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ </m:den>+ </m:f>+ </m:e>+ <m:e>+ <m:f>+ <m:fPr>+ <m:type m:val="bar" />+ </m:fPr>+ <m:num>+ <m:r>+ <m:rPr />+ <m:t>∂</m:t>+ </m:r>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>x</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ </m:num>+ <m:den>+ <m:r>+ <m:rPr />+ <m:t>∂</m:t>+ </m:r>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>y</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ </m:den>+ </m:f>+ </m:e>+ </m:mr>+ <m:mr>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t> </m:t>+ </m:r>+ </m:e>+ </m:mr>+ <m:mr>+ <m:e>+ <m:f>+ <m:fPr>+ <m:type m:val="bar" />+ </m:fPr>+ <m:num>+ <m:r>+ <m:rPr />+ <m:t>∂</m:t>+ </m:r>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>x</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ </m:num>+ <m:den>+ <m:r>+ <m:rPr />+ <m:t>∂</m:t>+ </m:r>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>y</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ </m:den>+ </m:f>+ </m:e>+ <m:e>+ <m:f>+ <m:fPr>+ <m:type m:val="bar" />+ </m:fPr>+ <m:num>+ <m:r>+ <m:rPr />+ <m:t>∂</m:t>+ </m:r>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>x</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ </m:num>+ <m:den>+ <m:r>+ <m:rPr />+ <m:t>∂</m:t>+ </m:r>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>y</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ </m:den>+ </m:f>+ </m:e>+ </m:mr>+ </m:m>+ </m:e>+ </m:d>+ <m:d>+ <m:dPr>+ <m:begChr m:val="(" />+ <m:endChr m:val=")" />+ <m:grow />+ </m:dPr>+ <m:e>+ <m:m>+ <m:mPr>+ <m:baseJc m:val="center" />+ <m:plcHide m:val="on" />+ <m:mcs>+ <m:mc>+ <m:mcPr>+ <m:mcJc m:val="left" />+ </m:mcPr>+ </m:mc>+ <m:mc>+ <m:mcPr>+ <m:mcJc m:val="left" />+ </m:mcPr>+ </m:mc>+ </m:mcs>+ </m:mPr>+ <m:mr>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:e>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ </m:e>+ </m:mr>+ <m:mr>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>3</m:t>+ </m:r>+ </m:e>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>4</m:t>+ </m:r>+ </m:e>+ </m:mr>+ </m:m>+ </m:e>+ </m:d>+ <m:d>+ <m:dPr>+ <m:begChr m:val="{" />+ <m:endChr m:val="}" />+ <m:grow />+ </m:dPr>+ <m:e>+ <m:m>+ <m:mPr>+ <m:baseJc m:val="center" />+ <m:plcHide m:val="on" />+ <m:mcs>+ <m:mc>+ <m:mcPr>+ <m:mcJc m:val="left" />+ </m:mcPr>+ </m:mc>+ <m:mc>+ <m:mcPr>+ <m:mcJc m:val="left" />+ </m:mcPr>+ </m:mc>+ </m:mcs>+ </m:mPr>+ <m:mr>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:e>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ </m:e>+ </m:mr>+ <m:mr>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>3</m:t>+ </m:r>+ </m:e>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>4</m:t>+ </m:r>+ </m:e>+ </m:mr>+ </m:m>+ </m:e>+ </m:d>+ <m:d>+ <m:dPr>+ <m:begChr m:val="∣" />+ <m:endChr m:val="∣" />+ <m:grow />+ </m:dPr>+ <m:e>+ <m:m>+ <m:mPr>+ <m:baseJc m:val="center" />+ <m:plcHide m:val="on" />+ <m:mcs>+ <m:mc>+ <m:mcPr>+ <m:mcJc m:val="left" />+ </m:mcPr>+ </m:mc>+ <m:mc>+ <m:mcPr>+ <m:mcJc m:val="left" />+ </m:mcPr>+ </m:mc>+ </m:mcs>+ </m:mPr>+ <m:mr>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:e>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ </m:e>+ </m:mr>+ <m:mr>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>3</m:t>+ </m:r>+ </m:e>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>4</m:t>+ </m:r>+ </m:e>+ </m:mr>+ </m:m>+ </m:e>+ </m:d>+ <m:d>+ <m:dPr>+ <m:begChr m:val="∥" />+ <m:endChr m:val="∥" />+ <m:grow />+ </m:dPr>+ <m:e>+ <m:m>+ <m:mPr>+ <m:baseJc m:val="center" />+ <m:plcHide m:val="on" />+ <m:mcs>+ <m:mc>+ <m:mcPr>+ <m:mcJc m:val="left" />+ </m:mcPr>+ </m:mc>+ <m:mc>+ <m:mcPr>+ <m:mcJc m:val="left" />+ </m:mcPr>+ </m:mc>+ </m:mcs>+ </m:mPr>+ <m:mr>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:e>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ </m:e>+ </m:mr>+ <m:mr>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>3</m:t>+ </m:r>+ </m:e>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>4</m:t>+ </m:r>+ </m:e>+ </m:mr>+ </m:m>+ </m:e>+ </m:d>+ </m:oMath>+</m:oMathPara>
tests/19.xhtml view
@@ -14,14 +14,14 @@ <mstyle displaystyle="true"> <mfrac> <mrow>- <mo>∂</mo>+ <mo>∂</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> </mrow> <mrow>- <mo>∂</mo>+ <mo>∂</mo> <msub> <mi>y</mi> <mn>1</mn>@@ -34,14 +34,14 @@ <mstyle displaystyle="true"> <mfrac> <mrow>- <mo>∂</mo>+ <mo>∂</mo> <msub> <mi>x</mi> <mn>2</mn> </msub> </mrow> <mrow>- <mo>∂</mo>+ <mo>∂</mo> <msub> <mi>y</mi> <mn>1</mn>@@ -61,14 +61,14 @@ <mstyle displaystyle="true"> <mfrac> <mrow>- <mo>∂</mo>+ <mo>∂</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> </mrow> <mrow>- <mo>∂</mo>+ <mo>∂</mo> <msub> <mi>y</mi> <mn>2</mn>@@ -81,14 +81,14 @@ <mstyle displaystyle="true"> <mfrac> <mrow>- <mo>∂</mo>+ <mo>∂</mo> <msub> <mi>x</mi> <mn>2</mn> </msub> </mrow> <mrow>- <mo>∂</mo>+ <mo>∂</mo> <msub> <mi>y</mi> <mn>2</mn>@@ -146,7 +146,7 @@ <mo stretchy="true">}</mo> </mrow> <mrow>- <mo stretchy="true">∣</mo>+ <mo stretchy="true">∣</mo> <mtable> <mtr> <mtd>@@ -165,10 +165,10 @@ </mtd> </mtr> </mtable>- <mo stretchy="true">∣</mo>+ <mo stretchy="true">∣</mo> </mrow> <mrow>- <mo stretchy="true">∥</mo>+ <mo stretchy="true">∥</mo> <mtable> <mtr> <mtd>@@ -187,7 +187,7 @@ </mtd> </mtr> </mtable>- <mo stretchy="true">∥</mo>+ <mo stretchy="true">∥</mo> </mrow> </mrow> </math>
+ tests/axiom_of_power_set.omml view
@@ -0,0 +1,113 @@+<?xml version='1.0' ?>+<m:oMathPara>+ <m:oMath>+ <m:r>+ <m:rPr />+ <m:t>∀</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>A</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t> </m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>∃</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>P</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t> </m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>∀</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>B</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t> </m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>[</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>B</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>∈</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>P</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>⇔</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>∀</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>C</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t> </m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>(</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>C</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>∈</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>B</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>⇒</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>C</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>∈</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>A</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>)</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>]</m:t>+ </m:r>+ </m:oMath>+</m:oMathPara>
tests/axiom_of_power_set.xhtml view
@@ -6,30 +6,30 @@ <body> <math display="block" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow>- <mo>∀</mo>+ <mo>∀</mo> <mi>A</mi> <mspace width="0.167em" />- <mo>∃</mo>+ <mo>∃</mo> <mi>P</mi> <mspace width="0.167em" />- <mo>∀</mo>+ <mo>∀</mo> <mi>B</mi> <mspace width="0.167em" /> <mo stretchy="false">[</mo> <mi>B</mi>- <mo>∈</mo>+ <mo>∈</mo> <mi>P</mi>- <mo>⇔</mo>- <mo>∀</mo>+ <mo>⇔</mo>+ <mo>∀</mo> <mi>C</mi> <mspace width="0.167em" /> <mo stretchy="false">(</mo> <mi>C</mi>- <mo>∈</mo>+ <mo>∈</mo> <mi>B</mi>- <mo>⇒</mo>+ <mo>⇒</mo> <mi>C</mi>- <mo>∈</mo>+ <mo>∈</mo> <mi>A</mi> <mo stretchy="false">)</mo> <mo stretchy="false">]</mo>
+ tests/binomial_coefficient.omml view
@@ -0,0 +1,171 @@+<?xml version='1.0' ?>+<m:oMathPara>+ <m:oMath>+ <m:r>+ <m:rPr>+ <m:sty m:val="b" />+ </m:rPr>+ <m:t>C</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>(</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>n</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>,</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>k</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>)</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:sSubSup>+ <m:e>+ <m:r>+ <m:rPr>+ <m:sty m:val="b" />+ </m:rPr>+ <m:t>C</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>k</m:t>+ </m:r>+ </m:sub>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>n</m:t>+ </m:r>+ </m:sup>+ </m:sSubSup>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:sSub>+ <m:e />+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>n</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr>+ <m:sty m:val="b" />+ </m:rPr>+ <m:t>C</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>k</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:d>+ <m:dPr>+ <m:sepChr m:val="," />+ </m:dPr>+ <m:e>+ <m:f>+ <m:fPr>+ <m:type m:val="noBar" />+ </m:fPr>+ <m:num>+ <m:r>+ <m:rPr />+ <m:t>n</m:t>+ </m:r>+ </m:num>+ <m:den>+ <m:r>+ <m:rPr />+ <m:t>k</m:t>+ </m:r>+ </m:den>+ </m:f>+ </m:e>+ </m:d>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:f>+ <m:fPr>+ <m:type m:val="bar" />+ </m:fPr>+ <m:num>+ <m:r>+ <m:rPr />+ <m:t>n</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>!</m:t>+ </m:r>+ </m:num>+ <m:den>+ <m:r>+ <m:rPr />+ <m:t>k</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>!</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t> </m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>(</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>n</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>−</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>k</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>)</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>!</m:t>+ </m:r>+ </m:den>+ </m:f>+ </m:oMath>+</m:oMathPara>
tests/binomial_coefficient.xhtml view
@@ -46,7 +46,7 @@ <mspace width="0.167em" /> <mo stretchy="false">(</mo> <mi>n</mi>- <mo>−</mo>+ <mo>−</mo> <mi>k</mi> <mo stretchy="false">)</mo> <mo>!</mo>
+ tests/complex_number.omml view
@@ -0,0 +1,94 @@+<?xml version='1.0' ?>+<m:oMathPara>+ <m:oMath>+ <m:r>+ <m:rPr />+ <m:t>c</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:limUpp>+ <m:e>+ <m:acc>+ <m:accPr>+ <m:chr m:val="︷" />+ </m:accPr>+ <m:e>+ <m:limLow>+ <m:e>+ <m:limLow>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>a</m:t>+ </m:r>+ </m:e>+ <m:lim>+ <m:r>+ <m:rPr />+ <m:t>︸</m:t>+ </m:r>+ </m:lim>+ </m:limLow>+ </m:e>+ <m:lim>+ <m:r>+ <m:rPr>+ <m:sty m:val="p" />+ </m:rPr>+ <m:t>real</m:t>+ </m:r>+ </m:lim>+ </m:limLow>+ <m:r>+ <m:rPr />+ <m:t>+</m:t>+ </m:r>+ <m:limLow>+ <m:e>+ <m:limLow>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>b</m:t>+ </m:r>+ <m:r>+ <m:rPr>+ <m:sty m:val="p" />+ </m:rPr>+ <m:t>i</m:t>+ </m:r>+ </m:e>+ <m:lim>+ <m:r>+ <m:rPr />+ <m:t>︸</m:t>+ </m:r>+ </m:lim>+ </m:limLow>+ </m:e>+ <m:lim>+ <m:r>+ <m:rPr>+ <m:sty m:val="p" />+ </m:rPr>+ <m:t>imaginary</m:t>+ </m:r>+ </m:lim>+ </m:limLow>+ </m:e>+ </m:acc>+ </m:e>+ <m:lim>+ <m:r>+ <m:rPr>+ <m:sty m:val="p" />+ </m:rPr>+ <m:t>complex number</m:t>+ </m:r>+ </m:lim>+ </m:limUpp>+ </m:oMath>+</m:oMathPara>
tests/complex_number.xhtml view
@@ -14,7 +14,7 @@ <munder> <munder> <mi>a</mi>- <mo accent="true">︸</mo>+ <mo accent="true">︸</mo> </munder> <mtext mathvariant="normal">real</mtext> </munder>@@ -25,12 +25,12 @@ <mi>b</mi> <mtext mathvariant="normal">i</mtext> </mrow>- <mo accent="true">︸</mo>+ <mo accent="true">︸</mo> </munder> <mtext mathvariant="normal">imaginary</mtext> </munder> </mrow>- <mo accent="true">︷</mo>+ <mo accent="true">︷</mo> </mover> <mtext mathvariant="normal">complex number</mtext> </mover>
+ tests/deMorgans_law.omml view
@@ -0,0 +1,177 @@+<?xml version='1.0' ?>+<m:oMathPara>+ <m:oMath>+ <m:r>+ <m:rPr />+ <m:t>¬</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>(</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>p</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>∧</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>q</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>)</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>⇔</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>(</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>¬</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>p</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>)</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>∨</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>(</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>¬</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>q</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>)</m:t>+ </m:r>+ <m:bar>+ <m:barPr>+ <m:pos m:val="top" />+ </m:barPr>+ <m:e>+ <m:nary>+ <m:naryPr>+ <m:chr m:val="⋃" />+ <m:limLoc m:val="undOvr" />+ <m:grow />+ <m:supHide m:val="off" />+ <m:supHide m:val="off" />+ </m:naryPr>+ <m:e>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>A</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>i</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>i</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:sub>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>n</m:t>+ </m:r>+ </m:sup>+ </m:nary>+ </m:e>+ </m:bar>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:nary>+ <m:naryPr>+ <m:chr m:val="⋂" />+ <m:limLoc m:val="undOvr" />+ <m:grow />+ <m:supHide m:val="off" />+ <m:supHide m:val="off" />+ </m:naryPr>+ <m:e>+ <m:bar>+ <m:barPr>+ <m:pos m:val="top" />+ </m:barPr>+ <m:e>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>A</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>i</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ </m:e>+ </m:bar>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>i</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:sub>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>n</m:t>+ </m:r>+ </m:sup>+ </m:nary>+ </m:oMath>+</m:oMathPara>
tests/deMorgans_law.xhtml view
@@ -6,26 +6,26 @@ <body> <math display="block" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow>- <mo>¬</mo>+ <mo>¬</mo> <mo stretchy="false">(</mo> <mi>p</mi>- <mo>∧</mo>+ <mo>∧</mo> <mi>q</mi> <mo stretchy="false">)</mo>- <mo>⇔</mo>+ <mo>⇔</mo> <mo stretchy="false">(</mo>- <mo>¬</mo>+ <mo>¬</mo> <mi>p</mi> <mo stretchy="false">)</mo>- <mo>∨</mo>+ <mo>∨</mo> <mo stretchy="false">(</mo>- <mo>¬</mo>+ <mo>¬</mo> <mi>q</mi> <mo stretchy="false">)</mo> <mover> <mrow> <munderover>- <mo>⋃</mo>+ <mo>⋃</mo> <mrow> <mi>i</mi> <mo>=</mo>@@ -38,11 +38,11 @@ <mi>i</mi> </msub> </mrow>- <mo accent="true">¯</mo>+ <mo accent="true">¯</mo> </mover> <mo>=</mo> <munderover>- <mo>⋂</mo>+ <mo>⋂</mo> <mrow> <mi>i</mi> <mo>=</mo>@@ -55,7 +55,7 @@ <mi>A</mi> <mi>i</mi> </msub>- <mo accent="true">¯</mo>+ <mo accent="true">¯</mo> </mover> </mrow> </math>
+ tests/differentiable_manifold.omml view
@@ -0,0 +1,325 @@+<?xml version='1.0' ?>+<m:oMathPara>+ <m:oMath>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>γ</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ <m:r>+ <m:rPr />+ <m:t>≡</m:t>+ </m:r>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>γ</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ <m:r>+ <m:rPr />+ <m:t>⇔</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>{</m:t>+ </m:r>+ <m:m>+ <m:mPr>+ <m:baseJc m:val="center" />+ <m:plcHide m:val="on" />+ <m:mcs>+ <m:mc>+ <m:mcPr>+ <m:mcJc m:val="left" />+ </m:mcPr>+ </m:mc>+ <m:mc>+ <m:mcPr>+ <m:mcJc m:val="left" />+ </m:mcPr>+ </m:mc>+ </m:mcs>+ </m:mPr>+ <m:mr>+ <m:e>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>γ</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ <m:r>+ <m:rPr />+ <m:t>(</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>0</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>)</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>γ</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ <m:r>+ <m:rPr />+ <m:t>(</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>0</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>)</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>p</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>,</m:t>+ </m:r>+ <m:r>+ <m:rPr>+ <m:sty m:val="p" />+ </m:rPr>+ <m:t>and </m:t>+ </m:r>+ </m:e>+ </m:mr>+ <m:mr>+ <m:e>+ <m:sSub>+ <m:e>+ <m:d>+ <m:dPr>+ <m:begChr m:val="" />+ <m:endChr m:val="∣" />+ <m:grow />+ </m:dPr>+ <m:e>+ <m:f>+ <m:fPr>+ <m:type m:val="bar" />+ </m:fPr>+ <m:num>+ <m:r>+ <m:rPr>+ <m:sty m:val="p" />+ </m:rPr>+ <m:t>d</m:t>+ </m:r>+ </m:num>+ <m:den>+ <m:r>+ <m:rPr>+ <m:sty m:val="p" />+ </m:rPr>+ <m:t>d</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>t</m:t>+ </m:r>+ </m:den>+ </m:f>+ <m:r>+ <m:rPr />+ <m:t>φ</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>∘</m:t>+ </m:r>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>γ</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ <m:r>+ <m:rPr />+ <m:t>(</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>t</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>)</m:t>+ </m:r>+ </m:e>+ </m:d>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>t</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>0</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:sSub>+ <m:e>+ <m:d>+ <m:dPr>+ <m:begChr m:val="" />+ <m:endChr m:val="∣" />+ <m:grow />+ </m:dPr>+ <m:e>+ <m:f>+ <m:fPr>+ <m:type m:val="bar" />+ </m:fPr>+ <m:num>+ <m:r>+ <m:rPr>+ <m:sty m:val="p" />+ </m:rPr>+ <m:t>d</m:t>+ </m:r>+ </m:num>+ <m:den>+ <m:r>+ <m:rPr>+ <m:sty m:val="p" />+ </m:rPr>+ <m:t>d</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>t</m:t>+ </m:r>+ </m:den>+ </m:f>+ <m:r>+ <m:rPr />+ <m:t>φ</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>∘</m:t>+ </m:r>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>γ</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ <m:r>+ <m:rPr />+ <m:t>(</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>t</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>)</m:t>+ </m:r>+ </m:e>+ </m:d>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>t</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>0</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ </m:e>+ </m:mr>+ </m:m>+ <m:r>+ <m:rPr />+ <m:t></m:t>+ </m:r>+ </m:oMath>+</m:oMathPara>
tests/differentiable_manifold.xhtml view
@@ -7,21 +7,21 @@ <math display="block" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> <msub>- <mi>γ</mi>+ <mi>γ</mi> <mn>1</mn> </msub>- <mo>≡</mo>+ <mo>≡</mo> <msub>- <mi>γ</mi>+ <mi>γ</mi> <mn>2</mn> </msub>- <mo>⇔</mo>+ <mo>⇔</mo> <mo stretchy="true">{</mo> <mtable> <mtr> <mtd columnalign="left"> <msub>- <mi>γ</mi>+ <mi>γ</mi> <mn>1</mn> </msub> <mo stretchy="false">(</mo>@@ -29,7 +29,7 @@ <mo stretchy="false">)</mo> <mo>=</mo> <msub>- <mi>γ</mi>+ <mi>γ</mi> <mn>2</mn> </msub> <mo stretchy="false">(</mo>@@ -56,16 +56,16 @@ <mi>t</mi> </mrow> </mfrac>- <mi>φ</mi>- <mo>∘</mo>+ <mi>φ</mi>+ <mo>∘</mo> <msub>- <mi>γ</mi>+ <mi>γ</mi> <mn>1</mn> </msub> <mo stretchy="false">(</mo> <mi>t</mi> <mo stretchy="false">)</mo>- <mo stretchy="true">∣</mo>+ <mo stretchy="true">∣</mo> </mrow> <mrow> <mi>t</mi>@@ -84,16 +84,16 @@ <mi>t</mi> </mrow> </mfrac>- <mi>φ</mi>- <mo>∘</mo>+ <mi>φ</mi>+ <mo>∘</mo> <msub>- <mi>γ</mi>+ <mi>γ</mi> <mn>2</mn> </msub> <mo stretchy="false">(</mo> <mi>t</mi> <mo stretchy="false">)</mo>- <mo stretchy="true">∣</mo>+ <mo stretchy="true">∣</mo> </mrow> <mrow> <mi>t</mi>
+ tests/divergence.omml view
@@ -0,0 +1,141 @@+<?xml version='1.0' ?>+<m:oMathPara>+ <m:oMath>+ <m:r>+ <m:rPr />+ <m:t>∇</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>⋅</m:t>+ </m:r>+ <m:acc>+ <m:accPr>+ <m:chr m:val="⃗" />+ </m:accPr>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>v</m:t>+ </m:r>+ </m:e>+ </m:acc>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:f>+ <m:fPr>+ <m:type m:val="bar" />+ </m:fPr>+ <m:num>+ <m:r>+ <m:rPr />+ <m:t>∂</m:t>+ </m:r>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>v</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>x</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ </m:num>+ <m:den>+ <m:r>+ <m:rPr />+ <m:t>∂</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>x</m:t>+ </m:r>+ </m:den>+ </m:f>+ <m:r>+ <m:rPr />+ <m:t>+</m:t>+ </m:r>+ <m:f>+ <m:fPr>+ <m:type m:val="bar" />+ </m:fPr>+ <m:num>+ <m:r>+ <m:rPr />+ <m:t>∂</m:t>+ </m:r>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>v</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>y</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ </m:num>+ <m:den>+ <m:r>+ <m:rPr />+ <m:t>∂</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>y</m:t>+ </m:r>+ </m:den>+ </m:f>+ <m:r>+ <m:rPr />+ <m:t>+</m:t>+ </m:r>+ <m:f>+ <m:fPr>+ <m:type m:val="bar" />+ </m:fPr>+ <m:num>+ <m:r>+ <m:rPr />+ <m:t>∂</m:t>+ </m:r>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>v</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>z</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ </m:num>+ <m:den>+ <m:r>+ <m:rPr />+ <m:t>∂</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>z</m:t>+ </m:r>+ </m:den>+ </m:f>+ </m:oMath>+</m:oMathPara>
tests/divergence.xhtml view
@@ -6,51 +6,51 @@ <body> <math display="block" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow>- <mo>∇</mo>- <mo>⋅</mo>+ <mo>∇</mo>+ <mo>⋅</mo> <mover> <mi>v</mi>- <mo accent="true">⃗</mo>+ <mo accent="true">⃗</mo> </mover> <mo>=</mo> <mfrac> <mrow>- <mo>∂</mo>+ <mo>∂</mo> <msub> <mi>v</mi> <mi>x</mi> </msub> </mrow> <mrow>- <mo>∂</mo>+ <mo>∂</mo> <mi>x</mi> </mrow> </mfrac> <mo>+</mo> <mfrac> <mrow>- <mo>∂</mo>+ <mo>∂</mo> <msub> <mi>v</mi> <mi>y</mi> </msub> </mrow> <mrow>- <mo>∂</mo>+ <mo>∂</mo> <mi>y</mi> </mrow> </mfrac> <mo>+</mo> <mfrac> <mrow>- <mo>∂</mo>+ <mo>∂</mo> <msub> <mi>v</mi> <mi>z</mi> </msub> </mrow> <mrow>- <mo>∂</mo>+ <mo>∂</mo> <mi>z</mi> </mrow> </mfrac>
+ tests/ensuremath.omml view
@@ -0,0 +1,19 @@+<?xml version='1.0' ?>+<m:oMathPara>+ <m:oMath>+ <m:sSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>π</m:t>+ </m:r>+ </m:e>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ </m:sup>+ </m:sSup>+ </m:oMath>+</m:oMathPara>
tests/ensuremath.xhtml view
@@ -7,7 +7,7 @@ <math display="block" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> <msup>- <mi>π</mi>+ <mi>π</mi> <mn>2</mn> </msup> </mrow>
+ tests/macros.omml view
@@ -0,0 +1,37 @@+<?xml version='1.0' ?>+<m:oMathPara>+ <m:oMath>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>5</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>y</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>+</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>3</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>x</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>+</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>3</m:t>+ </m:r>+ </m:oMath>+</m:oMathPara>
+ tests/moore_determinant.omml view
@@ -0,0 +1,334 @@+<?xml version='1.0' ?>+<m:oMathPara>+ <m:oMath>+ <m:r>+ <m:rPr />+ <m:t>M</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:d>+ <m:dPr>+ <m:begChr m:val="[" />+ <m:endChr m:val="]" />+ <m:grow />+ </m:dPr>+ <m:e>+ <m:m>+ <m:mPr>+ <m:baseJc m:val="center" />+ <m:plcHide m:val="on" />+ <m:mcs>+ <m:mc>+ <m:mcPr>+ <m:mcJc m:val="left" />+ </m:mcPr>+ </m:mc>+ <m:mc>+ <m:mcPr>+ <m:mcJc m:val="left" />+ </m:mcPr>+ </m:mc>+ <m:mc>+ <m:mcPr>+ <m:mcJc m:val="left" />+ </m:mcPr>+ </m:mc>+ <m:mc>+ <m:mcPr>+ <m:mcJc m:val="left" />+ </m:mcPr>+ </m:mc>+ </m:mcs>+ </m:mPr>+ <m:mr>+ <m:e>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>α</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ </m:e>+ <m:e>+ <m:sSubSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>α</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:sub>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>q</m:t>+ </m:r>+ </m:sup>+ </m:sSubSup>+ </m:e>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>⋯</m:t>+ </m:r>+ </m:e>+ <m:e>+ <m:sSubSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>α</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:sub>+ <m:sup>+ <m:sSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>q</m:t>+ </m:r>+ </m:e>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>n</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>−</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:sup>+ </m:sSup>+ </m:sup>+ </m:sSubSup>+ </m:e>+ </m:mr>+ <m:mr>+ <m:e>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>α</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ </m:e>+ <m:e>+ <m:sSubSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>α</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ </m:sub>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>q</m:t>+ </m:r>+ </m:sup>+ </m:sSubSup>+ </m:e>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>⋯</m:t>+ </m:r>+ </m:e>+ <m:e>+ <m:sSubSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>α</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ </m:sub>+ <m:sup>+ <m:sSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>q</m:t>+ </m:r>+ </m:e>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>n</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>−</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:sup>+ </m:sSup>+ </m:sup>+ </m:sSubSup>+ </m:e>+ </m:mr>+ <m:mr>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>⋮</m:t>+ </m:r>+ </m:e>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>⋮</m:t>+ </m:r>+ </m:e>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>⋱</m:t>+ </m:r>+ </m:e>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>⋮</m:t>+ </m:r>+ </m:e>+ </m:mr>+ <m:mr>+ <m:e>+ <m:sSub>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>α</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>m</m:t>+ </m:r>+ </m:sub>+ </m:sSub>+ </m:e>+ <m:e>+ <m:sSubSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>α</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>m</m:t>+ </m:r>+ </m:sub>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>q</m:t>+ </m:r>+ </m:sup>+ </m:sSubSup>+ </m:e>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>⋯</m:t>+ </m:r>+ </m:e>+ <m:e>+ <m:sSubSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>α</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>m</m:t>+ </m:r>+ </m:sub>+ <m:sup>+ <m:sSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>q</m:t>+ </m:r>+ </m:e>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>n</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>−</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:sup>+ </m:sSup>+ </m:sup>+ </m:sSubSup>+ </m:e>+ </m:mr>+ </m:m>+ </m:e>+ </m:d>+ </m:oMath>+</m:oMathPara>
tests/moore_determinant.xhtml view
@@ -14,29 +14,29 @@ <mtr> <mtd> <msub>- <mi>α</mi>+ <mi>α</mi> <mn>1</mn> </msub> </mtd> <mtd> <msubsup>- <mi>α</mi>+ <mi>α</mi> <mn>1</mn> <mi>q</mi> </msubsup> </mtd> <mtd>- <mo>⋯</mo>+ <mo>⋯</mo> </mtd> <mtd> <msubsup>- <mi>α</mi>+ <mi>α</mi> <mn>1</mn> <msup> <mi>q</mi> <mrow> <mi>n</mi>- <mo>−</mo>+ <mo>−</mo> <mn>1</mn> </mrow> </msup>@@ -46,29 +46,29 @@ <mtr> <mtd> <msub>- <mi>α</mi>+ <mi>α</mi> <mn>2</mn> </msub> </mtd> <mtd> <msubsup>- <mi>α</mi>+ <mi>α</mi> <mn>2</mn> <mi>q</mi> </msubsup> </mtd> <mtd>- <mo>⋯</mo>+ <mo>⋯</mo> </mtd> <mtd> <msubsup>- <mi>α</mi>+ <mi>α</mi> <mn>2</mn> <msup> <mi>q</mi> <mrow> <mi>n</mi>- <mo>−</mo>+ <mo>−</mo> <mn>1</mn> </mrow> </msup>@@ -77,44 +77,44 @@ </mtr> <mtr> <mtd>- <mo>⋮</mo>+ <mo>⋮</mo> </mtd> <mtd>- <mo>⋮</mo>+ <mo>⋮</mo> </mtd> <mtd>- <mo>⋱</mo>+ <mo>⋱</mo> </mtd> <mtd>- <mo>⋮</mo>+ <mo>⋮</mo> </mtd> </mtr> <mtr> <mtd> <msub>- <mi>α</mi>+ <mi>α</mi> <mi>m</mi> </msub> </mtd> <mtd> <msubsup>- <mi>α</mi>+ <mi>α</mi> <mi>m</mi> <mi>q</mi> </msubsup> </mtd> <mtd>- <mo>⋯</mo>+ <mo>⋯</mo> </mtd> <mtd> <msubsup>- <mi>α</mi>+ <mi>α</mi> <mi>m</mi> <msup> <mi>q</mi> <mrow> <mi>n</mi>- <mo>−</mo>+ <mo>−</mo> <mn>1</mn> </mrow> </msup>
+ tests/quadratic_formula.omml view
@@ -0,0 +1,80 @@+<?xml version='1.0' ?>+<m:oMathPara>+ <m:oMath>+ <m:r>+ <m:rPr />+ <m:t>x</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:f>+ <m:fPr>+ <m:type m:val="bar" />+ </m:fPr>+ <m:num>+ <m:r>+ <m:rPr />+ <m:t>−</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>b</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>±</m:t>+ </m:r>+ <m:rad>+ <m:radPr>+ <m:degHide m:val="on" />+ </m:radPr>+ <m:deg />+ <m:e>+ <m:sSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>b</m:t>+ </m:r>+ </m:e>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ </m:sup>+ </m:sSup>+ <m:r>+ <m:rPr />+ <m:t>−</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>4</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>a</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>c</m:t>+ </m:r>+ </m:e>+ </m:rad>+ </m:num>+ <m:den>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>a</m:t>+ </m:r>+ </m:den>+ </m:f>+ </m:oMath>+</m:oMathPara>
tests/quadratic_formula.xhtml view
@@ -10,16 +10,16 @@ <mo>=</mo> <mfrac> <mrow>- <mo>−</mo>+ <mo>−</mo> <mi>b</mi>- <mo>±</mo>+ <mo>±</mo> <msqrt> <mrow> <msup> <mi>b</mi> <mn>2</mn> </msup>- <mo>−</mo>+ <mo>−</mo> <mn>4</mn> <mi>a</mi> <mi>c</mi>
tests/runtests.sh view
@@ -5,23 +5,37 @@ # Otherwise the test program 'texmath' won't be built. # Exit status is number of failed tests. TESTPROG=../dist/build/texmath/texmath-failures=0-passes=0-if [ -f $TESTPROG ]; then- for t in *.tex; do- $TESTPROG <$t >tmp- diff ${t%.tex}.xhtml tmp >tmpdiff- if [ "$?" -ne "0" ]; then- echo "Test ${t%.tex} FAILED (< expected, > actual):"- cat tmpdiff+totalfailures=0++for format in xhtml omml; do+ failures=0+ passes=0+ if [ -f $TESTPROG ]; then+ for t in *.tex; do+ $TESTPROG --${format} <$t >tmp+ testname="Test ${t%.tex} ${format}"+ if [ "$?" -ne "0" ]; then+ echo "${testname} FAILED" failures=`expr $failures + 1`- else- echo "Test ${t%.tex} PASSED"- passes=`expr $passes + 1`- fi- done-else- echo "Test executable not built. NOT running tests."-fi-echo "$passes tests passed, $failures tests failed."+ else+ diff -u ${t%.tex}.${format} tmp >tmpdiff+ if [ "$?" -ne "0" ]; then+ echo "${testname} (- expected, + actual):"+ cat tmpdiff+ failures=`expr $failures + 1`+ else+ echo "${testname} PASSED"+ passes=`expr $passes + 1`+ fi+ fi+ done+ else+ echo "Test executable not built. NOT running tests."+ fi+ echo "$format: $passes tests passed, $failures tests failed."+ totalfailures=`expr $totalfailures + $failures`+done+echo "$totalfailures tests failed total." exit $failures++
+ tests/schwinger_dyson.omml view
@@ -0,0 +1,187 @@+<?xml version='1.0' ?>+<m:oMathPara>+ <m:oMath>+ <m:d>+ <m:dPr>+ <m:begChr m:val="⟨" />+ <m:endChr m:val="⟩" />+ <m:grow />+ </m:dPr>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>ψ</m:t>+ </m:r>+ <m:d>+ <m:dPr>+ <m:begChr m:val="∣" />+ <m:endChr m:val="∣" />+ <m:grow />+ </m:dPr>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>𝒯</m:t>+ </m:r>+ <m:d>+ <m:dPr>+ <m:begChr m:val="{" />+ <m:endChr m:val="}" />+ <m:grow />+ </m:dPr>+ <m:e>+ <m:f>+ <m:fPr>+ <m:type m:val="bar" />+ </m:fPr>+ <m:num>+ <m:r>+ <m:rPr />+ <m:t>δ</m:t>+ </m:r>+ </m:num>+ <m:den>+ <m:r>+ <m:rPr />+ <m:t>δ</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>φ</m:t>+ </m:r>+ </m:den>+ </m:f>+ <m:r>+ <m:rPr />+ <m:t>F</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>[</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>φ</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>]</m:t>+ </m:r>+ </m:e>+ </m:d>+ </m:e>+ </m:d>+ <m:r>+ <m:rPr />+ <m:t>ψ</m:t>+ </m:r>+ </m:e>+ </m:d>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>−</m:t>+ </m:r>+ <m:r>+ <m:rPr>+ <m:sty m:val="p" />+ </m:rPr>+ <m:t>i</m:t>+ </m:r>+ <m:d>+ <m:dPr>+ <m:begChr m:val="⟨" />+ <m:endChr m:val="⟩" />+ <m:grow />+ </m:dPr>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>ψ</m:t>+ </m:r>+ <m:d>+ <m:dPr>+ <m:begChr m:val="∣" />+ <m:endChr m:val="∣" />+ <m:grow />+ </m:dPr>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>𝒯</m:t>+ </m:r>+ <m:d>+ <m:dPr>+ <m:begChr m:val="{" />+ <m:endChr m:val="}" />+ <m:grow />+ </m:dPr>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>F</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>[</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>φ</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>]</m:t>+ </m:r>+ <m:f>+ <m:fPr>+ <m:type m:val="bar" />+ </m:fPr>+ <m:num>+ <m:r>+ <m:rPr />+ <m:t>δ</m:t>+ </m:r>+ </m:num>+ <m:den>+ <m:r>+ <m:rPr />+ <m:t>δ</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>φ</m:t>+ </m:r>+ </m:den>+ </m:f>+ <m:r>+ <m:rPr />+ <m:t>S</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>[</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>φ</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>]</m:t>+ </m:r>+ </m:e>+ </m:d>+ </m:e>+ </m:d>+ <m:r>+ <m:rPr />+ <m:t>ψ</m:t>+ </m:r>+ </m:e>+ </m:d>+ </m:oMath>+</m:oMathPara>
tests/schwinger_dyson.xhtml view
@@ -7,63 +7,63 @@ <math display="block" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> <mrow>- <mo stretchy="true">⟨</mo>- <mi>ψ</mi>+ <mo stretchy="true">⟨</mo>+ <mi>ψ</mi> <mrow>- <mo stretchy="true">∣</mo>- <mo>𝒯</mo>+ <mo stretchy="true">∣</mo>+ <mo>𝒯</mo> <mrow> <mo stretchy="true">{</mo> <mfrac>- <mi>δ</mi>+ <mi>δ</mi> <mrow>- <mi>δ</mi>- <mi>φ</mi>+ <mi>δ</mi>+ <mi>φ</mi> </mrow> </mfrac> <mi>F</mi> <mo stretchy="false">[</mo>- <mi>φ</mi>+ <mi>φ</mi> <mo stretchy="false">]</mo> <mo stretchy="true">}</mo> </mrow>- <mo stretchy="true">∣</mo>+ <mo stretchy="true">∣</mo> </mrow>- <mi>ψ</mi>- <mo stretchy="true">⟩</mo>+ <mi>ψ</mi>+ <mo stretchy="true">⟩</mo> </mrow> <mo>=</mo>- <mo>−</mo>+ <mo>−</mo> <mtext mathvariant="normal">i</mtext> <mrow>- <mo stretchy="true">⟨</mo>- <mi>ψ</mi>+ <mo stretchy="true">⟨</mo>+ <mi>ψ</mi> <mrow>- <mo stretchy="true">∣</mo>- <mo>𝒯</mo>+ <mo stretchy="true">∣</mo>+ <mo>𝒯</mo> <mrow> <mo stretchy="true">{</mo> <mi>F</mi> <mo stretchy="false">[</mo>- <mi>φ</mi>+ <mi>φ</mi> <mo stretchy="false">]</mo> <mfrac>- <mi>δ</mi>+ <mi>δ</mi> <mrow>- <mi>δ</mi>- <mi>φ</mi>+ <mi>δ</mi>+ <mi>φ</mi> </mrow> </mfrac> <mi>S</mi> <mo stretchy="false">[</mo>- <mi>φ</mi>+ <mi>φ</mi> <mo stretchy="false">]</mo> <mo stretchy="true">}</mo> </mrow>- <mo stretchy="true">∣</mo>+ <mo stretchy="true">∣</mo> </mrow>- <mi>ψ</mi>- <mo stretchy="true">⟩</mo>+ <mi>ψ</mi>+ <mo stretchy="true">⟩</mo> </mrow> </mrow> </math>
+ tests/sophomores_dream.omml view
@@ -0,0 +1,147 @@+<?xml version='1.0' ?>+<m:oMathPara>+ <m:oMath>+ <m:nary>+ <m:naryPr>+ <m:chr m:val="∫" />+ <m:limLoc m:val="subSup" />+ <m:grow />+ <m:supHide m:val="off" />+ <m:supHide m:val="off" />+ </m:naryPr>+ <m:e>+ <m:sSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>x</m:t>+ </m:r>+ </m:e>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>x</m:t>+ </m:r>+ </m:sup>+ </m:sSup>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>0</m:t>+ </m:r>+ </m:sub>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:sup>+ </m:nary>+ <m:r>+ <m:rPr />+ <m:t> </m:t>+ </m:r>+ <m:r>+ <m:rPr>+ <m:sty m:val="p" />+ </m:rPr>+ <m:t>d</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>x</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:nary>+ <m:naryPr>+ <m:chr m:val="∑" />+ <m:limLoc m:val="undOvr" />+ <m:grow />+ <m:supHide m:val="off" />+ <m:supHide m:val="off" />+ </m:naryPr>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>(</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>−</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ <m:sSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>)</m:t>+ </m:r>+ </m:e>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>n</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>+</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:sup>+ </m:sSup>+ <m:r>+ <m:rPr />+ <m:t> </m:t>+ </m:r>+ <m:sSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>n</m:t>+ </m:r>+ </m:e>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>−</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>n</m:t>+ </m:r>+ </m:sup>+ </m:sSup>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>n</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:sub>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>∞</m:t>+ </m:r>+ </m:sup>+ </m:nary>+ </m:oMath>+</m:oMathPara>
tests/sophomores_dream.xhtml view
@@ -7,7 +7,7 @@ <math display="block" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> <msubsup>- <mo>∫</mo>+ <mo>∫</mo> <mn>0</mn> <mn>1</mn> </msubsup>@@ -20,17 +20,17 @@ <mi>x</mi> <mo>=</mo> <munderover>- <mo>∑</mo>+ <mo>∑</mo> <mrow> <mi>n</mi> <mo>=</mo> <mn>1</mn> </mrow>- <mo>∞</mo>+ <mo>∞</mo> </munderover> <mrow> <mo stretchy="false">(</mo>- <mo>−</mo>+ <mo>−</mo> <mn>1</mn> <msup> <mo stretchy="false">)</mo>@@ -44,7 +44,7 @@ <msup> <mi>n</mi> <mrow>- <mo>−</mo>+ <mo>−</mo> <mi>n</mi> </mrow> </msup>
+ tests/sphere_volume.omml view
@@ -0,0 +1,614 @@+<?xml version='1.0' ?>+<m:oMathPara>+ <m:oMath>+ <m:r>+ <m:rPr />+ <m:t>S</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>{</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>0</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>≤</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>φ</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>≤</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>π</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>,</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t> </m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>0</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>≤</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>θ</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>≤</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>π</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>,</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t> </m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>0</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>≤</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>ρ</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>≤</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>R</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>}</m:t>+ </m:r>+ <m:m>+ <m:mPr>+ <m:baseJc m:val="center" />+ <m:plcHide m:val="on" />+ <m:mcs>+ <m:mc>+ <m:mcPr>+ <m:mcJc m:val="right" />+ </m:mcPr>+ </m:mc>+ <m:mc>+ <m:mcPr>+ <m:mcJc m:val="left" />+ </m:mcPr>+ </m:mc>+ <m:mc>+ <m:mcPr>+ <m:mcJc m:val="left" />+ </m:mcPr>+ </m:mc>+ <m:mc>+ <m:mcPr>+ <m:mcJc m:val="left" />+ </m:mcPr>+ </m:mc>+ <m:mc>+ <m:mcPr>+ <m:mcJc m:val="left" />+ </m:mcPr>+ </m:mc>+ </m:mcs>+ </m:mPr>+ <m:mr>+ <m:e>+ <m:r>+ <m:rPr>+ <m:sty m:val="p" />+ </m:rPr>+ <m:t>Volume</m:t>+ </m:r>+ </m:e>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:nary>+ <m:naryPr>+ <m:chr m:val="∭" />+ <m:limLoc m:val="undOvr" />+ <m:grow />+ <m:supHide m:val="on" />+ <m:supHide m:val="on" />+ </m:naryPr>+ <m:e />+ <m:sub />+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>S</m:t>+ </m:r>+ </m:sup>+ </m:nary>+ <m:sSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>ρ</m:t>+ </m:r>+ </m:e>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ </m:sup>+ </m:sSup>+ <m:r>+ <m:rPr />+ <m:t>sin</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>θ</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t> </m:t>+ </m:r>+ <m:r>+ <m:rPr>+ <m:sty m:val="p" />+ </m:rPr>+ <m:t>d</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>ρ</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t> </m:t>+ </m:r>+ <m:r>+ <m:rPr>+ <m:sty m:val="p" />+ </m:rPr>+ <m:t>d</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>θ</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t> </m:t>+ </m:r>+ <m:r>+ <m:rPr>+ <m:sty m:val="p" />+ </m:rPr>+ <m:t>d</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>φ</m:t>+ </m:r>+ </m:e>+ </m:mr>+ <m:mr>+ <m:e />+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:nary>+ <m:naryPr>+ <m:chr m:val="∫" />+ <m:limLoc m:val="subSup" />+ <m:grow />+ <m:supHide m:val="off" />+ <m:supHide m:val="off" />+ </m:naryPr>+ <m:e />+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>0</m:t>+ </m:r>+ </m:sub>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>π</m:t>+ </m:r>+ </m:sup>+ </m:nary>+ <m:r>+ <m:rPr>+ <m:sty m:val="p" />+ </m:rPr>+ <m:t>d</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>φ</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t> </m:t>+ </m:r>+ <m:nary>+ <m:naryPr>+ <m:chr m:val="∫" />+ <m:limLoc m:val="subSup" />+ <m:grow />+ <m:supHide m:val="off" />+ <m:supHide m:val="off" />+ </m:naryPr>+ <m:e />+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>0</m:t>+ </m:r>+ </m:sub>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>π</m:t>+ </m:r>+ </m:sup>+ </m:nary>+ <m:r>+ <m:rPr />+ <m:t>sin</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>θ</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t> </m:t>+ </m:r>+ <m:r>+ <m:rPr>+ <m:sty m:val="p" />+ </m:rPr>+ <m:t>d</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>θ</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t> </m:t>+ </m:r>+ <m:nary>+ <m:naryPr>+ <m:chr m:val="∫" />+ <m:limLoc m:val="subSup" />+ <m:grow />+ <m:supHide m:val="off" />+ <m:supHide m:val="off" />+ </m:naryPr>+ <m:e />+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>0</m:t>+ </m:r>+ </m:sub>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>R</m:t>+ </m:r>+ </m:sup>+ </m:nary>+ <m:sSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>ρ</m:t>+ </m:r>+ </m:e>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ </m:sup>+ </m:sSup>+ <m:r>+ <m:rPr>+ <m:sty m:val="p" />+ </m:rPr>+ <m:t>d</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>ρ</m:t>+ </m:r>+ </m:e>+ </m:mr>+ <m:mr>+ <m:e />+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>φ</m:t>+ </m:r>+ <m:sSubSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>∣</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>0</m:t>+ </m:r>+ </m:sub>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>π</m:t>+ </m:r>+ </m:sup>+ </m:sSubSup>+ <m:r>+ <m:rPr />+ <m:t> </m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>(</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>−</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>cos</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>θ</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>)</m:t>+ </m:r>+ <m:sSubSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>∣</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>0</m:t>+ </m:r>+ </m:sub>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>π</m:t>+ </m:r>+ </m:sup>+ </m:sSubSup>+ <m:r>+ <m:rPr />+ <m:t> </m:t>+ </m:r>+ <m:f>+ <m:fPr>+ <m:type m:val="lin" />+ </m:fPr>+ <m:num>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:num>+ <m:den>+ <m:r>+ <m:rPr />+ <m:t>3</m:t>+ </m:r>+ </m:den>+ </m:f>+ <m:sSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>ρ</m:t>+ </m:r>+ </m:e>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>3</m:t>+ </m:r>+ </m:sup>+ </m:sSup>+ <m:sSubSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>∣</m:t>+ </m:r>+ </m:e>+ <m:sub>+ <m:r>+ <m:rPr />+ <m:t>0</m:t>+ </m:r>+ </m:sub>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>R</m:t>+ </m:r>+ </m:sup>+ </m:sSubSup>+ </m:e>+ </m:mr>+ <m:mr>+ <m:e />+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>π</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>×</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>2</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>×</m:t>+ </m:r>+ <m:f>+ <m:fPr>+ <m:type m:val="lin" />+ </m:fPr>+ <m:num>+ <m:r>+ <m:rPr />+ <m:t>1</m:t>+ </m:r>+ </m:num>+ <m:den>+ <m:r>+ <m:rPr />+ <m:t>3</m:t>+ </m:r>+ </m:den>+ </m:f>+ <m:sSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>R</m:t>+ </m:r>+ </m:e>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>3</m:t>+ </m:r>+ </m:sup>+ </m:sSup>+ </m:e>+ </m:mr>+ <m:mr>+ <m:e />+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>=</m:t>+ </m:r>+ <m:f>+ <m:fPr>+ <m:type m:val="lin" />+ </m:fPr>+ <m:num>+ <m:r>+ <m:rPr />+ <m:t>4</m:t>+ </m:r>+ </m:num>+ <m:den>+ <m:r>+ <m:rPr />+ <m:t>3</m:t>+ </m:r>+ </m:den>+ </m:f>+ <m:r>+ <m:rPr />+ <m:t>π</m:t>+ </m:r>+ <m:sSup>+ <m:e>+ <m:r>+ <m:rPr />+ <m:t>R</m:t>+ </m:r>+ </m:e>+ <m:sup>+ <m:r>+ <m:rPr />+ <m:t>3</m:t>+ </m:r>+ </m:sup>+ </m:sSup>+ </m:e>+ </m:mr>+ </m:m>+ </m:oMath>+</m:oMathPara>
tests/sphere_volume.xhtml view
@@ -10,24 +10,24 @@ <mo>=</mo> <mo stretchy="false">{</mo> <mn>0</mn>- <mo>≤</mo>- <mi>φ</mi>- <mo>≤</mo>+ <mo>≤</mo>+ <mi>φ</mi>+ <mo>≤</mo> <mn>2</mn>- <mi>π</mi>+ <mi>π</mi> <mo>,</mo> <mo> </mo> <mn>0</mn>- <mo>≤</mo>- <mi>θ</mi>- <mo>≤</mo>- <mi>π</mi>+ <mo>≤</mo>+ <mi>θ</mi>+ <mo>≤</mo>+ <mi>π</mi> <mo>,</mo> <mo> </mo> <mn>0</mn>- <mo>≤</mo>- <mi>ρ</mi>- <mo>≤</mo>+ <mo>≤</mo>+ <mi>ρ</mi>+ <mo>≤</mo> <mi>R</mi> <mo stretchy="false">}</mo> <mtable>@@ -38,25 +38,25 @@ <mtd columnalign="left"> <mo>=</mo> <munder>- <mo>∭</mo>+ <mo>∭</mo> <mi>S</mi> </munder> <mspace width="-0.167em" /> <msup>- <mi>ρ</mi>+ <mi>ρ</mi> <mn>2</mn> </msup> <mi>sin</mi>- <mi>θ</mi>+ <mi>θ</mi> <mspace width="0.167em" /> <mtext mathvariant="normal">d</mtext>- <mi>ρ</mi>+ <mi>ρ</mi> <mspace width="0.167em" /> <mtext mathvariant="normal">d</mtext>- <mi>θ</mi>+ <mi>θ</mi> <mspace width="0.167em" /> <mtext mathvariant="normal">d</mtext>- <mi>φ</mi>+ <mi>φ</mi> </mtd> </mtr> <mtr>@@ -64,66 +64,66 @@ <mtd columnalign="left"> <mo>=</mo> <msubsup>- <mo>∫</mo>+ <mo>∫</mo> <mn>0</mn> <mrow> <mn>2</mn>- <mi>π</mi>+ <mi>π</mi> </mrow> </msubsup> <mspace width="-0.167em" /> <mtext mathvariant="normal">d</mtext>- <mi>φ</mi>+ <mi>φ</mi> <mspace width="0.167em" /> <msubsup>- <mo>∫</mo>+ <mo>∫</mo> <mn>0</mn>- <mi>π</mi>+ <mi>π</mi> </msubsup> <mspace width="-0.167em" /> <mi>sin</mi>- <mi>θ</mi>+ <mi>θ</mi> <mspace width="0.167em" /> <mtext mathvariant="normal">d</mtext>- <mi>θ</mi>+ <mi>θ</mi> <mspace width="0.167em" /> <msubsup>- <mo>∫</mo>+ <mo>∫</mo> <mn>0</mn> <mi>R</mi> </msubsup> <mspace width="-0.167em" /> <msup>- <mi>ρ</mi>+ <mi>ρ</mi> <mn>2</mn> </msup> <mtext mathvariant="normal">d</mtext>- <mi>ρ</mi>+ <mi>ρ</mi> </mtd> </mtr> <mtr> <mtd columnalign="right" /> <mtd columnalign="left"> <mo>=</mo>- <mi>φ</mi>+ <mi>φ</mi> <msubsup>- <mo minsize="1.6" maxsize="1.6" stretchy="true">∣</mo>+ <mo minsize="1.6" maxsize="1.6" stretchy="true">∣</mo> <mn>0</mn> <mrow> <mn>2</mn>- <mi>π</mi>+ <mi>π</mi> </mrow> </msubsup> <mo> </mo> <mo stretchy="false">(</mo>- <mo>−</mo>+ <mo>−</mo> <mi>cos</mi>- <mi>θ</mi>+ <mi>θ</mi> <mo stretchy="false">)</mo> <msubsup>- <mo minsize="1.6" maxsize="1.6" stretchy="true">∣</mo>+ <mo minsize="1.6" maxsize="1.6" stretchy="true">∣</mo> <mn>0</mn>- <mi>π</mi>+ <mi>π</mi> </msubsup> <mo> </mo> <mstyle displaystyle="false">@@ -133,11 +133,11 @@ </mfrac> </mstyle> <msup>- <mi>ρ</mi>+ <mi>ρ</mi> <mn>3</mn> </msup> <msubsup>- <mo minsize="1.6" maxsize="1.6" stretchy="true">∣</mo>+ <mo minsize="1.6" maxsize="1.6" stretchy="true">∣</mo> <mn>0</mn> <mi>R</mi> </msubsup>@@ -148,10 +148,10 @@ <mtd columnalign="left"> <mo>=</mo> <mn>2</mn>- <mi>π</mi>- <mo>×</mo>+ <mi>π</mi>+ <mo>×</mo> <mn>2</mn>- <mo>×</mo>+ <mo>×</mo> <mstyle displaystyle="false"> <mfrac> <mn>1</mn>@@ -174,7 +174,7 @@ <mn>3</mn> </mfrac> </mstyle>- <mi>π</mi>+ <mi>π</mi> <msup> <mi>R</mi> <mn>3</mn>
+ tests/unicode.omml view
@@ -0,0 +1,25 @@+<?xml version='1.0' ?>+<m:oMathPara>+ <m:oMath>+ <m:r>+ <m:rPr />+ <m:t>f</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>:</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>X</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>→</m:t>+ </m:r>+ <m:r>+ <m:rPr />+ <m:t>Y</m:t>+ </m:r>+ </m:oMath>+</m:oMathPara>
tests/unicode.xhtml view
@@ -9,7 +9,7 @@ <mi>f</mi> <mo>:</mo> <mi>X</mi>- <mo>→</mo>+ <mo>→</mo> <mi>Y</mi> </mrow> </math>
texmath.cabal view
@@ -1,12 +1,13 @@ Name: texmath-Version: 0.5.0.4+Version: 0.6 Cabal-Version: >= 1.6 Build-type: Custom-Synopsis: Conversion of LaTeX math formulas to MathML.+Synopsis: Conversion of LaTeX math formulas to MathML or OMML. Description: The texmathml library provides functions to convert LaTeX- math formulas to presentation MathML. It supports- basic LaTeX and AMS extensions, and it can parse and- apply LaTeX macros.+ math formulas to presentation MathML (which can be used+ in HTML) or OMML (Office Math Markup Language, used in+ Microsoft Office). It supports basic LaTeX and AMS+ extensions, and it can parse and apply LaTeX macros. . Use the @test@ flag to install a standalone executable, @texmath@, that reads a LaTeX formula from @stdin@ and@@ -24,39 +25,39 @@ Homepage: http://github.com/jgm/texmath Data-Files: cgi/texmath.xhtml, tests/runtests.sh,- tests/01.tex, tests/01.xhtml,- tests/02.tex, tests/02.xhtml,- tests/03.tex, tests/03.xhtml,- tests/04.tex, tests/04.xhtml,- tests/05.tex, tests/05.xhtml,- tests/06.tex, tests/06.xhtml,- tests/07.tex, tests/07.xhtml,- tests/08.tex, tests/08.xhtml,- tests/09.tex, tests/09.xhtml,- tests/10.tex, tests/10.xhtml,- tests/11.tex, tests/11.xhtml,- tests/12.tex, tests/12.xhtml,- tests/13.tex, tests/13.xhtml,- tests/14.tex, tests/14.xhtml,- tests/15.tex, tests/15.xhtml,- tests/16.tex, tests/16.xhtml,- tests/17.tex, tests/17.xhtml,- tests/18.tex, tests/18.xhtml,- tests/19.tex, tests/19.xhtml,- tests/axiom_of_power_set.tex, tests/axiom_of_power_set.xhtml,- tests/binomial_coefficient.tex, tests/binomial_coefficient.xhtml,- tests/complex_number.tex, tests/complex_number.xhtml,- tests/deMorgans_law.tex, tests/deMorgans_law.xhtml,- tests/differentiable_manifold.tex, tests/differentiable_manifold.xhtml,- tests/divergence.tex, tests/divergence.xhtml,- tests/moore_determinant.tex, tests/moore_determinant.xhtml,- tests/quadratic_formula.tex, tests/quadratic_formula.xhtml,- tests/schwinger_dyson.tex, tests/schwinger_dyson.xhtml,- tests/sophomores_dream.tex, tests/sophomores_dream.xhtml,- tests/sphere_volume.tex, tests/sphere_volume.xhtml,- tests/unicode.tex, tests/unicode.xhtml- tests/ensuremath.tex, tests/ensuremath.xhtml- tests/macros.tex, tests/macros.xhtml+ tests/01.tex, tests/01.xhtml, tests/01.omml,+ tests/02.tex, tests/02.xhtml, tests/02.omml,+ tests/03.tex, tests/03.xhtml, tests/03.omml,+ tests/04.tex, tests/04.xhtml, tests/04.omml,+ tests/05.tex, tests/05.xhtml, tests/05.omml,+ tests/06.tex, tests/06.xhtml, tests/06.omml,+ tests/07.tex, tests/07.xhtml, tests/07.omml,+ tests/08.tex, tests/08.xhtml, tests/08.omml,+ tests/09.tex, tests/09.xhtml, tests/09.omml,+ tests/10.tex, tests/10.xhtml, tests/10.omml,+ tests/11.tex, tests/11.xhtml, tests/11.omml,+ tests/12.tex, tests/12.xhtml, tests/12.omml,+ tests/13.tex, tests/13.xhtml, tests/13.omml,+ tests/14.tex, tests/14.xhtml, tests/14.omml,+ tests/15.tex, tests/15.xhtml, tests/15.omml,+ tests/16.tex, tests/16.xhtml, tests/16.omml,+ tests/17.tex, tests/17.xhtml, tests/17.omml,+ tests/18.tex, tests/18.xhtml, tests/18.omml,+ tests/19.tex, tests/19.xhtml, tests/19.omml,+ tests/axiom_of_power_set.tex, tests/axiom_of_power_set.xhtml, tests/axiom_of_power_set.omml,+ tests/binomial_coefficient.tex, tests/binomial_coefficient.xhtml, tests/binomial_coefficient.omml,+ tests/complex_number.tex, tests/complex_number.xhtml, tests/complex_number.omml,+ tests/deMorgans_law.tex, tests/deMorgans_law.xhtml, tests/deMorgans_law.omml,+ tests/differentiable_manifold.tex, tests/differentiable_manifold.xhtml, tests/differentiable_manifold.omml,+ tests/divergence.tex, tests/divergence.xhtml, tests/divergence.omml,+ tests/moore_determinant.tex, tests/moore_determinant.xhtml, tests/moore_determinant.omml,+ tests/quadratic_formula.tex, tests/quadratic_formula.xhtml, tests/quadratic_formula.omml,+ tests/schwinger_dyson.tex, tests/schwinger_dyson.xhtml, tests/schwinger_dyson.omml,+ tests/sophomores_dream.tex, tests/sophomores_dream.xhtml, tests/sophomores_dream.omml,+ tests/sphere_volume.tex, tests/sphere_volume.xhtml, tests/sphere_volume.omml,+ tests/unicode.tex, tests/unicode.xhtml, tests/unicode.omml,+ tests/ensuremath.tex, tests/ensuremath.xhtml, tests/ensuremath.omml,+ tests/macros.tex, tests/macros.xhtml, tests/macros.omml Source-repository head type: git@@ -80,6 +81,7 @@ Text.TeXMath.Types Text.TeXMath.Parser Text.TeXMath.MathML+ Text.TeXMath.OMML Text.TeXMath.Macros if impl(ghc >= 6.12)
texmath.hs view
@@ -2,12 +2,15 @@ module Main where import Text.TeXMath+import Text.TeXMath.Parser (parseFormula) import Text.XML.Light import Text.TeXMath.Macros import System.IO+import System.Environment -inHtml :: Element -> Element-inHtml x =+inHtml :: Either String Element -> Either String Element+inHtml (Left x) = Left x+inHtml (Right x) = Right $ add_attr (Attr (unqual "xmlns") "http://www.w3.org/1999/xhtml") $ unode "html" [ unode "head" $@@ -26,8 +29,17 @@ main :: IO () main = do+ args <- getArgs+ let dt = if "--inline" `elem` args+ then DisplayInline+ else DisplayBlock+ let converter = if "--omml" `elem` args+ then fmap ppTopElement . texMathToOMML dt+ else if "--native" `elem` args+ then fmap show . parseFormula+ else fmap ppTopElement . inHtml . texMathToMathML dt inp <- getUTF8Contents let (ms, rest) = parseMacroDefinitions inp- case (texMathToMathML DisplayBlock $! applyMacros ms rest) of+ case (converter $! applyMacros ms rest) of Left err -> hPutStrLn stderr err- Right v -> putStr . ppTopElement . inHtml $ v+ Right v -> putStr v