packages feed

HaTeX 3.19.0.0 → 3.20.0.0

raw patch · 12 files changed

+1336/−832 lines, 12 filesdep ~containersPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: containers

API changes (from Hackage documentation)

- Text.LaTeX.Base.Syntax: instance Data.Semigroup.Semigroup Text.LaTeX.Base.Syntax.LaTeX
- Text.LaTeX.Base.Warnings: instance Data.Semigroup.Semigroup Text.LaTeX.Base.Warnings.TeXCheck
- Text.LaTeX.Base.Writer: instance (GHC.Base.Applicative m, Data.Semigroup.Semigroup a) => Data.Semigroup.Semigroup (Text.LaTeX.Base.Writer.LaTeXT m a)
- Text.LaTeX.Base.Writer: instance (GHC.Base.Monad m, a ~ ()) => Data.String.IsString (Text.LaTeX.Base.Writer.LaTeXT m a)
- Text.LaTeX.Base.Writer: instance (GHC.Base.Monad m, a ~ ()) => Text.LaTeX.Base.Class.LaTeXC (Text.LaTeX.Base.Writer.LaTeXT m a)
- Text.LaTeX.Packages.AMSMath: instance (GHC.Base.Monad m, a ~ ()) => GHC.Float.Floating (Text.LaTeX.Base.Writer.LaTeXT m a)
- Text.LaTeX.Packages.AMSMath: instance (GHC.Base.Monad m, a ~ ()) => GHC.Num.Num (Text.LaTeX.Base.Writer.LaTeXT m a)
- Text.LaTeX.Packages.AMSMath: instance (GHC.Base.Monad m, a ~ ()) => GHC.Real.Fractional (Text.LaTeX.Base.Writer.LaTeXT m a)
- Text.LaTeX.Packages.AMSMath: instance GHC.Float.Floating Text.LaTeX.Base.Syntax.LaTeX
- Text.LaTeX.Packages.AMSMath: instance GHC.Num.Num Text.LaTeX.Base.Syntax.LaTeX
- Text.LaTeX.Packages.AMSMath: instance GHC.Real.Fractional Text.LaTeX.Base.Syntax.LaTeX
+ Text.LaTeX.Base.Class: raw :: LaTeXC l => Text -> l
+ Text.LaTeX.Base.Commands: qquad :: LaTeXC l => l
+ Text.LaTeX.Base.Commands: quad :: LaTeXC l => l
+ Text.LaTeX.Base.Math: (!:) :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: (!^) :: LaTeXC l => l -> (l, l) -> l
+ Text.LaTeX.Base.Math: (*:) :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: (+-) :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: (-+) :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: (/=:) :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: (<:) :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: (<=:) :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: (=:) :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: (>:) :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: (>=:) :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: (^:) :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: alpha :: LaTeXC l => l
+ Text.LaTeX.Base.Math: arccos :: LaTeXC l => l
+ Text.LaTeX.Base.Math: arccot :: LaTeXC l => l
+ Text.LaTeX.Base.Math: arcsin :: LaTeXC l => l
+ Text.LaTeX.Base.Math: arctan :: LaTeXC l => l
+ Text.LaTeX.Base.Math: autoAngleBrackets :: LaTeXC l => l -> l
+ Text.LaTeX.Base.Math: autoBraces :: LaTeXC l => l -> l
+ Text.LaTeX.Base.Math: autoBrackets :: LaTeXC l => LaTeX -> LaTeX -> l -> l
+ Text.LaTeX.Base.Math: autoParens :: LaTeXC l => l -> l
+ Text.LaTeX.Base.Math: autoSquareBrackets :: LaTeXC l => l -> l
+ Text.LaTeX.Base.Math: bar :: LaTeXC l => l -> l
+ Text.LaTeX.Base.Math: beta :: LaTeXC l => l
+ Text.LaTeX.Base.Math: bigcap :: LaTeXC l => l
+ Text.LaTeX.Base.Math: bigcapFromTo :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: bigcup :: LaTeXC l => l
+ Text.LaTeX.Base.Math: bigcupFromTo :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: bot :: LaTeXC l => l
+ Text.LaTeX.Base.Math: bullet :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: cap :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: cdot :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: chi :: LaTeXC l => l
+ Text.LaTeX.Base.Math: circ :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: coprod :: LaTeXC l => l
+ Text.LaTeX.Base.Math: coprodFromTo :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: cot :: LaTeXC l => l
+ Text.LaTeX.Base.Math: coth :: LaTeXC l => l
+ Text.LaTeX.Base.Math: csc :: LaTeXC l => l
+ Text.LaTeX.Base.Math: cup :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: dagger :: LaTeXC l => l
+ Text.LaTeX.Base.Math: dblPipe :: LaTeXC l => l
+ Text.LaTeX.Base.Math: ddagger :: LaTeXC l => l
+ Text.LaTeX.Base.Math: delta :: LaTeXC l => l
+ Text.LaTeX.Base.Math: deltau :: LaTeXC l => l
+ Text.LaTeX.Base.Math: div_ :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: dot :: LaTeXC l => l -> l
+ Text.LaTeX.Base.Math: downarrow :: LaTeXC l => l
+ Text.LaTeX.Base.Math: downarrow2 :: LaTeXC l => l
+ Text.LaTeX.Base.Math: epsilon :: LaTeXC l => l
+ Text.LaTeX.Base.Math: equation :: LaTeXC l => l -> l
+ Text.LaTeX.Base.Math: equation_ :: LaTeXC l => l -> l
+ Text.LaTeX.Base.Math: equiv :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: eta :: LaTeXC l => l
+ Text.LaTeX.Base.Math: exists :: LaTeXC l => l
+ Text.LaTeX.Base.Math: forall :: LaTeXC l => l
+ Text.LaTeX.Base.Math: frac :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: gamma :: LaTeXC l => l
+ Text.LaTeX.Base.Math: gammau :: LaTeXC l => l
+ Text.LaTeX.Base.Math: gg :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: hat :: LaTeXC l => l -> l
+ Text.LaTeX.Base.Math: hookleftarrow :: LaTeXC l => l
+ Text.LaTeX.Base.Math: hookrightarrow :: LaTeXC l => l
+ Text.LaTeX.Base.Math: imath :: LaTeXC l => l
+ Text.LaTeX.Base.Math: implies :: LaTeXC l => l
+ Text.LaTeX.Base.Math: in_ :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: infixl 6 -+
+ Text.LaTeX.Base.Math: infixl 7 *:
+ Text.LaTeX.Base.Math: infixr 4 /=:
+ Text.LaTeX.Base.Math: infty :: LaTeXC l => l
+ Text.LaTeX.Base.Math: instance (GHC.Base.Monad m, a Data.Type.Equality.~ ()) => GHC.Float.Floating (Text.LaTeX.Base.Writer.LaTeXT m a)
+ Text.LaTeX.Base.Math: instance (GHC.Base.Monad m, a Data.Type.Equality.~ ()) => GHC.Num.Num (Text.LaTeX.Base.Writer.LaTeXT m a)
+ Text.LaTeX.Base.Math: instance (GHC.Base.Monad m, a Data.Type.Equality.~ ()) => GHC.Real.Fractional (Text.LaTeX.Base.Writer.LaTeXT m a)
+ Text.LaTeX.Base.Math: instance GHC.Float.Floating Text.LaTeX.Base.Syntax.LaTeX
+ Text.LaTeX.Base.Math: instance GHC.Num.Num Text.LaTeX.Base.Syntax.LaTeX
+ Text.LaTeX.Base.Math: instance GHC.Real.Fractional Text.LaTeX.Base.Syntax.LaTeX
+ Text.LaTeX.Base.Math: integral :: LaTeXC l => l
+ Text.LaTeX.Base.Math: integralFromTo :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: iota :: LaTeXC l => l
+ Text.LaTeX.Base.Math: jmath :: LaTeXC l => l
+ Text.LaTeX.Base.Math: kappa :: LaTeXC l => l
+ Text.LaTeX.Base.Math: lambda :: LaTeXC l => l
+ Text.LaTeX.Base.Math: lambdau :: LaTeXC l => l
+ Text.LaTeX.Base.Math: langle :: LaTeXC l => l
+ Text.LaTeX.Base.Math: lceil :: LaTeXC l => l
+ Text.LaTeX.Base.Math: leftarrow :: LaTeXC l => l
+ Text.LaTeX.Base.Math: leftarrow2 :: LaTeXC l => l
+ Text.LaTeX.Base.Math: leftharpoondown :: LaTeXC l => l
+ Text.LaTeX.Base.Math: leftharpoonup :: LaTeXC l => l
+ Text.LaTeX.Base.Math: leftrightarrow :: LaTeXC l => l
+ Text.LaTeX.Base.Math: leftrightarrow2 :: LaTeXC l => l
+ Text.LaTeX.Base.Math: lfloor :: LaTeXC l => l
+ Text.LaTeX.Base.Math: ll :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: ln :: LaTeXC l => l
+ Text.LaTeX.Base.Math: longleftarrow :: LaTeXC l => l
+ Text.LaTeX.Base.Math: longleftarrow2 :: LaTeXC l => l
+ Text.LaTeX.Base.Math: longleftrightarrow :: LaTeXC l => l
+ Text.LaTeX.Base.Math: longleftrightarrow2 :: LaTeXC l => l
+ Text.LaTeX.Base.Math: longmapsto :: LaTeXC l => l
+ Text.LaTeX.Base.Math: longrightarrow :: LaTeXC l => l
+ Text.LaTeX.Base.Math: longrightarrow2 :: LaTeXC l => l
+ Text.LaTeX.Base.Math: mapsto :: LaTeXC l => l
+ Text.LaTeX.Base.Math: math :: LaTeXC l => l -> l
+ Text.LaTeX.Base.Math: mathDisplay :: LaTeXC l => l -> l
+ Text.LaTeX.Base.Math: mathbf :: LaTeXC l => l -> l
+ Text.LaTeX.Base.Math: mathcal :: LaTeXC l => l -> l
+ Text.LaTeX.Base.Math: mathdefault :: LaTeXC l => l -> l
+ Text.LaTeX.Base.Math: mathit :: LaTeXC l => l -> l
+ Text.LaTeX.Base.Math: mathrm :: LaTeXC l => l -> l
+ Text.LaTeX.Base.Math: mathsf :: LaTeXC l => l -> l
+ Text.LaTeX.Base.Math: mathtt :: LaTeXC l => l -> l
+ Text.LaTeX.Base.Math: mp :: LaTeXC l => l
+ Text.LaTeX.Base.Math: mu :: LaTeXC l => l
+ Text.LaTeX.Base.Math: nearrow :: LaTeXC l => l
+ Text.LaTeX.Base.Math: ni :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: nonumber :: LaTeXC l => l
+ Text.LaTeX.Base.Math: notin :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: nu :: LaTeXC l => l
+ Text.LaTeX.Base.Math: nwarrow :: LaTeXC l => l
+ Text.LaTeX.Base.Math: odot :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: omega :: LaTeXC l => l
+ Text.LaTeX.Base.Math: omegau :: LaTeXC l => l
+ Text.LaTeX.Base.Math: ominus :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: operatorname :: LaTeXC l => l -> l
+ Text.LaTeX.Base.Math: oplus :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: oslash :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: otimes :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: overline :: LaTeXC l => l -> l
+ Text.LaTeX.Base.Math: parallel :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: partial :: LaTeXC l => l
+ Text.LaTeX.Base.Math: partialOf :: LaTeXC l => l -> l
+ Text.LaTeX.Base.Math: perp :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: phi :: LaTeXC l => l
+ Text.LaTeX.Base.Math: phiu :: LaTeXC l => l
+ Text.LaTeX.Base.Math: pi_ :: LaTeXC l => l
+ Text.LaTeX.Base.Math: piu :: LaTeXC l => l
+ Text.LaTeX.Base.Math: pm :: LaTeXC l => l
+ Text.LaTeX.Base.Math: prod :: LaTeXC l => l
+ Text.LaTeX.Base.Math: prodFromTo :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: propto :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: psi :: LaTeXC l => l
+ Text.LaTeX.Base.Math: psiu :: LaTeXC l => l
+ Text.LaTeX.Base.Math: rangle :: LaTeXC l => l
+ Text.LaTeX.Base.Math: rceil :: LaTeXC l => l
+ Text.LaTeX.Base.Math: rfloor :: LaTeXC l => l
+ Text.LaTeX.Base.Math: rho :: LaTeXC l => l
+ Text.LaTeX.Base.Math: rightarrow :: LaTeXC l => l
+ Text.LaTeX.Base.Math: rightarrow2 :: LaTeXC l => l
+ Text.LaTeX.Base.Math: rightharpoondown :: LaTeXC l => l
+ Text.LaTeX.Base.Math: rightharpoonup :: LaTeXC l => l
+ Text.LaTeX.Base.Math: searrow :: LaTeXC l => l
+ Text.LaTeX.Base.Math: sec :: LaTeXC l => l
+ Text.LaTeX.Base.Math: setminus :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: sigma :: LaTeXC l => l
+ Text.LaTeX.Base.Math: sigmau :: LaTeXC l => l
+ Text.LaTeX.Base.Math: star :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: subset :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: sumFromTo :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: supset :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: swarrow :: LaTeXC l => l
+ Text.LaTeX.Base.Math: tau :: LaTeXC l => l
+ Text.LaTeX.Base.Math: tcos :: LaTeXC l => l
+ Text.LaTeX.Base.Math: tcosh :: LaTeXC l => l
+ Text.LaTeX.Base.Math: texp :: LaTeXC l => l
+ Text.LaTeX.Base.Math: theta :: LaTeXC l => l
+ Text.LaTeX.Base.Math: thetau :: LaTeXC l => l
+ Text.LaTeX.Base.Math: tilde :: LaTeXC l => l -> l
+ Text.LaTeX.Base.Math: times :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: tlog :: LaTeXC l => l
+ Text.LaTeX.Base.Math: to :: LaTeXC l => l
+ Text.LaTeX.Base.Math: totald :: LaTeXC l => l
+ Text.LaTeX.Base.Math: totaldOf :: LaTeXC l => l -> l
+ Text.LaTeX.Base.Math: tsin :: LaTeXC l => l
+ Text.LaTeX.Base.Math: tsinh :: LaTeXC l => l
+ Text.LaTeX.Base.Math: tsqrt :: LaTeXC l => Maybe l -> l -> l
+ Text.LaTeX.Base.Math: tsum :: LaTeXC l => l
+ Text.LaTeX.Base.Math: ttan :: LaTeXC l => l
+ Text.LaTeX.Base.Math: ttanh :: LaTeXC l => l
+ Text.LaTeX.Base.Math: uparrow :: LaTeXC l => l
+ Text.LaTeX.Base.Math: uparrow2 :: LaTeXC l => l
+ Text.LaTeX.Base.Math: updownarrow :: LaTeXC l => l
+ Text.LaTeX.Base.Math: updownarrow2 :: LaTeXC l => l
+ Text.LaTeX.Base.Math: upsilon :: LaTeXC l => l
+ Text.LaTeX.Base.Math: upsilonu :: LaTeXC l => l
+ Text.LaTeX.Base.Math: varepsilon :: LaTeXC l => l
+ Text.LaTeX.Base.Math: varphi :: LaTeXC l => l
+ Text.LaTeX.Base.Math: varpi :: LaTeXC l => l
+ Text.LaTeX.Base.Math: varrho :: LaTeXC l => l
+ Text.LaTeX.Base.Math: varsigma :: LaTeXC l => l
+ Text.LaTeX.Base.Math: vartheta :: LaTeXC l => l
+ Text.LaTeX.Base.Math: vec :: LaTeXC l => l -> l
+ Text.LaTeX.Base.Math: vee :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: wedge :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Base.Math: widehat :: LaTeXC l => l -> l
+ Text.LaTeX.Base.Math: widetilde :: LaTeXC l => l -> l
+ Text.LaTeX.Base.Math: xi :: LaTeXC l => l
+ Text.LaTeX.Base.Math: xiu :: LaTeXC l => l
+ Text.LaTeX.Base.Math: zeta :: LaTeXC l => l
+ Text.LaTeX.Base.Syntax: between :: Monoid m => m -> m -> m -> m
+ Text.LaTeX.Base.Syntax: instance GHC.Base.Semigroup Text.LaTeX.Base.Syntax.LaTeX
+ Text.LaTeX.Base.Warnings: instance GHC.Base.Semigroup Text.LaTeX.Base.Warnings.TeXCheck
+ Text.LaTeX.Base.Writer: instance (GHC.Base.Applicative m, GHC.Base.Semigroup a) => GHC.Base.Semigroup (Text.LaTeX.Base.Writer.LaTeXT m a)
+ Text.LaTeX.Base.Writer: instance (GHC.Base.Monad m, a Data.Type.Equality.~ ()) => Data.String.IsString (Text.LaTeX.Base.Writer.LaTeXT m a)
+ Text.LaTeX.Base.Writer: instance (GHC.Base.Monad m, a Data.Type.Equality.~ ()) => Text.LaTeX.Base.Class.LaTeXC (Text.LaTeX.Base.Writer.LaTeXT m a)
+ Text.LaTeX.Packages.AMSFonts: quaternions :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSMath: bigcap :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSMath: bigcapFromTo :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Packages.AMSMath: bigcup :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSMath: bigcupFromTo :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Packages.AMSMath: coprod :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSMath: coprodFromTo :: LaTeXC l => l -> l -> l
+ Text.LaTeX.Packages.AMSSymb: blacklozenge :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: blacksquare :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: circlearrowleft :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: circlearrowright :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: curvearrowleft :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: curvearrowright :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: downdownarrows :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: downharpoonleft :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: downharpoonright :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: ggg :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: gtrdot :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: leftarrow3 :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: leftarrowtail :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: leftleftarrows :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: leftrightarrows :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: leftrightsquigarrow :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: lessdot :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: lll :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: looparrowleft :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: looparrowright :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: lozenge :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: lsh2 :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: nexists :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: nleftarrow :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: nleftarrow2 :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: nleftrightarrow :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: nleftrightarrow2 :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: nrightarrow :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: nrightarrow2 :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: rightarrow3 :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: rightarrowtail :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: rightleftarrows :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: rightleftharpoons :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: rightrightarrows :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: rightsquigarrow :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: rsh2 :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: square :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: twoheadleftarrow :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: twoheadrightarrow :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: upharpoonleft :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: upharpoonright :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: upuparrows :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: vartriangleleft :: LaTeXC l => l
+ Text.LaTeX.Packages.AMSSymb: vartriangleright :: LaTeXC l => l
+ Text.LaTeX.Packages.LTableX: endfirsthead :: LaTeXC l => l
+ Text.LaTeX.Packages.LTableX: endfoot :: LaTeXC l => l
+ Text.LaTeX.Packages.LTableX: endhead :: LaTeXC l => l
+ Text.LaTeX.Packages.LTableX: endlastfoot :: LaTeXC l => l
+ Text.LaTeX.Packages.LTableX: tabularx :: LaTeXC l => Measure -> Maybe Pos -> [TableSpec] -> l -> l
- Text.LaTeX.Base: (<>) :: Monoid m => m -> m -> m
+ Text.LaTeX.Base: (<>) :: Semigroup a => a -> a -> a
- Text.LaTeX.Base: class Monoid a
+ Text.LaTeX.Base: class Semigroup a => Monoid a
- Text.LaTeX.Base.Class: class Monoid a
+ Text.LaTeX.Base.Class: class Semigroup a => Monoid a
- Text.LaTeX.Base.Parser: data Message :: *
+ Text.LaTeX.Base.Parser: data Message
- Text.LaTeX.Base.Parser: data ParseError :: *
+ Text.LaTeX.Base.Parser: data ParseError
- Text.LaTeX.Base.Parser: data SourcePos :: *
+ Text.LaTeX.Base.Parser: data SourcePos
- Text.LaTeX.Base.Render: data Text :: *
+ Text.LaTeX.Base.Render: data Text
- Text.LaTeX.Base.Syntax: (<>) :: Monoid m => m -> m -> m
+ Text.LaTeX.Base.Syntax: (<>) :: Semigroup a => a -> a -> a
- Text.LaTeX.Base.Syntax: TeXLineBreak :: (Maybe Measure) -> Bool -> LaTeX
+ Text.LaTeX.Base.Syntax: TeXLineBreak :: Maybe Measure -> Bool -> LaTeX
- Text.LaTeX.Base.Writer: lift :: MonadTrans t => forall (m :: * -> *) a. Monad m => m a -> t m a
+ Text.LaTeX.Base.Writer: lift :: (MonadTrans t, Monad m) => m a -> t m a
- Text.LaTeX.Base.Writer: liftFun :: Monad m => (LaTeX -> LaTeX) -> (LaTeXT m a -> LaTeXT m a)
+ Text.LaTeX.Base.Writer: liftFun :: Monad m => (LaTeX -> LaTeX) -> LaTeXT m a -> LaTeXT m a
- Text.LaTeX.Base.Writer: liftIO :: MonadIO m => forall a. () => IO a -> m a
+ Text.LaTeX.Base.Writer: liftIO :: MonadIO m => IO a -> m a
- Text.LaTeX.Base.Writer: liftOp :: Monad m => (LaTeX -> LaTeX -> LaTeX) -> (LaTeXT m a -> LaTeXT m b -> LaTeXT m b)
+ Text.LaTeX.Base.Writer: liftOp :: Monad m => (LaTeX -> LaTeX -> LaTeX) -> LaTeXT m a -> LaTeXT m b -> LaTeXT m b
- Text.LaTeX.Packages.Beamer: Transparent :: (Maybe Float) -> CoverOption
+ Text.LaTeX.Packages.Beamer: Transparent :: Maybe Float -> CoverOption
- Text.LaTeX.Packages.Color: data Word8 :: *
+ Text.LaTeX.Packages.Color: data Word8
- Text.LaTeX.Packages.TikZ.Simple: data Word8 :: *
+ Text.LaTeX.Packages.TikZ.Simple: data Word8
- Text.LaTeX.Packages.TikZ.Syntax: data Word8 :: *
+ Text.LaTeX.Packages.TikZ.Syntax: data Word8
- Text.LaTeX.Packages.Trees: Node :: (Maybe a) -> [Tree a] -> Tree a
+ Text.LaTeX.Packages.Trees: Node :: Maybe a -> [Tree a] -> Tree a

Files

HaTeX.cabal view
@@ -1,5 +1,5 @@ Name: HaTeX
-Version: 3.19.0.0
+Version: 3.20.0.0
 Author: Daniel Díaz
 Category: LaTeX
 Build-type: Simple
@@ -63,7 +63,7 @@                , bytestring >= 0.9.2.1 && < 0.11
                , text >= 0.11.2.3 && < 2
                , transformers >= 0.2.2 && < 0.6
-               , containers >= 0.4.2.1 && < 0.6
+               , containers >= 0.4.2.1 && < 0.7
                , hashable >= 1.2 && < 1.3
                , matrix
                  -- Testing
@@ -82,6 +82,7 @@       Text.LaTeX.Base
         Text.LaTeX.Base.Class
         Text.LaTeX.Base.Commands
+        Text.LaTeX.Base.Math
         Text.LaTeX.Base.Parser
         Text.LaTeX.Base.Pretty
         Text.LaTeX.Base.Render
Text/LaTeX/Base/Class.hs view
@@ -27,6 +27,7 @@  , commS  , braces  , squareBraces+ , raw  ) where  import Text.LaTeX.Base.Syntax@@ -34,6 +35,7 @@ #if !MIN_VERSION_base(4,8,0) import Data.Monoid #endif+import Data.Text (Text)  -- | This is the class of 'LaTeX' code generators. It has 'Monoid' and 'IsString' as --   superclasses.@@ -114,3 +116,13 @@  squareBraces :: LaTeXC l => l -> l squareBraces = liftL $ \l -> TeXRaw "[" <> l <> TeXRaw "]" ++-- | Insert a raw piece of 'Text'.+-- This functions doesn't escape @LaTeX@ reserved characters,+-- it insert the text just as it is received.+--+-- /Warning:/ This function is /unsafe/, in the sense that it does+-- not check that the input text is a valid LaTeX /block/.+-- Make sure any braces, commands or environments are properly closed.+raw :: LaTeXC l => Text -> l+raw = fromLaTeX . TeXRaw
Text/LaTeX/Base/Commands.hs view
@@ -117,6 +117,7 @@  , vspace  , vspace_  , addvspace+ , quad, qquad  , hfill  , vfill  , dotfill@@ -218,6 +219,8 @@  , hyphenation  , hyp  , qts+   -- * Maths commands+ , module Text.LaTeX.Base.Math    -- * External files  , input  , include@@ -232,29 +235,13 @@ import Text.LaTeX.Base.Render import Text.LaTeX.Base.Types import Text.LaTeX.Base.Texy+import Text.LaTeX.Base.Math import Data.Version import Data.List (find, intercalate,intersperse) import Data.Matrix (Matrix,nrows,ncols,(!)) -- import Paths_HaTeX --- | Insert a raw piece of 'Text'.--- This functions doesn't escape @LaTeX@ reserved characters,--- it insert the text just as it is received.------ /Warning:/ This function is /unsafe/, in the sense that it does--- not check that the input text is a valid LaTeX /block/.--- Make sure any braces, commands or environments are properly closed.-raw :: LaTeXC l => Text -> l-raw = fromLaTeX . TeXRaw---- | Calling 'between' @c l1 l2@ puts @c@ between @l1@ and @l2@ and---   appends them.------ > between c l1 l2 = l1 <> c <> l2-between :: Monoid m => m -> m -> m -> m-between c l1 l2 = l1 <> c <> l2- -- | Create a comment. comment :: LaTeXC l => Text -> l comment = fromLaTeX . TeXComment@@ -784,6 +771,15 @@  hspace_ :: LaTeXC l => Measure -> l hspace_ m = fromLaTeX $ TeXComm "hspace*" [FixArg $ rendertex m]++-- | Space equal to the current font size (= 18 mu). \(a\quad b\)+quad :: LaTeXC l => l+quad = comm0 "quad"++-- | Twice of @\quad@ (= 36 mu).  \(a\qquad b\)+qquad :: LaTeXC l => l+qquad = comm0 "qquad"+  stretch :: LaTeXC l => Double -> l stretch n = fromLaTeX $ TeXComm "stretch" [FixArg $ rendertex n]
+ Text/LaTeX/Base/Math.hs view
@@ -0,0 +1,1069 @@++{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE CPP               #-}++-- | This module contains the maths-specific part of "Text.LaTeX.Base.Commands",+--  i.e. of the commands that are available in LaTeX out of the box without+--  any imports.+-- +-- Note however that most maths-related documents use the+--  <https://ctan.org/pkg/amsmath?lang=en amsmath package>, which not only adds+--  some more environments but also improves on rendering details such as symbol+--  spacing.+--  So even if you only need the vanilla-LaTeX commands that this module provides, +--  consider importing "Text.LaTeX.Packages.AMSMath" instead; it re-exports the+--  entire "Text.LaTeX.Base.Math" module.+module Text.LaTeX.Base.Math+ ( -- * Math Environments+   math, mathDisplay+ , equation , equation_+   -- ** Referencing+ , nonumber+   -- * Symbols and utilities+   -- | The unicode approximations do, of course, not reliably represent how+   --   LaTeX renders these symbols.+   +   -- ** Brackets / delimiters+ , autoParens+ , autoSquareBrackets, autoBraces, autoAngleBrackets+ , autoBrackets+ + , langle , rangle+ , lfloor , rfloor+ , lceil , rceil + , dblPipe+   -- ** Superscript and subscript+ , (^:) , (!:), (!^)+   -- ** Function symbols+   -- | Some symbols are preceded with /t/ to be distinguished from+   --   predefined Haskell entities (like 'sin' and 'cos').+ , tsin , arcsin+ , tcos , arccos+ , ttan , arctan+ , cot , arccot+ , tsinh , tcosh , ttanh , coth+ , sec , csc+ , texp+ , tlog , ln+ , tsqrt+   -- ** Custom function symbols+ , operatorname+   -- ** Summation \/ integration \/ differentiation \/ relations+ , tsum , sumFromTo+ , prod , prodFromTo+ , coprod, coprodFromTo+ , integral , integralFromTo+ , partial, totald, partialOf, totaldOf+ , bigcup, bigcupFromTo+ , bigcap, bigcapFromTo +   -- ** Operator symbols+   -- *** Arithmetic+ , (+-), (-+)+ , cdot , times , div_+ , frac+ , (*:) , star+ , circ , bullet+   -- *** Comparison+ , (=:) , (/=:)+ , (<:) , (<=:)+ , (>:) , (>=:)+ , ll , gg+ , equiv+ , propto+ , parallel+ , perp+   -- *** Sets+ , in_ , ni , notin+ , subset , supset+ , cap , cup+ , setminus+   -- *** Misc operators+ , vee , wedge+ , oplus , ominus , otimes+ , oslash , odot+   -- *** Accents+ , hat, tilde, bar, vec, widehat, widetilde+ , dot+ , overline+ +   -- ** Greek alphabet+   -- | Functions of greek alphabet symbols.+   --+   --   Uppercase versions are suffixed with @u@.+   --   Variants are prefixed with @var@.+   --   The function 'pi_' is ended by an underscore symbol to+   --   distinguish it from the 'pi' Prelude function.+ , alpha    , beta       , gamma+ , gammau   , delta      , deltau+ , epsilon  , varepsilon , zeta+ , eta      , theta      , vartheta , thetau+ , iota     , kappa      , lambda+ , lambdau  , mu         , nu+ , xi       , xiu        , pi_+ , varpi    , piu        , rho+ , varrho   , sigma      , varsigma+ , sigmau   , tau        , upsilon+ , upsilonu , phi        , varphi+ , phiu     , chi        , psi+ , psiu     , omega      , omegau+   -- ** Arrows+ , uparrow, downarrow+ , uparrow2, downarrow2+ , updownarrow, updownarrow2+ , leftarrow, rightarrow+ , leftrightarrow, leftrightarrow2+ , leftarrow2, rightarrow2+ , longleftarrow, longrightarrow+ , longleftarrow2, longrightarrow2+ , longleftrightarrow, longleftrightarrow2+ , nwarrow, nearrow+ , swarrow, searrow+ , to, mapsto, longmapsto+ , hookleftarrow, hookrightarrow+ , leftharpoonup, rightharpoonup+ , leftharpoondown, rightharpoondown+   -- ** Other symbols+ , pm , mp+ , implies+ , forall , exists+ , dagger, ddagger+ , infty+ , imath, jmath+ , bot+   -- * Fonts+ , mathdefault+ , mathbf+ , mathrm+ , mathcal+ , mathsf+ , mathtt+ , mathit+ ) where++import Text.LaTeX.Base.Syntax+import Text.LaTeX.Base.Class+import Text.LaTeX.Base.Writer+import Text.LaTeX.Base.Render+++-- | Inline mathematical expressions.+math :: LaTeXC l => l -> l+math = liftL $ TeXMath Dollar++-- | Displayed mathematical expressions, i.e. in a seperate line / block.+mathDisplay :: LaTeXC l => l -> l+mathDisplay = liftL $ TeXMath Square++-------------------------------------------------------+------- Numeric instances for LaTeX and LaTeXT --------+-------------------------------------------------------++----------- LaTeX instances++-- | The 'signum' method uses a custom 'operatorname' and will not be automatically translated by babel.+--   This instance is defined in the "Text.LaTeX.Packages.AMSMath" module.+instance Num LaTeX where+ (+) = between "+"+ (-) = between "-"+ (*) = (<>)+ negate = (TeXEmpty -)+ fromInteger = rendertex+ abs = autoBrackets "|" "|"+ signum = (operatorname "sgn" <>)++-- | Division uses the LaTeX 'frac' command.+--   This instance is defined in the "Text.LaTeX.Packages.AMSMath" module.+instance Fractional LaTeX where+ (/) = frac+ fromRational = rendertex . (fromRational :: Rational -> Double)++-- | The 'asinh', 'atanh' and 'acosh' methods use custom 'operatorname's and will not be automatically translated by babel.+--   This instance is defined in the "Text.LaTeX.Packages.AMSMath" module.+instance Floating LaTeX where+ pi = pi_+ exp = (texp <>)+ sqrt = tsqrt Nothing+ log = (tlog <>)+ (**) = (^:)+ logBase b x = (commS "log" !: b) <> x+ sin = (tsin <>)+ tan = (ttan <>)+ cos = (tcos <>)+ asin = (arcsin <>)+ atan = (arctan <>)+ acos = (arccos <>)+ sinh = (tsinh <>)+ tanh = (ttanh <>)+ cosh = (tcosh <>)+ asinh = (operatorname "arsinh" <>)+ atanh = (operatorname "artanh" <>)+ acosh = (operatorname "arcosh" <>)++----------- LaTeXT instances++#if !MIN_VERSION_base(4,5,0)++-- | Warning: this instance only exists for the 'Num' instance.+--   This instance is defined in the "Text.LaTeX.Packages.AMSMath" module.+instance Eq (LaTeXT m a) where+ _ == _ = error "Cannot use \"(==)\" Eq method with a LaTeXT value."++-- | Warning: this instance only exists for the 'Num' instance.+--   This instance is defined in the "Text.LaTeX.Packages.AMSMath" module.+instance Show (LaTeXT m a) where+ show _ = error "Cannot use \"show\" Show method with a LaTeXT value."++#endif++-- | Careful! Method 'signum' is undefined. Don't use it!+--   This instance is defined in the "Text.LaTeX.Packages.AMSMath" module.+instance (Monad m, a ~ ()) => Num (LaTeXT m a) where+ (+) = liftOp (+)+ (-) = liftOp (-)+ (*) = (>>)+ negate = liftFun negate+ fromInteger = fromLaTeX . fromInteger+ abs = liftFun abs+ signum = liftFun signum++-- | Division uses the LaTeX 'frac' command.+--   This instance is defined in the "Text.LaTeX.Packages.AMSMath" module.+instance (Monad m, a ~ ()) => Fractional (LaTeXT m a) where+ (/) = liftOp (/)+ fromRational = fromLaTeX . fromRational++-- | Undefined methods: 'asinh', 'atanh' and 'acosh'.+--   This instance is defined in the "Text.LaTeX.Packages.AMSMath" module.+instance (Monad m, a ~ ()) => Floating (LaTeXT m a) where+ pi = pi_+ exp = liftFun exp+ sqrt = liftFun sqrt+ log = liftFun log+ (**) = liftOp (**)+ logBase = liftOp logBase+ sin = liftFun sin+ tan = liftFun tan+ cos = liftFun cos+ asin = liftFun asin+ atan = liftFun atan+ acos = liftFun acos+ sinh = liftFun sinh+ tanh = liftFun tanh+ cosh = liftFun cosh+ asinh = liftFun asinh+ atanh = liftFun atanh+ acosh = liftFun acosh++-- | Prevent an equation from being numbered, where the environment would by default do that.+nonumber :: LaTeXC l => l+nonumber = comm0 "nonumber"++-- | A numbered mathematical equation (or otherwise math expression).+equation :: LaTeXC l => l -> l+equation = liftL $ TeXEnv "equation" []++-- | The unnumbered variant of 'equation'.+equation_ :: LaTeXC l => l -> l+equation_ = liftL $ TeXEnv "equation*" []++-------------------------------------+------- Symbols and utilities -------++-- | Surround a LaTeX math expression by parentheses whose height+-- automatically matches the expression's. Translates to @\\left(...\\right)@.+autoParens :: LaTeXC l => l -> l+autoParens x = commS "left(" <> x <> commS "right)"++-- | Like 'autoParens', but with square brackets. Equivalent to @'autoBrackets'\"[\"\"]\"@.+autoSquareBrackets :: LaTeXC l => l -> l+autoSquareBrackets x = commS "left[" <> x <> commS "right]"++-- | Like 'autoParens', but with curly brackets.+autoBraces :: LaTeXC l => l -> l+autoBraces x = commS "left"<>"{" <> x <> commS "right"<>"}"++-- | Like 'autoParens', but with angle brackets \(\langle\) ... \(\rangle\). Equivalent to @'autoBrackets' 'langle' 'rangle'@.+autoAngleBrackets :: LaTeXC l => l -> l+autoAngleBrackets x = commS "left"<>langle <> x <> commS "right"<>rangle++-- | Use custom LaTeX expressions as auto-scaled delimiters to surround math.+-- Suitable delimiters include \(|\ldots|\) (absolute value), \(\|\ldots\|\) (norm,+-- 'dblPipe'), \(\lfloor\ldots\rfloor\) (round-off Gauss brackets, 'lfloor' / 'rfloor') etc..+autoBrackets :: LaTeXC l => LaTeX -> LaTeX -> l -> l+autoBrackets lBrack rBrack x+  = commS "left" <> fromLaTeX lBrack <> x <> commS "right" <> fromLaTeX rBrack++-- | Left angle bracket, \(\langle\).+langle :: LaTeXC l => l+langle = comm0 "langle"++-- | Right angle bracket, \(\rangle\).+rangle :: LaTeXC l => l+rangle = comm0 "rangle"++-- | Left floor, \(\lfloor\).+lfloor :: LaTeXC l => l+lfloor = comm0 "lfloor"++-- | Right floor, \(\rfloor\).+rfloor :: LaTeXC l => l+rfloor = comm0 "rfloor"++-- | Left ceiling, \(\lceil\).+lceil :: LaTeXC l => l+lceil = comm0 "lceil"++-- | Right ceiling, \(\rceil\).+rceil :: LaTeXC l => l+rceil = comm0 "rceil"++-- | Double vertical line, used as delimiter for norms \(\| \ldots \|\).+dblPipe :: LaTeXC l => l+dblPipe = comm0 "|"++-- | Superscript.+(^:) :: LaTeXC l => l -> l -> l+x ^: y = braces x <> raw "^"  <> braces y++-- | Subscript.+(!:) :: LaTeXC l => l -> l -> l+x !: y = braces x <> raw "_" <> braces y++-- | Sub- and superscript, both stacked.+(!^) :: LaTeXC l => l -> (l,l) -> l+x !^ (y,z) = braces x <> raw "_" <> braces y <> raw "^" <> braces z++---- Function symbols++-- | Sine function symbol.+tsin :: LaTeXC l => l+tsin = comm0 "sin"++-- | Arcsine function symbol.+arcsin :: LaTeXC l => l+arcsin = comm0 "arcsin"++-- | Cosine function symbol.+tcos :: LaTeXC l => l+tcos = comm0 "cos"++-- | Arccosine function symbol.+arccos :: LaTeXC l => l+arccos = comm0 "arccos"++-- | Tangent function symbol.+ttan :: LaTeXC l => l+ttan = comm0 "tan"++-- | Arctangent function symbol.+arctan :: LaTeXC l => l+arctan = comm0 "arctan"++-- | Cotangent function symbol.+cot :: LaTeXC l => l+cot = comm0 "cot"++-- | Arccotangent function symbol.+arccot :: LaTeXC l => l+arccot = comm0 "arccot"++-- | Hyperbolic sine function symbol.+tsinh :: LaTeXC l => l+tsinh = comm0 "sinh"++-- | Hyperbolic cosine function symbol.+tcosh :: LaTeXC l => l+tcosh = comm0 "cosh"++-- | Hyperbolic tangent function symbol.+ttanh :: LaTeXC l => l+ttanh = comm0 "tanh"++-- | Hyperbolic cotangent function symbol.+coth :: LaTeXC l => l+coth = comm0 "coth"++-- | Secant function symbol.+sec :: LaTeXC l => l+sec = comm0 "sec"++-- | Cosecant function symbol.+csc :: LaTeXC l => l+csc = comm0 "csc"++-- | Exponential function symbol.+texp :: LaTeXC l => l+texp = comm0 "exp"++-- | Logarithm function symbol.+tlog :: LaTeXC l => l+tlog = comm0 "log"++-- | Natural logarithm symbol.+ln :: LaTeXC l => l+ln = comm0 "ln"++-- | Root notation. Use @tsqrt (Just n) x@ for the @n@th root of @x@.+--   When 'Nothing' is supplied, the function will output a square root.+tsqrt :: LaTeXC l => Maybe l -> l -> l+tsqrt Nothing  = liftL $ \x -> TeXComm "sqrt" [FixArg x]+tsqrt (Just n) = liftL2 (\m x -> TeXComm "sqrt" [OptArg m, FixArg x]) n++---- Custom Function Symbols+-- | Defines a new function symbol.+-- Note that function symbols defined in this way will not be automatically translated by babel.+operatorname :: LaTeXC l => l -> l+operatorname = comm1 "operatorname"++---- Sum/Integral symbols++-- | Sigma sumation symbol \(\sum\). Use 'sumFromTo' instead if you want to+--   specify the limits of the sum.+tsum :: LaTeXC l => l+tsum = comm0 "sum"++-- | Sigma sumation symbol with limits, like \[\sum_0^n\].+sumFromTo :: LaTeXC l+          => l -- ^ Expression below the sigma.+          -> l -- ^ Expression above the sigma.+          -> l+sumFromTo x y = commS "sum" <> raw"_" <> braces x <> raw"^" <> braces y++-- | Pi product symbol \(\prod\). Use 'prodFromTo' if you want to specify the+--   limits of the product.+prod :: LaTeXC l => l+prod = comm0 "prod"++-- | Pi product symbol with limits, like \[\prod_0^n\].+prodFromTo :: LaTeXC l+           => l -- ^ Expression below the pi.+           -> l -- ^ Expression above the pi.+           -> l+prodFromTo x y = commS "prod" <> raw"_" <> braces x <> raw"^" <> braces y++-- | Coproduct symbol \(\coprod\). Use 'coprodFromTo' if you want to specify the+--   limits of the coproduct.+coprod :: LaTeXC l => l+coprod = comm0 "coprod"++-- | Coproduct symbol with limits, like \[\coprod_0^n\].+coprodFromTo :: LaTeXC l+           => l -- ^ Expression below.+           -> l -- ^ Expression above.+           -> l+coprodFromTo x y = commS "coprod" <> raw"_" <> braces x <> raw"^" <> braces y++-- | Big union symbol \(\bigcup\). Use 'bigcupFromTo' if you want to specify the+--   limits of the union.+bigcup :: LaTeXC l => l+bigcup = comm0 "bigcup"++-- | Big union symbol with limits, like \[\bigcup_0^n\].+bigcupFromTo :: LaTeXC l+           => l -- ^ Expression below.+           -> l -- ^ Expression above.+           -> l+bigcupFromTo x y = commS "bigcup" <> raw"_" <> braces x <> raw"^" <> braces y++-- | Big intersection symbol \(\bigcap\). Use 'bigcapFromTo' if you want to specify the+--   limits of the intersection.+bigcap :: LaTeXC l => l+bigcap = comm0 "bigcap"++-- | Big intersection symbol with limits, like \[\bigcap_0^n\].+bigcapFromTo :: LaTeXC l+           => l -- ^ Expression below.+           -> l -- ^ Expression above.+           -> l+bigcapFromTo x y = commS "bigcap" <> raw"_" <> braces x <> raw"^" <> braces y+++-- | Integral symbol. Use 'integralFromTo' if you want to specify+--   the limits of the integral.+integral :: LaTeXC l => l+integral = comm0 "int"++-- | Integral symbol with limits of integration. \(\int\limits_{-1}^1\)+integralFromTo :: LaTeXC l+               => l -- ^ Lower limit of integration.+               -> l -- ^ Upper limit of integration.+               -> l+integralFromTo x y = commS "int" <> commS "limits" <> raw"_" <> braces x <> raw"^" <> braces y++-- | Partial-differentiation symbol \(\partial\)+partial :: LaTeXC l => l+partial = comm0 "partial"++-- | Total-differentiation (or integration-variable) symbol d (non-italic!)+--   To be used as @frac (totald) (totald<>"x")@ → \(\frac{\mathrm{d}}{\mathrm{d}x}\).+totald :: LaTeXC l => l+totald = mathrm "d"++-- | Partial-differentiation of variable, e.g.+--   @frac (partialOf h) (partialOf t)@ → \(\frac{\partial h}{\partial t}\).+partialOf :: LaTeXC l => l -> l+partialOf v = comm0 "partial" <> v++-- | Total-differentiation of variable, or integration over variable.+--   To be used as+-- +-- @+-- integralFromTo 0 infty $ totaldOf "x" <> "f(x)"+-- @+-- +--   \[\int\limits_0^\infty\mathrm{d}x f(x),\] or+--   @frac (totaldOf"f") (totaldOf"x")@ → \(\frac{\mathrm{d}f}{\mathrm{d}x}\).+totaldOf :: LaTeXC l => l -> l+totaldOf v = mathrm "d" <> v++---- Operator symbols++-- | Negative form of an operator.+notop :: LaTeXC l =>+         (l -> l -> l)+      ->  l -> l -> l+notop op =+ \l1 l2 ->+   (l1 <> commS "not") `op` l2++infixl 6 +-, -+++-- | Plus-or-minus operator \(\pm\). Also available as symbol 'pm'.+(+-) :: LaTeXC l => l -> l -> l+(+-)  = between $ comm0 "pm"++-- | Minus-or-plus operator \(\mp\). Also available as symbol 'mp'.+(-+) :: LaTeXC l => l -> l -> l+(-+)  = between $ comm0 "mp"++-- | Centered-dot operator \(\cdot\).+cdot :: LaTeXC l => l -> l -> l+cdot  = between $ comm0 "cdot"++-- | \"x-cross\" multiplication operator \(\times\).+times :: LaTeXC l => l -> l -> l+times = between $ comm0 "times"++-- | Division operator \(\div\).+div_ :: LaTeXC l => l -> l -> l+div_  = between $ comm0 "div"++-- | Fraction operator, like @frac 1 2@ → \(\frac12\).+frac :: LaTeXC l => l -> l -> l+frac = liftL2 $ \p q -> TeXComm "frac" [FixArg p, FixArg q]++infixl 7 *:++-- | Asterisk operator \(\ast\).+--+-- > infixl 7 *:+(*:) :: LaTeXC l => l -> l -> l+(*:) = between $ comm0 "ast"++-- | Star operator \(\star\).+star :: LaTeXC l => l -> l -> l+star  = between $ comm0 "star"++-- | Ring operator \(\circ\).+circ :: LaTeXC l => l -> l -> l+circ  = between $ comm0 "circ"++-- | Bullet operator \(\bullet\).+bullet :: LaTeXC l => l -> l -> l+bullet  = between $ comm0 "bullet"++infixr 4 =: , /=:++-- | Simple equals sign \(=\).+--+-- > infixr 4 =:+(=:) :: LaTeXC l => l -> l -> l+(=:)  = between "="++-- | Not equal \(\neq\).+--+-- > infixr 4 /=:+(/=:) :: LaTeXC l => l -> l -> l+(/=:) = notop (=:)++-- | Greater \(>\).+(>:) :: LaTeXC l => l -> l -> l+(>:) = between ">"++-- | Greater or equal \(\geq\).+(>=:) :: LaTeXC l => l -> l -> l+(>=:) = between $ comm0 "geq"++-- | Lesser \(<\).+(<:) :: LaTeXC l => l -> l -> l+(<:) = between "<"++-- | Lesser or equal \(\leq\).+(<=:) :: LaTeXC l => l -> l -> l+(<=:) = between $ comm0 "leq"++-- | Much less \(\ll\).+ll :: LaTeXC l => l -> l -> l+ll = between $ comm0 "ll"++-- | Much greater \(\gg\).+gg :: LaTeXC l => l -> l -> l+gg = between $ comm0 "gg"++-- | Proportional-to \(\propto\).+propto :: LaTeXC l => l -> l -> l+propto  = between $ comm0 "propto"++-- | Perpendicular \(\perp\). This is the infix version of 'bot'.+perp :: LaTeXC l => l -> l -> l+perp = between $ comm0 "perp"++-- | Parallel \(\parallel\).+parallel :: LaTeXC l => l -> l -> l+parallel = between $ comm0 "parallel"++-- | Identical \/ defined-as \/ equivalent \(\equiv\).+equiv :: LaTeXC l => l -> l -> l+equiv  = between $ comm0 "equiv"++-- | Element-of \(\in\).+in_ :: LaTeXC l => l -> l -> l+in_ = between $ comm0 "in"++-- | Mirrored element-of \(\ni\).+ni :: LaTeXC l => l -> l -> l+ni  = between $ comm0 "ni"++-- | Not element of \(\notin\).+notin :: LaTeXC l => l -> l -> l+notin = between $ comm0 "notin"++-- | Subset-of \(\subset\).+subset :: LaTeXC l => l -> l -> l+subset  = between $ comm0 "subset"++-- | Superset-of \(supset\).+supset :: LaTeXC l => l -> l -> l+supset  = between $ comm0 "supset"++-- | Set intersection \(\cap\).+cap :: LaTeXC l => l -> l -> l+cap  = between $ comm0 "cap"++-- | Set union \(\cup\).+cup :: LaTeXC l => l -> l -> l+cup  = between $ comm0 "cup"++-- | Set minus \(\setminus\).+setminus :: LaTeXC l => l -> l -> l+setminus  = between $ comm0 "setminus"++-- | Angle pointing downwards \(\vee\).+vee :: LaTeXC l => l -> l -> l+vee  = between $ comm0 "vee"++-- | Angle pointing upwards \(\wedge\).+wedge :: LaTeXC l => l -> l -> l+wedge  = between $ comm0 "wedge"++-- | Circled plus operator \(\oplus\).+oplus :: LaTeXC l => l -> l -> l+oplus  = between $ comm0 "oplus"++-- | Circled minus operator \(\ominus\).+ominus :: LaTeXC l => l -> l -> l+ominus  = between $ comm0 "ominus"++-- | Circled multiplication cross \(\otimes\).+otimes :: LaTeXC l => l -> l -> l+otimes  = between $ comm0 "otimes"++-- | Circled slash \(\oslash\).+oslash :: LaTeXC l => l -> l -> l+oslash  = between $ comm0 "oslash"++-- | Circled dot operator \(\odot\).+odot :: LaTeXC l => l -> l -> l+odot  = between $ comm0 "odot"++--- Accemts+{-+ , hat, tilde, bar, vec, widehat, widetilde+ , dot, ddot, dddot+ , overline, underline+ -}++-- | Add a hat accent above a symbol, like \(\hat{x}\).+hat :: LaTeXC l => l -> l+hat = comm1 "hat"++-- | Add a tilde accent above a symbol, like \(\tilde{y}\).+tilde :: LaTeXC l => l -> l+tilde = comm1 "tilde"++-- | Add a bar accent above a symbol, like \(\bar{z}\).+bar :: LaTeXC l => l -> l+bar = comm1 "bar"++-- | Add a vector arrow accent above a symbol, like \(\vec{v}\).+vec :: LaTeXC l => l -> l+vec = comm1 "vec"++-- | Add a wide hat accent above a symbol, like \(\widehat{w}\).+widehat :: LaTeXC l => l -> l+widehat = comm1 "widehat"++-- | Add a wide tilde accent above a symbol, like \(\widetilde{u}\).+widetilde :: LaTeXC l => l -> l+widetilde = comm1 "widetilde"++-- | Add a dot accent above a symbol, as used to denote a derivative,+--   like \(\dot{x}\).+dot :: LaTeXC l => l -> l+dot = comm1 "dot"++-- | Add a wide line accent above a symbol, like \(\overline{abc}\).+overline :: LaTeXC l => l -> l+overline = comm1 "overline"++---- Greek alphabet++-- | \(\alpha\) symbol.+alpha :: LaTeXC l => l+alpha = comm0 "alpha"++-- | \(\beta\) symbol.+beta :: LaTeXC l => l+beta = comm0 "beta"++-- | \(\gamma\) symbol.+gamma :: LaTeXC l => l+gamma = comm0 "gamma"++-- | \(\Gamma\) symbol.+gammau :: LaTeXC l => l+gammau = comm0 "Gamma"++-- | \(\delta\) symbol.+delta :: LaTeXC l => l+delta = comm0 "delta"++-- | \(\Delta\) symbol.+deltau :: LaTeXC l => l+deltau = comm0 "Delta"++-- | \(\epsilon\) symbol.+epsilon :: LaTeXC l => l+epsilon = comm0 "epsilon"++-- | \(\varepsilon\) symbol.+varepsilon :: LaTeXC l => l+varepsilon = comm0 "varepsilon"++-- | \(\zeta\) symbol.+zeta :: LaTeXC l => l+zeta = comm0 "zeta"++-- | \(\eta\) symbol.+eta :: LaTeXC l => l+eta = comm0 "eta"++-- | \(\theta\) symbol.+theta :: LaTeXC l => l+theta = comm0 "theta"++-- | \(\vartheta\) symbol.+vartheta :: LaTeXC l => l+vartheta = comm0 "vartheta"++-- | \(\Theta\) symbol.+thetau :: LaTeXC l => l+thetau = comm0 "Theta"++-- | \(\iota\) symbol.+iota :: LaTeXC l => l+iota = comm0 "iota"++-- | \(\kappa\) symbol.+kappa :: LaTeXC l => l+kappa = comm0 "kappa"++-- | \(\lambda\) symbol.+lambda :: LaTeXC l => l+lambda = comm0 "lambda"++-- | \(\Lambda\) symbol.+lambdau :: LaTeXC l => l+lambdau = comm0 "Lambda"++-- | \(\mu\) symbol.+mu :: LaTeXC l => l+mu = comm0 "mu"++-- | \(\nu\) symbol.+nu :: LaTeXC l => l+nu = comm0 "nu"++-- | \(\xi\) symbol.+xi :: LaTeXC l => l+xi = comm0 "xi"++-- | \(\Xi\) symbol.+xiu :: LaTeXC l => l+xiu = comm0 "Xi"++-- | \(\pi\) symbol.+pi_ :: LaTeXC l => l+pi_ = comm0 "pi"++-- | \(\varpi\) symbol.+varpi :: LaTeXC l => l+varpi = comm0 "varpi"++-- | \(\Pi\) symbol.+piu :: LaTeXC l => l+piu = comm0 "Pi"++-- | \(\rho\) symbol.+rho :: LaTeXC l => l+rho = comm0 "rho"++-- | \(\varrho\) symbol.+varrho :: LaTeXC l => l+varrho = comm0 "varrho"++-- | \(\sigma\) symbol.+sigma :: LaTeXC l => l+sigma = comm0 "sigma"++-- | \(\varsigma\) symbol.+varsigma :: LaTeXC l => l+varsigma = comm0 "varsigma"++-- | \(\Sigma\) symbol.+sigmau :: LaTeXC l => l+sigmau = comm0 "Sigma"++-- | \(\tau\) symbol.+tau :: LaTeXC l => l+tau = comm0 "tau"++-- | \(\upsilon\) symbol.+upsilon :: LaTeXC l => l+upsilon = comm0 "upsilon"++-- | \(\Upsilon\) symbol.+upsilonu :: LaTeXC l => l+upsilonu = comm0 "Upsilon"++-- | \(\phi\) symbol.+phi :: LaTeXC l => l+phi = comm0 "phi"++-- | \(\varphi\) symbol.+varphi :: LaTeXC l => l+varphi = comm0 "varphi"++-- | \(\Phi\) symbol.+phiu :: LaTeXC l => l+phiu = comm0 "Phi"++-- | \(\chi\) symbol.+chi :: LaTeXC l => l+chi = comm0 "chi"++-- | \(\psi\) symbol.+psi :: LaTeXC l => l+psi = comm0 "psi"++-- | \(\Psi\) symbol.+psiu :: LaTeXC l => l+psiu = comm0 "Psi"++-- | \(\omega\) symbol.+omega :: LaTeXC l => l+omega = comm0 "omega"++-- | \(\Omega\) symbol.+omegau :: LaTeXC l => l+omegau = comm0 "Omega"++---- Other symbols++-- | Plus-or-minus symbol \(\pm\). Also available as infix '+-'.+pm :: LaTeXC l => l+pm  = comm0 "pm"++-- | Minus-or-plus symbol \(\mp\).+mp :: LaTeXC l => l+mp  = comm0 "mp"++-- | A right-arrow, \(\to\).+to :: LaTeXC l => l+to = comm0 "to"++-- | A right-arrow for function definitions, \(\mapsto\).+mapsto :: LaTeXC l => l+mapsto = comm0 "mapsto"++-- | An implication arrow, \(\implies\).+implies :: LaTeXC l => l+implies = comm0 "implies"++-- | /For all/ symbol, \(\forall\).+forall :: LaTeXC l => l+forall = comm0 "forall"++-- | /Exists/ symbol, \(\exists\).+exists :: LaTeXC l => l+exists = comm0 "exists"++-- | Dagger symbol, \(\dagger\).+dagger :: LaTeXC l => l+dagger = comm0 "dagger"++-- | Double dagger symbol, \(\ddagger\).+ddagger :: LaTeXC l => l+ddagger = comm0 "ddagger"++-- | Infinity symbol, \(\infty\).+infty :: LaTeXC l => l+infty = comm0 "infty"++-- | Dotless letter i, \(\imath\).+imath :: LaTeXC l => l+imath = comm0 "imath"++-- | Dotless letter j, \(\jmath\).+jmath :: LaTeXC l => l+jmath = comm0 "jmath"++-- | Bottom symbol, \(\bot\). For the infix version see 'perp'.+bot :: LaTeXC l => l+bot = comm0 "bot"++++------------------------------------+------------- Arrows ---------------+-- | \(\uparrow\) symbol+uparrow :: LaTeXC l => l+uparrow = comm0 "uparrow"+-- | \(\downarrow\) symbol+downarrow :: LaTeXC l => l+downarrow = comm0 "downarrow"+-- | \(\Uparrow\) symbol+uparrow2 :: LaTeXC l => l+uparrow2 = comm0 "Uparrow"+-- | \(\Downarrow\) symbol+downarrow2 :: LaTeXC l => l+downarrow2 = comm0 "Downarrow"+-- | \(\updownarrow\) symbol+updownarrow :: LaTeXC l => l+updownarrow = comm0 "updownarrow"+-- | \(\Updownarrow\) symbol+updownarrow2 :: LaTeXC l => l+updownarrow2 = comm0 "Updownarrow"+-- | \(\leftarrow\) symbol+leftarrow :: LaTeXC l => l+leftarrow = comm0 "leftarrow"+-- | \(\rightarrow\) symbol+rightarrow :: LaTeXC l => l+rightarrow = comm0 "rightarrow"+-- | \(\leftrightarrow\) symbol+leftrightarrow :: LaTeXC l => l+leftrightarrow = comm0 "leftrightarrow"+-- | \(\Leftrightarrow\) symbol+leftrightarrow2 :: LaTeXC l => l+leftrightarrow2 = comm0 "Leftrightarrow"+-- | \(\Leftarrow\) symbol+leftarrow2 :: LaTeXC l => l+leftarrow2 = comm0 "Leftarrow"+-- | \(\Rightarrow\) symbol+rightarrow2 :: LaTeXC l => l+rightarrow2 = comm0 "Rightarrow"+-- | \(\longleftarrow\) symbol+longleftarrow :: LaTeXC l => l+longleftarrow = comm0 "longleftarrow"+-- | \(\longrightarrow\) symbol+longrightarrow :: LaTeXC l => l+longrightarrow = comm0 "longrightarrow"+-- | \(\Longleftarrow\) symbol+longleftarrow2 :: LaTeXC l => l+longleftarrow2 = comm0 "Longleftarrow"+-- | \(\Longrightarrow\) symbol+longrightarrow2 :: LaTeXC l => l+longrightarrow2 = comm0 "Longrightarrow"+-- | \(\longleftrightarrow\) symbol+longleftrightarrow :: LaTeXC l => l+longleftrightarrow = comm0 "longleftrightarrow"+-- | \(\Longleftrightarrow\) symbol+longleftrightarrow2 :: LaTeXC l => l+longleftrightarrow2 = comm0 "Longleftrightarrow"+-- | \(\nwarrow\) symbol+nwarrow :: LaTeXC l => l+nwarrow = comm0 "nwarrow"+-- | \(\nearrow\) symbol+nearrow :: LaTeXC l => l+nearrow = comm0 "nearrow"+-- | \(\swarrow\) symbol+swarrow :: LaTeXC l => l+swarrow = comm0 "swarrow"+-- | \(\searrow\) symbol+searrow :: LaTeXC l => l+searrow = comm0 "searrow"+-- | \(\longmapsto\) symbol+longmapsto :: LaTeXC l => l+longmapsto = comm0 "longmapsto"+-- | \(\hookleftarrow\) symbol+hookleftarrow :: LaTeXC l => l+hookleftarrow = comm0 "hookleftarrow"+-- | \(\hookrightarrow\) symbol+hookrightarrow :: LaTeXC l => l+hookrightarrow = comm0 "hookrightarrow"+-- | \(\leftharpoonup\) symbol+leftharpoonup :: LaTeXC l => l+leftharpoonup = comm0 "leftharpoonup"+-- | \(\rightharpoonup\) symbol+rightharpoonup :: LaTeXC l => l+rightharpoonup = comm0 "rightharpoonup"+-- | \(\leftharpoondown\) symbol+leftharpoondown :: LaTeXC l => l+leftharpoondown = comm0 "leftharpoondown"+-- | \(\rightharpoondown\) symbol+rightharpoondown :: LaTeXC l => l+rightharpoondown = comm0 "rightharpoondown"++-------------------------------------+------------ Math Fonts -------------++-- | Default math symbol font.+mathdefault :: LaTeXC l => l -> l+mathdefault = comm1 "mathdefault"++-- | Bold face, like \(\mathbf{Abc}\).+mathbf :: LaTeXC l => l -> l+mathbf = comm1 "mathbf"++-- | Roman, i.e. not-italic math, \(\mathrm{deF}\)+mathrm :: LaTeXC l => l -> l+mathrm = comm1 "mathrm"++-- | Calligraphic math symbols. Only works (reliably) with uppercase letters, like \(\mathcal{LMN}\).+mathcal :: LaTeXC l => l -> l+mathcal = comm1 "mathcal"++-- | Sans-serif math, \(\mathsf{xyz}\).+mathsf :: LaTeXC l => l -> l+mathsf = comm1 "mathsf"++-- | Typewriter font, \(\mathtt{ijk}\).+mathtt :: LaTeXC l => l -> l+mathtt = comm1 "mathtt"++-- | Italic math. Uses the same glyphs as 'mathdefault', but with spacings+--   intended for multi-character symbols rather than juxtaposition of single-character symbols.+mathit :: LaTeXC l => l -> l+mathit = comm1 "mathit"++
Text/LaTeX/Base/Parser.hs view
@@ -246,6 +246,9 @@     '\\' -> lbreak     _    -> commS [x] +isSpecial :: Char -> Bool+isSpecial = (`elem` specials)+ ------------------------------------------------------------------------ -- Line break ------------------------------------------------------------------------@@ -331,15 +334,11 @@ -- Helpers ------------------------------------------------------------------------ -isSpecial :: Char -> Bool-isSpecial = (`elem` specials)- endCmd :: Char -> Bool endCmd c = notLowercaseAlph && notUppercaseAlph  where c' = fromEnum c        notLowercaseAlph = c' < fromEnum 'a' || c' > fromEnum 'z'        notUppercaseAlph = c' < fromEnum 'A' || c' > fromEnum 'Z'-  specials :: String specials = "'(),.-\"!^$&#{}%~|/:;=[]\\` "
Text/LaTeX/Base/Syntax.hs view
@@ -10,7 +10,7 @@  , MathType (..)  , LaTeX (..)  , TeXArg (..)- , (<>)+ , (<>), between    -- * Escaping reserved characters  , protectString  , protectText@@ -117,6 +117,13 @@  instance Semigroup.Semigroup LaTeX where   (<>) = mappend++-- | Calling 'between' @c l1 l2@ puts @c@ between @l1@ and @l2@ and+--   appends them.+--+-- > between c l1 l2 = l1 <> c <> l2+between :: Monoid m => m -> m -> m -> m+between c l1 l2 = l1 <> c <> l2  -- | Method 'fromString' escapes LaTeX reserved characters using 'protectString'. instance IsString LaTeX where
Text/LaTeX/Packages/AMSFonts.hs view
@@ -6,7 +6,7 @@    -- * Fonts  , mathbb, mathfrak    -- * Number sets- , naturals, integers, rationals, reals+ , naturals, integers, rationals, reals, quaternions    -- ** Complex numbers  , complexes, trealPart, timagPart    ) where@@ -25,7 +25,7 @@ --  -- | This font is useful for representing sets like---   R (real numbers) or Z (integers). For instance:+--   \(\mathbb{R}\) (real numbers) or \(\mathbb{Z}\) (integers). For instance: -- -- > "The set of real numbers are represented by " <> mathbb "R" <> "." --@@ -37,29 +37,38 @@ mathbb :: LaTeXC l => l -> l mathbb = comm1 "mathbb" --- | Fraktur font.+-- | Fraktur font, like \(\mathfrak{abcXYZ}\). mathfrak :: LaTeXC l => l -> l mathfrak = comm1 "mathfrak" --- | Number sets-+-- | \(\mathbb{N}\) naturals :: LaTeXC l => l naturals = mathbb "N" +-- | \(\mathbb{Z}\) integers :: LaTeXC l => l integers = mathbb "Z" +-- | \(\mathbb{Q}\) rationals :: LaTeXC l => l rationals = mathbb "Q" +-- | \(\mathbb{R}\) reals :: LaTeXC l => l reals = mathbb "R" +-- | \(\mathbb{C}\) complexes :: LaTeXC l => l complexes = mathbb "C" +-- | \(\mathbb{H}\)+quaternions :: LaTeXC l => l+quaternions = mathbb "H"++-- | \(\Re\) trealPart :: LaTeXC l => l -> l trealPart z = comm0 "Re" <> z +-- | \(\Im\) timagPart :: LaTeXC l => l -> l timagPart z = comm0 "Im" <> z
Text/LaTeX/Packages/AMSMath.hs view
@@ -6,7 +6,13 @@ {-# OPTIONS_GHC -fno-warn-orphans #-} #endif --- | \AMSMath\ support. Also numeric instances ('Num', 'Fractional' and 'Floating') for 'LaTeX' and 'LaTeXT'.+-- | <https://ctan.org/pkg/amsmath?lang=en amsmath> is a de-facto standard+--  package for maths in LaTeX. It is used in most scientific documents+--  and also available by default in MathJax.+-- +-- Note that many of the maths commands this module exports are actually defined+--  in LaTeX itself, and do not really require the @amsmath@ package.+--  See the "Text.LaTeX.Base.Math" module for this minimal command-set. module Text.LaTeX.Packages.AMSMath  ( -- * AMSMath package    amsmath@@ -46,11 +52,14 @@  , tsqrt    -- ** Custom function symbols  , operatorname-   -- ** Summation \/ integration \/ differentiation+   -- ** Summation \/ integration \/ differentiation \/ relations  , tsum , sumFromTo  , prod , prodFromTo+ , coprod, coprodFromTo  , integral , integralFromTo  , partial, totald, partialOf, totaldOf+ , bigcup, bigcupFromTo+ , bigcap, bigcapFromTo     -- ** Operator symbols    -- *** Arithmetic  , (+-), (-+)@@ -143,131 +152,12 @@ amsmath :: PackageName amsmath = "amsmath" --- | Inline mathematical expressions.-math :: LaTeXC l => l -> l-math = liftL $ TeXMath Dollar --- | Displayed mathematical expressions, i.e. in a seperate line / block.-mathDisplay :: LaTeXC l => l -> l-mathDisplay = liftL $ TeXMath Square----------------------------------------------------------------- Numeric instances for LaTeX and LaTeXT ----------------------------------------------------------------------------- LaTeX instances---- | The 'signum' method uses a custom 'operatorname' and will not be automatically translated by babel.---   This instance is defined in the "Text.LaTeX.Packages.AMSMath" module.-instance Num LaTeX where- (+) = between "+"- (-) = between "-"- (*) = (<>)- negate = (TeXEmpty -)- fromInteger = rendertex- abs = autoBrackets "|" "|"- signum = (operatorname "sgn" <>)---- | Division uses the LaTeX 'frac' command.---   This instance is defined in the "Text.LaTeX.Packages.AMSMath" module.-instance Fractional LaTeX where- (/) = frac- fromRational = rendertex . (fromRational :: Rational -> Double)---- | The 'asinh', 'atanh' and 'acosh' methods use custom 'operatorname's and will not be automatically translated by babel.---   This instance is defined in the "Text.LaTeX.Packages.AMSMath" module.-instance Floating LaTeX where- pi = pi_- exp = (texp <>)- sqrt = tsqrt Nothing- log = (tlog <>)- (**) = (^:)- logBase b x = (commS "log" !: b) <> x- sin = (tsin <>)- tan = (ttan <>)- cos = (tcos <>)- asin = (arcsin <>)- atan = (arctan <>)- acos = (arccos <>)- sinh = (tsinh <>)- tanh = (ttanh <>)- cosh = (tcosh <>)- asinh = (operatorname "arsinh" <>)- atanh = (operatorname "artanh" <>)- acosh = (operatorname "arcosh" <>)------------- LaTeXT instances--#if !MIN_VERSION_base(4,5,0)---- | Warning: this instance only exists for the 'Num' instance.---   This instance is defined in the "Text.LaTeX.Packages.AMSMath" module.-instance Eq (LaTeXT m a) where- _ == _ = error "Cannot use \"(==)\" Eq method with a LaTeXT value."---- | Warning: this instance only exists for the 'Num' instance.---   This instance is defined in the "Text.LaTeX.Packages.AMSMath" module.-instance Show (LaTeXT m a) where- show _ = error "Cannot use \"show\" Show method with a LaTeXT value."--#endif---- | Careful! Method 'signum' is undefined. Don't use it!---   This instance is defined in the "Text.LaTeX.Packages.AMSMath" module.-instance (Monad m, a ~ ()) => Num (LaTeXT m a) where- (+) = liftOp (+)- (-) = liftOp (-)- (*) = (>>)- negate = liftFun negate- fromInteger = fromLaTeX . fromInteger- abs = liftFun abs- signum = liftFun signum---- | Division uses the LaTeX 'frac' command.---   This instance is defined in the "Text.LaTeX.Packages.AMSMath" module.-instance (Monad m, a ~ ()) => Fractional (LaTeXT m a) where- (/) = liftOp (/)- fromRational = fromLaTeX . fromRational---- | Undefined methods: 'asinh', 'atanh' and 'acosh'.---   This instance is defined in the "Text.LaTeX.Packages.AMSMath" module.-instance (Monad m, a ~ ()) => Floating (LaTeXT m a) where- pi = pi_- exp = liftFun exp- sqrt = liftFun sqrt- log = liftFun log- (**) = liftOp (**)- logBase = liftOp logBase- sin = liftFun sin- tan = liftFun tan- cos = liftFun cos- asin = liftFun asin- atan = liftFun atan- acos = liftFun acos- sinh = liftFun sinh- tanh = liftFun tanh- cosh = liftFun cosh- asinh = liftFun asinh- atanh = liftFun atanh- acosh = liftFun acosh- -- | A reference to a numbered equation. Use with a 'label' defined in the -- scope of the equation refered to. eqref :: LaTeXC l => l -> l eqref = liftL $ \l -> TeXComm "eqref" [FixArg . TeXRaw $ render l] --- | Prevent an equation from being numbered, where the environment would by default do that.-nonumber :: LaTeXC l => l-nonumber = comm0 "nonumber"---- | A numbered mathematical equation (or otherwise math expression).-equation :: LaTeXC l => l -> l-equation = liftL $ TeXEnv "equation" []---- | The unnumbered variant of 'equation'.-equation_ :: LaTeXC l => l -> l-equation_ = liftL $ TeXEnv "equation*" []- -- | An array of aligned equations. Use '&' to specify the points that should -- horizontally match. Each equation is numbered, unless prevented by 'nonumber'. align :: LaTeXC l => [l] -> l@@ -284,681 +174,31 @@ ------------------------------------- ------- Symbols and utilities ------- --- | Surround a LaTeX math expression by parentheses whose height--- automatically matches the expression's. Translates to @\\left(...\\right)@.-autoParens :: LaTeXC l => l -> l-autoParens x = commS "left(" <> x <> commS "right)" --- | Like 'autoParens', but with square brackets. Equivalent to @'autoBrackets'\"[\"\"]\"@.-autoSquareBrackets :: LaTeXC l => l -> l-autoSquareBrackets x = commS "left[" <> x <> commS "right]"---- | Like 'autoParens', but with curly brackets.-autoBraces :: LaTeXC l => l -> l-autoBraces x = commS "left"<>"{" <> x <> commS "right"<>"}"---- | Like 'autoParens', but with angle brackets 〈 ... 〉. Equivalent to @'autoBrackets' 'langle' 'rangle'@.-autoAngleBrackets :: LaTeXC l => l -> l-autoAngleBrackets x = commS "left"<>langle <> x <> commS "right"<>rangle---- | Use custom LaTeX expressions as auto-scaled delimiters to surround math.--- Suitable delimiters include |...| (absolute value), ‖...‖ (norm,--- 'dblPipe'), ⌊...⌋ (round-off Gauss brackets, 'lfloor' / 'rfloor') etc..-autoBrackets :: LaTeXC l => LaTeX -> LaTeX -> l -> l-autoBrackets lBrack rBrack x-  = commS "left" <> fromLaTeX lBrack <> x <> commS "right" <> fromLaTeX rBrack---- | Left angle bracket, 〈.-langle :: LaTeXC l => l-langle = comm0 "langle"---- | Right angle bracket, 〉.-rangle :: LaTeXC l => l-rangle = comm0 "rangle"---- | Left floor, ⌊.-lfloor :: LaTeXC l => l-lfloor = comm0 "lfloor"---- | Right floor, ⌋.-rfloor :: LaTeXC l => l-rfloor = comm0 "rfloor"---- | Left ceiling, ⌈.-lceil :: LaTeXC l => l-lceil = comm0 "lceil"---- | Right ceiling, ⌉.-rceil :: LaTeXC l => l-rceil = comm0 "rceil"---- | Double vertical line, used as delimiter for norms (‖ ... ‖).-dblPipe :: LaTeXC l => l-dblPipe = comm0 "|"---- | Superscript.-(^:) :: LaTeXC l => l -> l -> l-x ^: y = braces x <> raw "^"  <> braces y---- | Subscript.-(!:) :: LaTeXC l => l -> l -> l-x !: y = braces x <> raw "_" <> braces y---- | Sub- and superscript, both stacked.-(!^) :: LaTeXC l => l -> (l,l) -> l-x !^ (y,z) = braces x <> raw "_" <> braces y <> raw "^" <> braces z------ Function symbols---- | Sine function symbol.-tsin :: LaTeXC l => l-tsin = comm0 "sin"---- | Arcsine function symbol.-arcsin :: LaTeXC l => l-arcsin = comm0 "arcsin"---- | Cosine function symbol.-tcos :: LaTeXC l => l-tcos = comm0 "cos"---- | Arccosine function symbol.-arccos :: LaTeXC l => l-arccos = comm0 "arccos"---- | Tangent function symbol.-ttan :: LaTeXC l => l-ttan = comm0 "tan"---- | Arctangent function symbol.-arctan :: LaTeXC l => l-arctan = comm0 "arctan"---- | Cotangent function symbol.-cot :: LaTeXC l => l-cot = comm0 "cot"---- | Arccotangent function symbol.-arccot :: LaTeXC l => l-arccot = comm0 "arccot"---- | Hyperbolic sine function symbol.-tsinh :: LaTeXC l => l-tsinh = comm0 "sinh"---- | Hyperbolic cosine function symbol.-tcosh :: LaTeXC l => l-tcosh = comm0 "cosh"---- | Hyperbolic tangent function symbol.-ttanh :: LaTeXC l => l-ttanh = comm0 "tanh"---- | Hyperbolic cotangent function symbol.-coth :: LaTeXC l => l-coth = comm0 "coth"---- | Secant function symbol.-sec :: LaTeXC l => l-sec = comm0 "sec"---- | Cosecant function symbol.-csc :: LaTeXC l => l-csc = comm0 "csc"---- | Exponential function symbol.-texp :: LaTeXC l => l-texp = comm0 "exp"---- | Logarithm function symbol.-tlog :: LaTeXC l => l-tlog = comm0 "log"---- | Natural logarithm symbol.-ln :: LaTeXC l => l-ln = comm0 "ln"---- | Root notation. Use @tsqrt (Just n) x@ for the @n@th root of @x@.---   When 'Nothing' is supplied, the function will output a square root.-tsqrt :: LaTeXC l => Maybe l -> l -> l-tsqrt Nothing  = liftL $ \x -> TeXComm "sqrt" [FixArg x]-tsqrt (Just n) = liftL2 (\m x -> TeXComm "sqrt" [OptArg m, FixArg x]) n------ Custom Function Symbols--- | Defines a new function symbol.--- Note that function symbols defined in this way will not be automatically translated by babel.-operatorname :: LaTeXC l => l -> l-operatorname = comm1 "operatorname"------ Sum/Integral symbols---- | Sigma sumation symbol. Use 'sumFromTo' instead if you want to---   specify the limits of the sum.-tsum :: LaTeXC l => l-tsum = comm0 "sum"---- | Sigma sumation symbol with limits.-sumFromTo :: LaTeXC l-          => l -- ^ Expression below the sigma.-          -> l -- ^ Expression above the sigma.-          -> l-sumFromTo x y = commS "sum" <> raw"_" <> braces x <> raw"^" <> braces y---- | Pi product symbol. Use 'prodFromTo' if you want to specify the---   limits of the product.-prod :: LaTeXC l => l-prod = comm0 "prod"---- | Pi product symbol with limits.-prodFromTo :: LaTeXC l-           => l -- ^ Expression below the pi.-           -> l -- ^ Expression above the pi.-           -> l-prodFromTo x y = commS "prod" <> raw"_" <> braces x <> raw"^" <> braces y---- | Integral symbol. Use 'integralFromTo' if you want to specify---   the limits of the integral.-integral :: LaTeXC l => l-integral = comm0 "int"---- | Integral symbol with limits of integration.-integralFromTo :: LaTeXC l-               => l -- ^ Lower limit of integration.-               -> l -- ^ Upper limit of integration.-               -> l-integralFromTo x y = commS "int" <> commS "limits" <> raw"_" <> braces x <> raw"^" <> braces y---- | Partial-differentiation symbol ∂-partial :: LaTeXC l => l-partial = comm0 "partial"---- | Total-differentiation (or integration-variable) symbol d (non-italic!)-totald :: LaTeXC l => l-totald = mathrm "d"---- | Partial-differentiation of variable, e.g. /∂x/.-partialOf :: LaTeXC l => l -> l-partialOf v = comm0 "partial" <> v---- | Total-differentiation of variable, or integration over variable, e.g. d/x/.-totaldOf :: LaTeXC l => l -> l-totaldOf v = mathrm "d" <> v------ Operator symbols---- | Negative form of an operator.-notop :: LaTeXC l =>-         (l -> l -> l)-      ->  l -> l -> l-notop op =- \l1 l2 ->-   (l1 <> commS "not") `op` l2--infixl 6 +-, -+---- | Plus-or-minus operator (±). Also available as symbol 'pm'.-(+-) :: LaTeXC l => l -> l -> l-(+-)  = between $ comm0 "pm"---- | Minus-or-plus operator (∓). Also available as symbol 'mp'.-(-+) :: LaTeXC l => l -> l -> l-(-+)  = between $ comm0 "mp"---- | Centered-dot operator (⋅).-cdot :: LaTeXC l => l -> l -> l-cdot  = between $ comm0 "cdot"---- | \"x-cross\" multiplication operator (×).-times :: LaTeXC l => l -> l -> l-times = between $ comm0 "times"---- | Division operator.-div_ :: LaTeXC l => l -> l -> l-div_  = between $ comm0 "div"---- | Fraction operator.-frac :: LaTeXC l => l -> l -> l-frac = liftL2 $ \p q -> TeXComm "frac" [FixArg p, FixArg q]- -- | Like 'frac' but smaller (uses subscript size for the numerator and denominator. tfrac :: LaTeXC l => l -> l -> l tfrac = liftL2 $ \p q -> TeXComm "tfrac" [FixArg p, FixArg q] -infixl 7 *: --- | Asterisk operator (*).------ > infixl 7 *:-(*:) :: LaTeXC l => l -> l -> l-(*:) = between $ comm0 "ast"---- | Star operator (★).-star :: LaTeXC l => l -> l -> l-star  = between $ comm0 "star"---- | Ring operator (∘).-circ :: LaTeXC l => l -> l -> l-circ  = between $ comm0 "circ"---- | Bullet operator (∙).-bullet :: LaTeXC l => l -> l -> l-bullet  = between $ comm0 "bullet"--infixr 4 =: , /=:---- | Equal.------ > infixr 4 =:-(=:) :: LaTeXC l => l -> l -> l-(=:)  = between "="---- | Not equal (≠).------ > infixr 4 /=:-(/=:) :: LaTeXC l => l -> l -> l-(/=:) = notop (=:)---- | Greater.-(>:) :: LaTeXC l => l -> l -> l-(>:) = between ">"---- | Greater or equal (≥).-(>=:) :: LaTeXC l => l -> l -> l-(>=:) = between $ comm0 "geq"---- | Lesser.-(<:) :: LaTeXC l => l -> l -> l-(<:) = between "<"---- | Lesser or equal (≤).-(<=:) :: LaTeXC l => l -> l -> l-(<=:) = between $ comm0 "leq"---- | Much less (≪).-ll :: LaTeXC l => l -> l -> l-ll = between $ comm0 "ll"---- | Much greater (≫).-gg :: LaTeXC l => l -> l -> l-gg = between $ comm0 "gg"---- | Proportional-to (∝).-propto :: LaTeXC l => l -> l -> l-propto  = between $ comm0 "propto"---- | Perpendicular (⟂). This is the infix version of 'bot'.-perp :: LaTeXC l => l -> l -> l-perp = between $ comm0 "perp"---- | Parallel (‖).-parallel :: LaTeXC l => l -> l -> l-parallel = between $ comm0 "parallel"---- | Identical \/ defined-as \/ equivalent (≡).-equiv :: LaTeXC l => l -> l -> l-equiv  = between $ comm0 "equiv"---- | Element-of (∈).-in_ :: LaTeXC l => l -> l -> l-in_ = between $ comm0 "in"---- | Mirrored element-of (∋).-ni :: LaTeXC l => l -> l -> l-ni  = between $ comm0 "ni"---- | Not element of (∉).-notin :: LaTeXC l => l -> l -> l-notin = between $ comm0 "notin"---- | Subset-of (⊂).-subset :: LaTeXC l => l -> l -> l-subset  = between $ comm0 "subset"---- | Superset-of (⊃).-supset :: LaTeXC l => l -> l -> l-supset  = between $ comm0 "supset"---- | Set intersection (∩).-cap :: LaTeXC l => l -> l -> l-cap  = between $ comm0 "cap"---- | Set union (∪).-cup :: LaTeXC l => l -> l -> l-cup  = between $ comm0 "cup"---- | Set minus (∖).-setminus :: LaTeXC l => l -> l -> l-setminus  = between $ comm0 "setminus"---- | Angle pointing downwards (∨).-vee :: LaTeXC l => l -> l -> l-vee  = between $ comm0 "vee"---- | Angle pointing upwards (∧).-wedge :: LaTeXC l => l -> l -> l-wedge  = between $ comm0 "wedge"---- | Circled plus operator (⊕).-oplus :: LaTeXC l => l -> l -> l-oplus  = between $ comm0 "oplus"---- | Circled minus operator (⊖).-ominus :: LaTeXC l => l -> l -> l-ominus  = between $ comm0 "ominus"---- | Circled multiplication cross (⊗).-otimes :: LaTeXC l => l -> l -> l-otimes  = between $ comm0 "otimes"---- | Circled slash (⊘).-oslash :: LaTeXC l => l -> l -> l-oslash  = between $ comm0 "oslash"---- | Circled dot operator (⊙).-odot :: LaTeXC l => l -> l -> l-odot  = between $ comm0 "odot"----- Accemts-{-- , hat, tilde, bar, vec, widehat, widetilde- , dot, ddot, dddot- , overline, underline- -}---- | Add a hat accent above a symbol. -hat :: LaTeXC l => l -> l-hat = comm1 "hat"---- | Add a tilde accent above a symbol.-tilde :: LaTeXC l => l -> l-tilde = comm1 "tilde"---- | Add a bar accent above a symbol.-bar :: LaTeXC l => l -> l-bar = comm1 "bar"---- | Add a vector arrow accent above a symbol.-vec :: LaTeXC l => l -> l-vec = comm1 "vec"---- | Add a wide hat accent above a symbol.-widehat :: LaTeXC l => l -> l-widehat = comm1 "widehat"---- | Add a wide tilde accent above a symbol.-widetilde :: LaTeXC l => l -> l-widetilde = comm1 "widetilde"---- | Add a dot accent above a symbol, as used to denote a derivative.-dot :: LaTeXC l => l -> l-dot = comm1 "dot"---- | Add a dot accent above a symbol, as used to denote a second derivative.+-- | Add a dot accent above a symbol, as used to denote a second derivative,+--   like \(\ddot{y}\) ddot :: LaTeXC l => l -> l ddot = comm1 "ddot" --- | Add a triple dot accent above a symbol, as used to denote a third derivative.+-- | Add a triple dot accent above a symbol, as used to denote a third derivative,+--   like \(\dddot{z}\) dddot :: LaTeXC l => l -> l dddot = comm1 "dddot" --- | Add a wide line accent above a symbol.-overline :: LaTeXC l => l -> l-overline = comm1 "overline" ----- Greek alphabet --- | /α/ symbol.-alpha :: LaTeXC l => l-alpha = comm0 "alpha" --- | /β/ symbol.-beta :: LaTeXC l => l-beta = comm0 "beta"---- | /γ/ symbol.-gamma :: LaTeXC l => l-gamma = comm0 "gamma"---- | Γ symbol.-gammau :: LaTeXC l => l-gammau = comm0 "Gamma"---- | /δ/ symbol.-delta :: LaTeXC l => l-delta = comm0 "delta"---- | Δ symbol.-deltau :: LaTeXC l => l-deltau = comm0 "Delta"---- | /ϵ/ symbol.-epsilon :: LaTeXC l => l-epsilon = comm0 "epsilon"---- | /ε/ symbol.-varepsilon :: LaTeXC l => l-varepsilon = comm0 "varepsilon"---- | /ζ/ symbol.-zeta :: LaTeXC l => l-zeta = comm0 "zeta"---- | /η/ symbol.-eta :: LaTeXC l => l-eta = comm0 "eta"---- | /θ/ symbol.-theta :: LaTeXC l => l-theta = comm0 "theta"---- | /ϑ/ symbol.-vartheta :: LaTeXC l => l-vartheta = comm0 "vartheta"---- | Θ symbol.-thetau :: LaTeXC l => l-thetau = comm0 "Theta"---- | /ι/ symbol.-iota :: LaTeXC l => l-iota = comm0 "iota"---- | /κ/ symbol.-kappa :: LaTeXC l => l-kappa = comm0 "kappa"---- | /λ/ symbol.-lambda :: LaTeXC l => l-lambda = comm0 "lambda"---- | Λ symbol.-lambdau :: LaTeXC l => l-lambdau = comm0 "Lambda"---- | /μ/ symbol.-mu :: LaTeXC l => l-mu = comm0 "mu"---- | /ν/ symbol.-nu :: LaTeXC l => l-nu = comm0 "nu"---- | /ξ/ symbol.-xi :: LaTeXC l => l-xi = comm0 "xi"---- | Ξ symbol.-xiu :: LaTeXC l => l-xiu = comm0 "Xi"---- | /π/ symbol.-pi_ :: LaTeXC l => l-pi_ = comm0 "pi"---- | /ϖ/ symbol.-varpi :: LaTeXC l => l-varpi = comm0 "varpi"---- | Π symbol.-piu :: LaTeXC l => l-piu = comm0 "Pi"---- | /ρ/ symbol.-rho :: LaTeXC l => l-rho = comm0 "rho"---- | /ϱ/ symbol.-varrho :: LaTeXC l => l-varrho = comm0 "varrho"---- | /σ/ symbol.-sigma :: LaTeXC l => l-sigma = comm0 "sigma"---- | /ς/ symbol.-varsigma :: LaTeXC l => l-varsigma = comm0 "varsigma"---- | Σ symbol.-sigmau :: LaTeXC l => l-sigmau = comm0 "Sigma"---- | /τ/ symbol.-tau :: LaTeXC l => l-tau = comm0 "tau"---- | /υ/ symbol.-upsilon :: LaTeXC l => l-upsilon = comm0 "upsilon"---- | Υ symbol.-upsilonu :: LaTeXC l => l-upsilonu = comm0 "Upsilon"---- | /ϕ/ symbol.-phi :: LaTeXC l => l-phi = comm0 "phi"---- | /φ/ symbol.-varphi :: LaTeXC l => l-varphi = comm0 "varphi"---- | Φ symbol.-phiu :: LaTeXC l => l-phiu = comm0 "Phi"---- | /χ/ symbol.-chi :: LaTeXC l => l-chi = comm0 "chi"---- | /ψ/ symbol.-psi :: LaTeXC l => l-psi = comm0 "psi"---- | Ψ symbol.-psiu :: LaTeXC l => l-psiu = comm0 "Psi"---- | /ω/ symbol.-omega :: LaTeXC l => l-omega = comm0 "omega"---- | Ω symbol.-omegau :: LaTeXC l => l-omegau = comm0 "Omega"------ Other symbols---- | Plus-or-minus symbol (±). Also available as infix '+-'.-pm :: LaTeXC l => l-pm  = comm0 "pm"---- | Minus-or-plus symbol (∓).-mp :: LaTeXC l => l-mp  = comm0 "mp"---- | A right-arrow, →.-to :: LaTeXC l => l-to = comm0 "to"---- | A right-arrow for function definitions, ↦.-mapsto :: LaTeXC l => l-mapsto = comm0 "mapsto"---- | An implication arrow, =⇒.-implies :: LaTeXC l => l-implies = comm0 "implies"---- | /For all/ symbol, ∀.-forall :: LaTeXC l => l-forall = comm0 "forall"---- | /Exists/ symbol, ∃.-exists :: LaTeXC l => l-exists = comm0 "exists"---- | Dagger symbol, †.-dagger :: LaTeXC l => l-dagger = comm0 "dagger"---- | Double dagger symbol, ‡.-ddagger :: LaTeXC l => l-ddagger = comm0 "ddagger"---- | Infinity symbol.-infty :: LaTeXC l => l-infty = comm0 "infty"---- | Dotless letter i. Strictly speaking this is not a part of the AMSMath package, but it is defined here for convenience.-imath :: LaTeXC l => l-imath = comm0 "imath"---- | Dotless letter j. Strictly speaking this is not a part of the AMSMath package, but it is defined here for convenience.-jmath :: LaTeXC l => l-jmath = comm0 "jmath"---- | Bottom symbol ⟂. For the infix version see 'perp'.-bot :: LaTeXC l => l-bot = comm0 "bot"---------------------------------------------------- Math Fonts ----------------- | Default math symbol font.-mathdefault :: LaTeXC l => l -> l-mathdefault = comm1 "mathdefault"---- | Bold face.-mathbf :: LaTeXC l => l -> l-mathbf = comm1 "mathbf"---- | Roman, i.e. not-italic math.-mathrm :: LaTeXC l => l -> l-mathrm = comm1 "mathrm"- -- | Escape from math mode, into a normal-text box. --   Unlike 'mathrm', this won't squash spaces, i.e. you can write actual sentences. --   You can embed 'math' again within such a box. text :: LaTeXC l => l -> l text = comm1 "text" --- | Calligraphic math symbols.-mathcal :: LaTeXC l => l -> l-mathcal = comm1 "mathcal"---- | Sans-serif math.-mathsf :: LaTeXC l => l -> l-mathsf = comm1 "mathsf"---- | Typewriter font.-mathtt :: LaTeXC l => l -> l-mathtt = comm1 "mathtt"---- | Italic math. Uses the same glyphs as 'mathdefault', but with spacings---   intended for multi-character symbols rather than juxtaposition of single-character symbols.-mathit :: LaTeXC l => l -> l-mathit = comm1 "mathit"- ------------------------------------- ------------- Matrices -------------- @@ -978,7 +218,7 @@ --   Optional argument sets the alignment of the cells. Default (providing 'Nothing')  --   is centered. ----- > ( M )+-- \[ \begin{pmatrix} 0 & 1 \\ 2 & 3 \end{pmatrix} \] -- pmatrix :: (Texy a, LaTeXC l) => Maybe HPos -> Matrix a -> l pmatrix = toMatrix "pmatrix"@@ -987,7 +227,7 @@ --   Optional argument sets the alignment of the cells. Default (providing 'Nothing')  --   is centered. ----- > [ M ]+-- \[ \begin{bmatrix} 0 & 1 \\ 2 & 3 \end{bmatrix} \] -- bmatrix :: (Texy a, LaTeXC l) => Maybe HPos -> Matrix a -> l bmatrix = toMatrix "bmatrix"@@ -996,7 +236,7 @@ --   Optional argument sets the alignment of the cells. Default (providing 'Nothing')  --   is centered. ----- > { M }+-- \[ \begin{Bmatrix} 0 & 1 \\ 2 & 3 \end{Bmatrix} \] -- b2matrix :: (Texy a, LaTeXC l) => Maybe HPos -> Matrix a -> l b2matrix = toMatrix "Bmatrix"@@ -1005,7 +245,7 @@ --   Optional argument sets the alignment of the cells. Default (providing 'Nothing')  --   is centered. ----- > | M |+-- \[ \begin{vmatrix} 0 & 1 \\ 2 & 3 \end{vmatrix} \] -- vmatrix :: (Texy a, LaTeXC l) => Maybe HPos -> Matrix a -> l vmatrix = toMatrix "vmatrix"@@ -1014,7 +254,7 @@ --   Optional argument sets the alignment of the cells. Default (providing 'Nothing')  --   is centered. ----- > || M ||+-- \[ \begin{Vmatrix} 0 & 1 \\ 2 & 3 \end{Vmatrix} \] -- v2matrix :: (Texy a, LaTeXC l) => Maybe HPos -> Matrix a -> l v2matrix = toMatrix "Vmatrix"@@ -1053,30 +293,22 @@ ------------------------------------- ----------- Math Spacing------------- --- | \quad space equal to the current font size (= 18 mu)-quad :: LaTeXC l => l-quad = comm0 "quad"---- | \qquad twice of \quad (= 36 mu) -qquad :: LaTeXC l => l-qquad = comm0 "qquad"---- | \, space equal to 3/18 of \quad (= 3 mu)+-- | @\,@ space equal to 3/18 of \quad (= 3 mu). \(a\,b\) thinspace :: LaTeXC l => l thinspace = comm0 "," --- | \: space equal to 4/18 of \quad (= 4 mu)+-- | @\:@ space equal to 4/18 of \quad (= 4 mu). \(a\:b\) medspace :: LaTeXC l => l medspace = comm0 ":" --- | \: space equal to 5/18 of \quad (= 5 mu)+-- | @\:@ space equal to 5/18 of \quad (= 5 mu). \(a\;b\) thickspace :: LaTeXC l => l thickspace = comm0 ";" --- | \! space equal to -3/18 of \quad (= -3 mu)+-- | @\!@ space equal to -3/18 of \quad (= -3 mu). \(a\!b\) negspace :: LaTeXC l => l negspace = comm0 "!" --- | \ (space after backslash) equivalent of space in normal text+-- | @\ @ (space after backslash) equivalent of space in normal text. \(a\ b\) space :: LaTeXC l => l space = comm0 " "
Text/LaTeX/Packages/AMSSymb.hs view
@@ -3,10 +3,35 @@ module Text.LaTeX.Packages.AMSSymb  ( -- * AMSSymb package    amssymb-   -- * Fonts- , checkmark-   ) where +   -- * Arrows+  , vartriangleleft, vartriangleright +  , leftleftarrows, rightrightarrows+  , rightleftarrows, leftrightarrows+  , upuparrows, downdownarrows+  , leftarrowtail, rightarrowtail+  , curvearrowleft, curvearrowright+  , twoheadleftarrow, twoheadrightarrow+  , rightleftharpoons+  , lsh2, rsh2+  , leftarrow3, rightarrow3+  , rightsquigarrow, leftrightsquigarrow+  , looparrowleft, looparrowright+  , circlearrowleft, circlearrowright+  , upharpoonleft, upharpoonright+  , downharpoonleft, downharpoonright+  , nleftarrow, nrightarrow+  , nleftarrow2, nrightarrow2+  , nleftrightarrow, nleftrightarrow2++   -- * Other+  , lll, ggg+  , gtrdot, lessdot+  , square, blacksquare  +  , lozenge, blacklozenge+  , checkmark, nexists+ ) where+ import Text.LaTeX.Base.Class import Text.LaTeX.Base.Types @@ -19,7 +44,162 @@  -- --- | /✔/ symbol.+-- | \(\vartriangleleft\) symbol.+vartriangleleft :: LaTeXC l => l+vartriangleleft = comm0 "vartriangleleft"++-- | \(\vartriangleleft\) symbol.+vartriangleright :: LaTeXC l => l+vartriangleright = comm0 "vartriangleright"++-- | \(\leftleftarrows\) symbol - double left arrows.+leftleftarrows :: LaTeXC l => l+leftleftarrows = comm0 "leftleftarrows"++-- | \(\rightrightarrows\) symbol - double right arrows+rightrightarrows :: LaTeXC l => l+rightrightarrows = comm0 "rightrightarrows"++-- | \(\rightleftarrows\) symbol - right arrow atop a left arrow+rightleftarrows :: LaTeXC l => l+rightleftarrows = comm0 "rightleftarrows"++-- | \(\leftrightarrows\) symbol - left arrow atop a right arrow.+leftrightarrows :: LaTeXC l => l+leftrightarrows = comm0 "leftrightarrows"++-- | \(\upuparrows\) symbol - double upward arrows.+upuparrows :: LaTeXC l => l+upuparrows = comm0 "upuparrows"++-- | \(\downdownarrows\) symbol - double downward arrows.+downdownarrows :: LaTeXC l => l+downdownarrows = comm0 "downdownarrows"++-- | \(\lll\) symbol - triple less than.+lll :: LaTeXC l => l+lll = comm0 "lll"++-- | \(\ggg\) symbol - triple greater than.+ggg :: LaTeXC l => l+ggg = comm0 "ggg"++-- | \(\leftarrowtail\) symbol - leftwards "mapsto"+leftarrowtail :: LaTeXC l => l+leftarrowtail = comm0 "leftarrowtail"++-- | \(\rightarrowtail\) symbol - rightwards "mapsto"+rightarrowtail :: LaTeXC l => l+rightarrowtail = comm0 "rightarrowtail"++-- | \(\curvearrowleft\) symbol - leftwards curved arrow+curvearrowleft :: LaTeXC l => l+curvearrowleft = comm0 "curvearrowleft"++-- | \(\curvearrowright\) symbol - rightwards curved arrow+curvearrowright :: LaTeXC l => l+curvearrowright = comm0 "curvearrowright"++-- | \(\twoheadleftarrow\) symbol - double head left arrow+twoheadleftarrow :: LaTeXC l => l+twoheadleftarrow = comm0 "twoheadleftarrow"++-- | \(\twoheadrightarrow\) symbol - double head right arrow+twoheadrightarrow :: LaTeXC l => l+twoheadrightarrow = comm0 "twoheadleftarrow"++-- | \(\checkmark\) symbol. checkmark :: LaTeXC l => l checkmark = comm0 "checkmark" +-- | \(\lozenge\) symbol - narrow diamond+lozenge :: LaTeXC l => l+lozenge = comm0 "lozenge"++-- | \(\blacklozenge\) symbol - filled narrow diamond+blacklozenge :: LaTeXC l => l+blacklozenge = comm0 "blacklozenge"++-- | \(\nexists\) symbol - does not exist+nexists :: LaTeXC l => l+nexists = comm0 "nexists"++-- | \(\lessdot\) symbol - less than with inner dot+lessdot :: LaTeXC l => l+lessdot = comm0 "lessdot"++-- | \(\gtrdot\) symbol - greater than with inner dot+gtrdot :: LaTeXC l => l+gtrdot = comm0 "gtrdot"++-- | \(\square\) symbol - square, often used to denote the end of a proof+square :: LaTeXC l => l+square = comm0 "square"++-- | \(\blacksquare\) symbol - a filled square+blacksquare :: LaTeXC l => l+blacksquare = comm0 "blacksquare"++-- | \(\rightleftharpoons\) symbol+rightleftharpoons :: LaTeXC l => l+rightleftharpoons = comm0 "rightleftharpoons"+-- | \(\Lsh\) symbol+lsh2 :: LaTeXC l => l+lsh2 = comm0 "Lsh"+-- | \(\Rsh\) symbol+rsh2 :: LaTeXC l => l+rsh2 = comm0 "Rsh"+-- | \(\Lleftarrow\) symbol+leftarrow3 :: LaTeXC l => l+leftarrow3 = comm0 "Lleftarrow"+-- | \(\Rrightarrow\) symbol+rightarrow3 :: LaTeXC l => l+rightarrow3 = comm0 "Rrightarrow"+-- | \(\rightsquigarrow\) symbol+rightsquigarrow :: LaTeXC l => l+rightsquigarrow = comm0 "rightsquigarrow"+-- | \(\leftrightsquigarrow\) symbol+leftrightsquigarrow :: LaTeXC l => l+leftrightsquigarrow = comm0 "leftrightsquigarrow"+-- | \(\looparrowleft\) symbol+looparrowleft :: LaTeXC l => l+looparrowleft = comm0 "looparrowleft"+-- | \(\looparrowright\) symbol+looparrowright :: LaTeXC l => l+looparrowright = comm0 "looparrowright"+-- | \(\circlearrowleft\) symbol+circlearrowleft :: LaTeXC l => l+circlearrowleft = comm0 "circlearrowleft"+-- | \(\circlearrowright\) symbol+circlearrowright :: LaTeXC l => l+circlearrowright = comm0 "circlearrowright"+-- | \(\upharpoonleft\) symbol+upharpoonleft :: LaTeXC l => l+upharpoonleft = comm0 "upharpoonleft"+-- | \(\upharpoonright\) symbol+upharpoonright :: LaTeXC l => l+upharpoonright = comm0 "upharpoonright"+-- | \(\downharpoonleft\) symbol+downharpoonleft :: LaTeXC l => l+downharpoonleft = comm0 "downharpoonleft"+-- | \(\downharpoonright\) symbol+downharpoonright :: LaTeXC l => l+downharpoonright = comm0 "downharpoonright"+-- | \(\nleftarrow\) symbol+nleftarrow :: LaTeXC l => l+nleftarrow = comm0 "nleftarrow"+-- | \(\nrightarrow\) symbol+nrightarrow :: LaTeXC l => l+nrightarrow = comm0 "nrightarrow"+-- | \(\nLeftarrow\) symbol+nleftarrow2 :: LaTeXC l => l+nleftarrow2 = comm0 "nLeftarrow"+-- | \(\nRightarrow\) symbol+nrightarrow2 :: LaTeXC l => l+nrightarrow2 = comm0 "nRightarrow"+-- | \(\nleftrightarrow\) symbol+nleftrightarrow :: LaTeXC l => l+nleftrightarrow = comm0 "nleftrightarrow"+-- | \(\nLeftrightarrow\) symbol+nleftrightarrow2 :: LaTeXC l => l+nleftrightarrow2 = comm0 "nLeftrightarrow"
Text/LaTeX/Packages/Babel.hs view
@@ -77,7 +77,7 @@ --  If you are using more than one language, consider to use --  'uselanguageconf'. uselanguage :: LaTeXC l => Language -> l-uselanguage ln = usepackage [texy ln] babel+uselanguage lang = usepackage [texy lang] babel  -- | Language configuration. You may use one with 'uselanguageconf'. data LangConf = LangConf { mainLang :: Language , otherLangs :: [Language] }@@ -99,14 +99,15 @@  -- | Switch to a given 'Language'. selectlanguage :: LaTeXC l => Language -> l-selectlanguage ln = fromLaTeX $ TeXComm "selectlanguage" [FixArg $ texy ln]+selectlanguage lang = fromLaTeX $ TeXComm "selectlanguage" [FixArg $ texy lang]  -- | Use a 'Language' locally. otherlanguage :: LaTeXC l => Language -> l -> l-otherlanguage ln = liftL $ TeXEnv "otherlanguage" [FixArg $ texy ln]+otherlanguage lang = liftL $ TeXEnv "otherlanguage" [FixArg $ texy lang]  -- | The function 'foreignlanguage' takes two arguments; the second argument is a --   phrase to be typeset according to the rules of the language named in its first --   argument. foreignlanguage :: LaTeXC l => Language -> l -> l-foreignlanguage ln = liftL $ \l -> TeXComm "foreignlanguage" [OptArg $ texy ln, FixArg l]+foreignlanguage lang = liftL+          $ \l -> TeXComm "foreignlanguage" [OptArg $ texy lang, FixArg l]
Text/LaTeX/Packages/Hyperref.hs view
@@ -31,7 +31,6 @@  import Text.LaTeX.Base.Syntax import Text.LaTeX.Base.Class-import Text.LaTeX.Base.Commands import Text.LaTeX.Base.Render import Text.LaTeX.Base.Types import Data.Text (pack)
Text/LaTeX/Packages/QRCode.hs view
@@ -14,7 +14,6 @@  , final    ) where -import Text.LaTeX.Base (raw) import Text.LaTeX.Base.Syntax import Text.LaTeX.Base.Class import Text.LaTeX.Base.Render