HaTeX-3.23.0.2: Text/LaTeX/Packages/AMSFonts.hs
{-# LANGUAGE CPP #-}
-- | Module for the package @amsfonts@.
module Text.LaTeX.Packages.AMSFonts
( -- * AMSFonts package
amsfonts
-- * Fonts
, mathbb, mathfrak
-- * Number sets
, naturals, integers, rationals, reals, quaternions
-- ** Complex numbers
, complexes, trealPart, timagPart
) where
import Text.LaTeX.Base.Class
import Text.LaTeX.Base.Types
#if !MIN_VERSION_base(4,11,0)
import Data.Monoid
#endif
-- | AMSFonts package.
-- Example:
--
-- > usepackage [] amsfonts
amsfonts :: ClassName
amsfonts = "amsfonts"
--
-- | This font is useful for representing sets like
-- \(\mathbb{R}\) (real numbers) or \(\mathbb{Z}\) (integers). For instance:
--
-- > "The set of real numbers are represented by " <> mathbb "R" <> "."
--
-- Or in monadic form:
--
-- > "The set of real numbers are represented by " >> mathbb "R" >> "."
--
-- /Note the use of overloaded strings./
mathbb :: LaTeXC l => l -> l
mathbb = comm1 "mathbb"
-- | Fraktur font, like \(\mathfrak{abcXYZ}\).
mathfrak :: LaTeXC l => l -> l
mathfrak = comm1 "mathfrak"
-- | \(\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