packages feed

texmath 0.12.8.3 → 0.12.8.4

raw patch · 5 files changed

+52/−15 lines, 5 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

changelog view
@@ -1,3 +1,13 @@+texmath (0.12.8.4)++  * TeX reader: ignore `\allowbreak` (#230).++  * TeX reader: handle `*{5}{lr}` in array column specifier (#229).++  * OMML reader: allow `m:e` to be missing in `m:nary` (#228).+    Technically this is not allowed, according to the spec, but+    Word and LibreOffice seem to tolerate it.+ texmath (0.12.8.3)    * OMML writer: use "on" and "off" instead of "1" and "0" for
src/Text/TeXMath/Readers/OMML.hs view
@@ -34,7 +34,7 @@ module Text.TeXMath.Readers.OMML (readOMML) where  import Text.XML.Light-import Data.Maybe (isJust, mapMaybe, fromMaybe)+import Data.Maybe (isJust, mapMaybe, fromMaybe, maybeToList) import Data.List (intercalate) import Data.Char (isDigit, readLitChar) import qualified Data.Text as T@@ -385,19 +385,19 @@          (\e -> return $ concat $ mapMaybe (elemToExps) (elChildren e))   supExps <- filterChildName (hasElemName "m" "sup") element >>=          (\e -> return $ concat $ mapMaybe (elemToExps) (elChildren e))-  baseExp <- filterChildName (hasElemName "m" "e") element >>=-             elemToBase+  let baseExp = maybeToList $+        filterChildName (hasElemName "m" "e") element >>= elemToBase   case limLoc of-    Just "undOvr" -> return [EUnderover True+    Just "undOvr" -> return $ EUnderover True                               (ESymbol Op opChr)                               (EGrouped subExps)                               (EGrouped supExps)-                            , baseExp]-    _             -> return [ESubsup+                            : baseExp+    _             -> return $ ESubsup                               (ESymbol Op opChr)                               (EGrouped subExps)                               (EGrouped supExps)-                            , baseExp]+                            : baseExp  elemToExps' element | isElem "m" "phant" element = do   baseExp <- filterChildName (hasElemName "m" "e") element >>=
src/Text/TeXMath/Readers/TeX.hs view
@@ -45,6 +45,7 @@ import Data.Generics (everywhere, mkT) import Text.TeXMath.Readers.TeX.Commands ( styleOps, textOps, enclosures,                                            operators, symbols, siUnitMap )+import Data.Text.Read (decimal)  type TP = Parser @@ -142,6 +143,7 @@     <|> tag     <|> () <$ ctrlseq "nonumber"     <|> (skipMany1 space <?> "whitespace")+    <|> (() <$ ctrlseq "allowbreak")  comment :: TP () comment = char '%' *> skipMany (noneOf "\n") *> optional newline@@ -434,13 +436,22 @@   -- we don't represent the line, but it shouldn't crash parsing  arrayAlignments :: TP [Alignment]-arrayAlignments = try $ do-  as <- braces (many (letter <|> char '|'))-  let letterToAlignment 'l' = AlignLeft-      letterToAlignment 'c' = AlignCenter-      letterToAlignment 'r' = AlignRight-      letterToAlignment _   = AlignCenter-  return $ map letterToAlignment $ filter (/= '|') as+arrayAlignments = mconcat <$>+  braces (many (((:[]) . letterToAlignment <$> letter)+            <|> ([] <$ char '|')+            <|> (do char '*'+                    num <- T.pack <$> braces (many1 digit)+                    cols <- arrayAlignments+                    case decimal num of+                      Left msg -> fail msg+                      Right (n :: Int, _)+                               -> return $ mconcat $ replicate n cols)+               ))+ where+   letterToAlignment 'l' = AlignLeft+   letterToAlignment 'c' = AlignCenter+   letterToAlignment 'r' = AlignRight+   letterToAlignment _   = AlignCenter  environment :: Text -> TP Exp environment "\\begin" = do
+ test/reader/tex/issue229.test view
@@ -0,0 +1,16 @@+<<< tex+\begin{array}{l*{2}{rc}}+1 & 2 & 3 & 4 & 5+\end{array}++>>> native+[ EArray+    [ AlignLeft , AlignRight , AlignCenter , AlignRight , AlignCenter ]+    [ [ [ ENumber "1" ]+      , [ ENumber "2" ]+      , [ ENumber "3" ]+      , [ ENumber "4" ]+      , [ ENumber "5" ]+      ]+    ]+]
texmath.cabal view
@@ -1,5 +1,5 @@ Name:                texmath-Version:             0.12.8.3+Version:             0.12.8.4 Cabal-Version:       >= 1.10 Build-type:          Simple Synopsis:            Conversion between math formats.