{-# LANGUAGE OverloadedStrings #-}
module Text.LaTeX.Base.Commands
(
raw , between , comment , (%:)
, title
, author
, date
, institute
, thanks
, documentclass
, usepackage
, linespread
, article
, proc
, report
, minimal
, book
, slides
, ClassOption (..)
, customopt
, draft
, titlepage
, notitlepage
, onecolumn
, twocolumn
, oneside
, twoside
, landscape
, openright
, openany
, fleqn
, leqno
, PaperType (..)
, a0paper
, a1paper
, a2paper
, a3paper
, a4paper
, a5paper
, a6paper
, b0paper
, b1paper
, b2paper
, b3paper
, b4paper
, b5paper
, b6paper
, letterpaper
, executivepaper
, legalpaper
, pagestyle
, thispagestyle
, plain
, headings
, empty
, myheadings
, markboth
, markright
, document
, maketitle
, tableofcontents
, abstract
, appendix
, part
, chapter
, section
, section'
, subsection
, subsection'
, subsubsection
, subsubsection'
, paragraph
, subparagraph
, today
, thePage
, tex
, latex
, laTeX2
, laTeXe
, ldots
, vdots
, ddots
, hatex
, hatex3
, version
, hatex_version
, par
, newline
, lnbk
, lnbk_
, lnbkspc
, lnbkspc_
, newpage
, cleardoublepage
, clearpage
, linebreak
, nolinebreak
, pagebreak
, nopagebreak
, hspace
, hspace_
, vspace
, vspace_
, addvspace
, quad, qquad
, hfill
, vfill
, dotfill
, hrulefill
, stretch
, smallskip
, medskip
, bigskip
, baselineskip
, indent
, noindent
, textwidth
, textheight
, linewidth
, verbatim , verb
, textbf
, textit
, texttt
, textrm
, textsf
, textmd
, textup
, textsl
, textsc
, textnormal
, underline
, emph
, tiny
, scriptsize
, footnotesize
, small
, normalsize
, large
, large2
, large3
, huge
, huge2
, enumerate
, itemize
, item
, flushleft
, flushright
, center
, quote
, verse
, cite
, description
, minipage
, figure
, table
, pagenumbering
, arabic
, roman
, roman_
, alph
, alph_
, mbox
, fbox
, parbox
, framebox
, makebox
, raisebox
, rule
, caption
, label
, ref
, pageref
, tabular
, tabularnewline
, tabularnewlineSpc
, arraybackslash
, array
, (&)
, hline
, cline
, multicolumn
, matrixTabular
, centering
, raggedleft
, raggedright
, footnote
, footnotemark
, footnotetext
, stepcounter
, addtocounter
, protect
, hyphenation
, hyp
, qts
, module Text.LaTeX.Base.Math
, input
, include
) where
import Data.String
import Data.Maybe (isNothing, catMaybes)
import Data.Text (toLower)
import qualified Data.Text as T
import Text.LaTeX.Base.Syntax
import Text.LaTeX.Base.Class
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
comment :: LaTeXC l => Text -> l
= forall l. LaTeXC l => LaTeX -> l
fromLaTeX forall b c a. (b -> c) -> (a -> b) -> a -> c
. Text -> LaTeX
TeXComment
(%:) :: LaTeXC l => l -> Text -> l
%: :: forall l. LaTeXC l => l -> Text -> l
(%:) l
l = (l
l forall a. Semigroup a => a -> a -> a
<>) forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall l. LaTeXC l => Text -> l
comment
maketitle :: LaTeXC l => l
maketitle :: forall l. LaTeXC l => l
maketitle = forall l. LaTeXC l => String -> l
comm0 String
"maketitle"
title :: LaTeXC l => l -> l
title :: forall l. LaTeXC l => l -> l
title = forall l. LaTeXC l => String -> l -> l
comm1 String
"title"
date :: LaTeXC l => l -> l
date :: forall l. LaTeXC l => l -> l
date = forall l. LaTeXC l => String -> l -> l
comm1 String
"date"
author :: LaTeXC l => l -> l
author :: forall l. LaTeXC l => l -> l
author = forall l. LaTeXC l => String -> l -> l
comm1 String
"author"
institute :: LaTeXC l => Maybe l -> l -> l
institute :: forall l. LaTeXC l => Maybe l -> l -> l
institute Maybe l
Nothing = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
l -> String -> [TeXArg] -> LaTeX
TeXComm String
"institute" [LaTeX -> TeXArg
FixArg LaTeX
l]
institute (Just l
s) = forall l. LaTeXC l => (LaTeX -> LaTeX -> LaTeX) -> l -> l -> l
liftL2 (\LaTeX
l1 LaTeX
l2 -> String -> [TeXArg] -> LaTeX
TeXComm String
"institute" [LaTeX -> TeXArg
OptArg LaTeX
l1,LaTeX -> TeXArg
FixArg LaTeX
l2]) l
s
thanks :: LaTeXC l => l -> l
thanks :: forall l. LaTeXC l => l -> l
thanks = forall l. LaTeXC l => String -> l -> l
comm1 String
"thanks"
usepackage :: LaTeXC l => [l] -> PackageName -> l
usepackage :: forall l. LaTeXC l => [l] -> String -> l
usepackage [l]
ls String
pn = forall l. LaTeXC l => ([LaTeX] -> LaTeX) -> [l] -> l
liftListL (\[LaTeX]
ls_ -> String -> [TeXArg] -> LaTeX
TeXComm String
"usepackage" [[LaTeX] -> TeXArg
MOptArg [LaTeX]
ls_ ,LaTeX -> TeXArg
FixArg forall a b. (a -> b) -> a -> b
$ forall a. IsString a => String -> a
fromString String
pn]) [l]
ls
latex :: LaTeXC l => l
latex :: forall l. LaTeXC l => l
latex = forall l. LaTeXC l => String -> l
comm0 String
"LaTeX"
par :: LaTeXC l => l
par :: forall l. LaTeXC l => l
par = forall l. LaTeXC l => String -> l
comm0 String
"par"
newline :: LaTeXC l => l
newline :: forall l. LaTeXC l => l
newline = forall l. LaTeXC l => String -> l
comm0 String
"newline"
part :: LaTeXC l => l -> l
part :: forall l. LaTeXC l => l -> l
part = forall l. LaTeXC l => String -> l -> l
comm1 String
"part"
chapter :: LaTeXC l => l -> l
chapter :: forall l. LaTeXC l => l -> l
chapter = forall l. LaTeXC l => String -> l -> l
comm1 String
"chapter"
section :: LaTeXC l => l -> l
section :: forall l. LaTeXC l => l -> l
section = forall l. LaTeXC l => String -> l -> l
comm1 String
"section"
section' :: LaTeXC l => l -> l
section' :: forall l. LaTeXC l => l -> l
section' = forall l. LaTeXC l => String -> l -> l
comm1 String
"section*"
subsection :: LaTeXC l => l -> l
subsection :: forall l. LaTeXC l => l -> l
subsection = forall l. LaTeXC l => String -> l -> l
comm1 String
"subsection"
subsection' :: LaTeXC l => l -> l
subsection' :: forall l. LaTeXC l => l -> l
subsection' = forall l. LaTeXC l => String -> l -> l
comm1 String
"subsection*"
subsubsection :: LaTeXC l => l -> l
subsubsection :: forall l. LaTeXC l => l -> l
subsubsection = forall l. LaTeXC l => String -> l -> l
comm1 String
"subsubsection"
subsubsection' :: LaTeXC l => l -> l
subsubsection' :: forall l. LaTeXC l => l -> l
subsubsection' = forall l. LaTeXC l => String -> l -> l
comm1 String
"subsubsection*"
paragraph :: LaTeXC l => l -> l
paragraph :: forall l. LaTeXC l => l -> l
paragraph = forall l. LaTeXC l => String -> l -> l
comm1 String
"paragraph"
subparagraph :: LaTeXC l => l -> l
subparagraph :: forall l. LaTeXC l => l -> l
subparagraph = forall l. LaTeXC l => String -> l -> l
comm1 String
"subparagraph"
tableofcontents :: LaTeXC l => l
tableofcontents :: forall l. LaTeXC l => l
tableofcontents = forall l. LaTeXC l => String -> l
comm0 String
"tableofcontents"
appendix :: LaTeXC l => l
appendix :: forall l. LaTeXC l => l
appendix = forall l. LaTeXC l => String -> l
comm0 String
"appendix"
item :: LaTeXC l => Maybe l -> l
item :: forall l. LaTeXC l => Maybe l -> l
item Maybe l
Nothing = forall l. LaTeXC l => String -> l
commS String
"item "
item (Just l
opt) = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL (\LaTeX
opt_ -> String -> [TeXArg] -> LaTeX
TeXComm String
"item" [LaTeX -> TeXArg
OptArg LaTeX
opt_]) l
opt
enumerate :: LaTeXC l => l -> l
enumerate :: forall l. LaTeXC l => l -> l
enumerate = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ String -> [TeXArg] -> LaTeX -> LaTeX
TeXEnv String
"enumerate" []
itemize :: LaTeXC l => l -> l
itemize :: forall l. LaTeXC l => l -> l
itemize = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ String -> [TeXArg] -> LaTeX -> LaTeX
TeXEnv String
"itemize" []
description :: LaTeXC l => l -> l
description :: forall l. LaTeXC l => l -> l
description = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ String -> [TeXArg] -> LaTeX -> LaTeX
TeXEnv String
"description" []
flushleft :: LaTeXC l => l -> l
flushleft :: forall l. LaTeXC l => l -> l
flushleft = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ String -> [TeXArg] -> LaTeX -> LaTeX
TeXEnv String
"flushleft" []
flushright :: LaTeXC l => l -> l
flushright :: forall l. LaTeXC l => l -> l
flushright = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ String -> [TeXArg] -> LaTeX -> LaTeX
TeXEnv String
"flushright" []
center :: LaTeXC l => l -> l
center :: forall l. LaTeXC l => l -> l
center = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ String -> [TeXArg] -> LaTeX -> LaTeX
TeXEnv String
"center" []
quote :: LaTeXC l => l -> l
quote :: forall l. LaTeXC l => l -> l
quote = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ String -> [TeXArg] -> LaTeX -> LaTeX
TeXEnv String
"quote" []
verse :: LaTeXC l => l -> l
verse :: forall l. LaTeXC l => l -> l
verse = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ String -> [TeXArg] -> LaTeX -> LaTeX
TeXEnv String
"verse" []
minipage :: LaTeXC l =>
Maybe Pos
-> l
-> l
-> l
minipage :: forall l. LaTeXC l => Maybe Pos -> l -> l -> l
minipage Maybe Pos
Nothing = forall l. LaTeXC l => (LaTeX -> LaTeX -> LaTeX) -> l -> l -> l
liftL2 forall a b. (a -> b) -> a -> b
$ \LaTeX
ts -> String -> [TeXArg] -> LaTeX -> LaTeX
TeXEnv String
"minipage" [ LaTeX -> TeXArg
FixArg LaTeX
ts ]
minipage (Just Pos
p) = forall l. LaTeXC l => (LaTeX -> LaTeX -> LaTeX) -> l -> l -> l
liftL2 forall a b. (a -> b) -> a -> b
$ \LaTeX
ts -> String -> [TeXArg] -> LaTeX -> LaTeX
TeXEnv String
"minipage" [ LaTeX -> TeXArg
OptArg forall a b. (a -> b) -> a -> b
$ forall a l. (Render a, LaTeXC l) => a -> l
rendertex Pos
p , LaTeX -> TeXArg
FixArg LaTeX
ts ]
figure :: LaTeXC l =>
Maybe Pos
-> l
-> l
figure :: forall l. LaTeXC l => Maybe Pos -> l -> l
figure Maybe Pos
Nothing = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ String -> [TeXArg] -> LaTeX -> LaTeX
TeXEnv String
"figure" []
figure (Just Pos
p) = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ String -> [TeXArg] -> LaTeX -> LaTeX
TeXEnv String
"figure" [ LaTeX -> TeXArg
OptArg forall a b. (a -> b) -> a -> b
$ Text -> LaTeX
TeXRaw forall a b. (a -> b) -> a -> b
$ forall a. Render a => a -> Text
render Pos
p ]
table :: LaTeXC l =>
[Pos]
-> l
-> l
table :: forall l. LaTeXC l => [Pos] -> l -> l
table [] = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ String -> [TeXArg] -> LaTeX -> LaTeX
TeXEnv String
"table" []
table [Pos]
ps = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ String -> [TeXArg] -> LaTeX -> LaTeX
TeXEnv String
"table" [ LaTeX -> TeXArg
OptArg forall a b. (a -> b) -> a -> b
$ Text -> LaTeX
TeXRaw forall a b. (a -> b) -> a -> b
$ forall a. Render a => [a] -> Text
renderAppend [Pos]
ps ]
abstract :: LaTeXC l => l -> l
abstract :: forall l. LaTeXC l => l -> l
abstract = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ String -> [TeXArg] -> LaTeX -> LaTeX
TeXEnv String
"abstract" []
cite :: LaTeXC l => l -> l
cite :: forall l. LaTeXC l => l -> l
cite = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
l -> String -> [TeXArg] -> LaTeX
TeXComm String
"cite" [LaTeX -> TeXArg
FixArg LaTeX
l]
data ClassOption =
Draft
| TitlePage
| NoTitlePage
| OneColumn
| TwoColumn
| OneSide
| TwoSide
| Landscape
| OpenRight
| OpenAny
| Fleqn
| Leqno
| FontSize Measure
| Paper PaperType
| CustomOption String
deriving Int -> ClassOption -> ShowS
[ClassOption] -> ShowS
ClassOption -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ClassOption] -> ShowS
$cshowList :: [ClassOption] -> ShowS
show :: ClassOption -> String
$cshow :: ClassOption -> String
showsPrec :: Int -> ClassOption -> ShowS
$cshowsPrec :: Int -> ClassOption -> ShowS
Show
instance Render ClassOption where
render :: ClassOption -> Text
render (FontSize Measure
m) = forall a. Render a => a -> Text
render Measure
m
render (Paper PaperType
pt) = Text -> Text
toLower (forall a. Render a => a -> Text
render PaperType
pt) forall a. Semigroup a => a -> a -> a
<> Text
"paper"
render (CustomOption String
str) = forall a. IsString a => String -> a
fromString String
str
render ClassOption
co = Text -> Text
toLower forall a b. (a -> b) -> a -> b
$ forall a. IsString a => String -> a
fromString forall a b. (a -> b) -> a -> b
$ forall a. Show a => a -> String
show ClassOption
co
customopt :: String -> ClassOption
customopt :: String -> ClassOption
customopt = String -> ClassOption
CustomOption
instance IsString ClassOption where
fromString :: String -> ClassOption
fromString = String -> ClassOption
customopt
data PaperType =
A0 | A1 | A2 | A3 | A4 | A5 | A6
| B0 | B1 | B2 | B3 | B4 | B5 | B6
| Letter | Executive | Legal
deriving Int -> PaperType -> ShowS
[PaperType] -> ShowS
PaperType -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PaperType] -> ShowS
$cshowList :: [PaperType] -> ShowS
show :: PaperType -> String
$cshow :: PaperType -> String
showsPrec :: Int -> PaperType -> ShowS
$cshowsPrec :: Int -> PaperType -> ShowS
Show
instance Render PaperType where
documentclass :: LaTeXC l =>
[ClassOption]
-> ClassName
-> l
documentclass :: forall l. LaTeXC l => [ClassOption] -> String -> l
documentclass [ClassOption]
opts String
cn = forall l. LaTeXC l => LaTeX -> l
fromLaTeX forall a b. (a -> b) -> a -> b
$ String -> [TeXArg] -> LaTeX
TeXComm String
"documentclass" [[LaTeX] -> TeXArg
MOptArg forall a b. (a -> b) -> a -> b
$ forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap forall a l. (Render a, LaTeXC l) => a -> l
rendertex [ClassOption]
opts , LaTeX -> TeXArg
FixArg forall a b. (a -> b) -> a -> b
$ forall a. IsString a => String -> a
fromString String
cn]
article :: ClassName
article :: String
article = String
"article"
proc :: ClassName
proc :: String
proc = String
"proc"
minimal :: ClassName
minimal :: String
minimal = String
"minimal"
report :: ClassName
report :: String
report = String
"report"
book :: ClassName
book :: String
book = String
"book"
slides :: ClassName
slides :: String
slides = String
"slides"
a0paper :: ClassOption
a0paper :: ClassOption
a0paper = PaperType -> ClassOption
Paper PaperType
A0
a1paper :: ClassOption
a1paper :: ClassOption
a1paper = PaperType -> ClassOption
Paper PaperType
A1
a2paper :: ClassOption
a2paper :: ClassOption
a2paper = PaperType -> ClassOption
Paper PaperType
A2
a3paper :: ClassOption
a3paper :: ClassOption
a3paper = PaperType -> ClassOption
Paper PaperType
A3
a4paper :: ClassOption
a4paper :: ClassOption
a4paper = PaperType -> ClassOption
Paper PaperType
A4
a5paper :: ClassOption
a5paper :: ClassOption
a5paper = PaperType -> ClassOption
Paper PaperType
A5
a6paper :: ClassOption
a6paper :: ClassOption
a6paper = PaperType -> ClassOption
Paper PaperType
A6
b0paper :: ClassOption
b0paper :: ClassOption
b0paper = PaperType -> ClassOption
Paper PaperType
B0
b1paper :: ClassOption
b1paper :: ClassOption
b1paper = PaperType -> ClassOption
Paper PaperType
B1
b2paper :: ClassOption
b2paper :: ClassOption
b2paper = PaperType -> ClassOption
Paper PaperType
B2
b3paper :: ClassOption
b3paper :: ClassOption
b3paper = PaperType -> ClassOption
Paper PaperType
B3
b4paper :: ClassOption
b4paper :: ClassOption
b4paper = PaperType -> ClassOption
Paper PaperType
B4
b5paper :: ClassOption
b5paper :: ClassOption
b5paper = PaperType -> ClassOption
Paper PaperType
B5
b6paper :: ClassOption
b6paper :: ClassOption
b6paper = PaperType -> ClassOption
Paper PaperType
B6
letterpaper :: ClassOption
letterpaper :: ClassOption
letterpaper = PaperType -> ClassOption
Paper PaperType
Letter
executivepaper :: ClassOption
executivepaper :: ClassOption
executivepaper = PaperType -> ClassOption
Paper PaperType
Executive
legalpaper :: ClassOption
legalpaper :: ClassOption
legalpaper = PaperType -> ClassOption
Paper PaperType
Legal
draft :: ClassOption
draft :: ClassOption
draft = ClassOption
Draft
fleqn :: ClassOption
fleqn :: ClassOption
fleqn = ClassOption
Fleqn
leqno :: ClassOption
leqno :: ClassOption
leqno = ClassOption
Leqno
titlepage :: ClassOption
titlepage :: ClassOption
titlepage = ClassOption
TitlePage
notitlepage :: ClassOption
notitlepage :: ClassOption
notitlepage = ClassOption
NoTitlePage
onecolumn :: ClassOption
onecolumn :: ClassOption
onecolumn = ClassOption
OneColumn
twocolumn :: ClassOption
twocolumn :: ClassOption
twocolumn = ClassOption
TwoColumn
oneside :: ClassOption
oneside :: ClassOption
oneside = ClassOption
OneSide
twoside :: ClassOption
twoside :: ClassOption
twoside = ClassOption
TwoSide
landscape :: ClassOption
landscape :: ClassOption
landscape = ClassOption
Landscape
openright :: ClassOption
openright :: ClassOption
openright = ClassOption
OpenRight
openany :: ClassOption
openany :: ClassOption
openany = ClassOption
OpenAny
document :: LaTeXC l => l -> l
document :: forall l. LaTeXC l => l -> l
document = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ String -> [TeXArg] -> LaTeX -> LaTeX
TeXEnv String
"document" []
pagenumbering :: LaTeXC l => l -> l
pagenumbering :: forall l. LaTeXC l => l -> l
pagenumbering = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
l -> String -> [TeXArg] -> LaTeX
TeXComm String
"pagenumbering" [LaTeX -> TeXArg
FixArg LaTeX
l]
arabic :: LaTeXC l => l
arabic :: forall l. LaTeXC l => l
arabic = forall l. LaTeXC l => LaTeX -> l
fromLaTeX LaTeX
"arabic"
roman :: LaTeXC l => l
roman :: forall l. LaTeXC l => l
roman = forall l. LaTeXC l => LaTeX -> l
fromLaTeX LaTeX
"roman"
roman_ :: LaTeXC l => l
roman_ :: forall l. LaTeXC l => l
roman_ = forall l. LaTeXC l => LaTeX -> l
fromLaTeX LaTeX
"Roman"
alph :: LaTeXC l => l
alph :: forall l. LaTeXC l => l
alph = forall l. LaTeXC l => LaTeX -> l
fromLaTeX LaTeX
"alph"
alph_ :: LaTeXC l => l
alph_ :: forall l. LaTeXC l => l
alph_ = forall l. LaTeXC l => LaTeX -> l
fromLaTeX LaTeX
"Alph"
pagestyle :: LaTeXC l => PageStyle -> l
pagestyle :: forall l. LaTeXC l => String -> l
pagestyle String
ps = forall l. LaTeXC l => LaTeX -> l
fromLaTeX forall a b. (a -> b) -> a -> b
$ String -> [TeXArg] -> LaTeX
TeXComm String
"pagestyle" [LaTeX -> TeXArg
FixArg forall a b. (a -> b) -> a -> b
$ forall a. IsString a => String -> a
fromString String
ps]
thispagestyle :: LaTeXC l => PageStyle -> l
thispagestyle :: forall l. LaTeXC l => String -> l
thispagestyle String
ps = forall l. LaTeXC l => LaTeX -> l
fromLaTeX forall a b. (a -> b) -> a -> b
$ String -> [TeXArg] -> LaTeX
TeXComm String
"thispagestyle" [LaTeX -> TeXArg
FixArg forall a b. (a -> b) -> a -> b
$ forall a. IsString a => String -> a
fromString String
ps]
plain :: PageStyle
plain :: String
plain = String
"plain"
headings :: PageStyle
headings :: String
headings = String
"headings"
empty :: PageStyle
empty :: String
empty = String
"empty"
myheadings :: PageStyle
myheadings :: String
myheadings = String
"myheadings"
markboth :: LaTeXC l => l -> l -> l
markboth :: forall l. LaTeXC l => l -> l -> l
markboth = forall l. LaTeXC l => (LaTeX -> LaTeX -> LaTeX) -> l -> l -> l
liftL2 forall a b. (a -> b) -> a -> b
$ \LaTeX
l1 LaTeX
l2 -> String -> [TeXArg] -> LaTeX
TeXComm String
"markboth" [LaTeX -> TeXArg
FixArg LaTeX
l1 , LaTeX -> TeXArg
FixArg LaTeX
l2]
markright :: LaTeXC l => l -> l
markright :: forall l. LaTeXC l => l -> l
markright = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
l -> String -> [TeXArg] -> LaTeX
TeXComm String
"markright" [LaTeX -> TeXArg
FixArg LaTeX
l]
lnbk :: LaTeXC l => l
lnbk :: forall l. LaTeXC l => l
lnbk = forall l. LaTeXC l => LaTeX -> l
fromLaTeX forall a b. (a -> b) -> a -> b
$ Maybe Measure -> Bool -> LaTeX
TeXLineBreak forall a. Maybe a
Nothing Bool
False
lnbk_ :: LaTeXC l => l
lnbk_ :: forall l. LaTeXC l => l
lnbk_ = forall l. LaTeXC l => LaTeX -> l
fromLaTeX forall a b. (a -> b) -> a -> b
$ Maybe Measure -> Bool -> LaTeX
TeXLineBreak forall a. Maybe a
Nothing Bool
True
lnbkspc :: LaTeXC l => Measure -> l
lnbkspc :: forall l. LaTeXC l => Measure -> l
lnbkspc Measure
extraSpace = forall l. LaTeXC l => LaTeX -> l
fromLaTeX forall a b. (a -> b) -> a -> b
$ Maybe Measure -> Bool -> LaTeX
TeXLineBreak (forall a. a -> Maybe a
Just Measure
extraSpace) Bool
False
lnbkspc_ :: LaTeXC l => Measure -> l
lnbkspc_ :: forall l. LaTeXC l => Measure -> l
lnbkspc_ Measure
extraSpace = forall l. LaTeXC l => LaTeX -> l
fromLaTeX forall a b. (a -> b) -> a -> b
$ Maybe Measure -> Bool -> LaTeX
TeXLineBreak (forall a. a -> Maybe a
Just Measure
extraSpace) Bool
True
hyp :: LaTeXC l => l
hyp :: forall l. LaTeXC l => l
hyp = forall l. LaTeXC l => LaTeX -> l
fromLaTeX forall a b. (a -> b) -> a -> b
$ String -> LaTeX
TeXCommS String
"-"
cleardoublepage :: LaTeXC l => l
cleardoublepage :: forall l. LaTeXC l => l
cleardoublepage = forall l. LaTeXC l => String -> l
comm0 String
"cleardoublepage"
clearpage :: LaTeXC l => l
clearpage :: forall l. LaTeXC l => l
clearpage = forall l. LaTeXC l => String -> l
comm0 String
"clearpage"
newpage :: LaTeXC l => l
newpage :: forall l. LaTeXC l => l
newpage = forall l. LaTeXC l => String -> l
comm0 String
"newpage"
linebreak :: LaTeXC l => l -> l
linebreak :: forall l. LaTeXC l => l -> l
linebreak = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
l -> String -> [TeXArg] -> LaTeX
TeXComm String
"linebreak" [LaTeX -> TeXArg
OptArg LaTeX
l]
nolinebreak :: LaTeXC l => l -> l
nolinebreak :: forall l. LaTeXC l => l -> l
nolinebreak = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
l -> String -> [TeXArg] -> LaTeX
TeXComm String
"nolinebreak" [LaTeX -> TeXArg
OptArg LaTeX
l]
pagebreak :: LaTeXC l => Maybe l -> l
pagebreak :: forall l. LaTeXC l => Maybe l -> l
pagebreak = forall b a. b -> (a -> b) -> Maybe a -> b
maybe (forall l. LaTeXC l => String -> l
comm0 String
"pagebreak")
forall a b. (a -> b) -> a -> b
$ forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
l -> String -> [TeXArg] -> LaTeX
TeXComm String
"pagebreak" [LaTeX -> TeXArg
OptArg LaTeX
l]
nopagebreak :: LaTeXC l => Maybe l -> l
nopagebreak :: forall l. LaTeXC l => Maybe l -> l
nopagebreak = forall b a. b -> (a -> b) -> Maybe a -> b
maybe (forall l. LaTeXC l => String -> l
comm0 String
"nopagebreak")
forall a b. (a -> b) -> a -> b
$ forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
l -> String -> [TeXArg] -> LaTeX
TeXComm String
"nopagebreak" [LaTeX -> TeXArg
OptArg LaTeX
l]
hyphenation :: LaTeXC l => l -> l
hyphenation :: forall l. LaTeXC l => l -> l
hyphenation = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
l -> String -> [TeXArg] -> LaTeX
TeXComm String
"hyphenation" [LaTeX -> TeXArg
FixArg LaTeX
l]
mbox :: LaTeXC l => l -> l
mbox :: forall l. LaTeXC l => l -> l
mbox = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
l -> String -> [TeXArg] -> LaTeX
TeXComm String
"mbox" [LaTeX -> TeXArg
FixArg LaTeX
l]
fbox :: LaTeXC l => l -> l
fbox :: forall l. LaTeXC l => l -> l
fbox = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
l -> String -> [TeXArg] -> LaTeX
TeXComm String
"fbox" [LaTeX -> TeXArg
FixArg LaTeX
l]
today :: LaTeXC l => l
today :: forall l. LaTeXC l => l
today = forall l. LaTeXC l => String -> l
comm0 String
"today"
thePage :: LaTeXC l => l
thePage :: forall l. LaTeXC l => l
thePage = forall l. LaTeXC l => String -> l
comm0 String
"thepage"
tex :: LaTeXC l => l
tex :: forall l. LaTeXC l => l
tex = forall l. LaTeXC l => String -> l
comm0 String
"TeX"
laTeX2 :: LaTeXC l => l
laTeX2 :: forall l. LaTeXC l => l
laTeX2 = forall l. LaTeXC l => String -> l
comm0 String
"LaTeX"
laTeXe :: LaTeXC l => l
laTeXe :: forall l. LaTeXC l => l
laTeXe = forall l. LaTeXC l => String -> l
comm0 String
"LaTeXe"
ldots :: LaTeXC l => l
ldots :: forall l. LaTeXC l => l
ldots = forall l. LaTeXC l => String -> l
comm0 String
"ldots"
vdots :: LaTeXC l => l
vdots :: forall l. LaTeXC l => l
vdots = forall l. LaTeXC l => String -> l
comm0 String
"vdots"
ddots :: LaTeXC l => l
ddots :: forall l. LaTeXC l => l
ddots = forall l. LaTeXC l => String -> l
comm0 String
"ddots"
qts :: LaTeXC l => l -> l
qts :: forall l. LaTeXC l => l -> l
qts l
l = forall m. Monoid m => m -> m -> m -> m
between l
l (forall l. LaTeXC l => Text -> l
raw Text
"``") (forall l. LaTeXC l => Text -> l
raw Text
"''")
centering :: LaTeXC l => l
centering :: forall l. LaTeXC l => l
centering = forall l. LaTeXC l => String -> l
comm0 String
"centering"
raggedleft :: LaTeXC l => l
raggedleft :: forall l. LaTeXC l => l
raggedleft = forall l. LaTeXC l => String -> l
comm0 String
"raggedleft"
raggedright :: LaTeXC l => l
raggedright :: forall l. LaTeXC l => l
raggedright = forall l. LaTeXC l => String -> l
comm0 String
"raggedright"
footnote :: LaTeXC l => l -> l
= forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
l -> String -> [TeXArg] -> LaTeX
TeXComm String
"footnote" [LaTeX -> TeXArg
FixArg LaTeX
l]
footnotemark :: LaTeXC l => l
= forall l. LaTeXC l => String -> l
comm0 String
"footnotemark"
footnotetext :: LaTeXC l => l -> l
= forall l. LaTeXC l => String -> l -> l
comm1 String
"footnotetext"
stepcounter :: LaTeXC l => String -> l
stepcounter :: forall l. LaTeXC l => String -> l
stepcounter = forall l. LaTeXC l => String -> l -> l
comm1 String
"stepcounter" forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. IsString a => String -> a
fromString
addtocounter :: LaTeXC l => String -> Int -> l
addtocounter :: forall l. LaTeXC l => String -> Int -> l
addtocounter String
t Int
n = forall l. LaTeXC l => String -> l -> l -> l
comm2 String
"addtocounter" (forall a. IsString a => String -> a
fromString String
t) (forall a. IsString a => String -> a
fromString forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. Show a => a -> String
show forall a b. (a -> b) -> a -> b
$ Int
n)
linespread :: LaTeXC l => Float -> l
linespread :: forall l. LaTeXC l => Float -> l
linespread Float
x = forall l. LaTeXC l => LaTeX -> l
fromLaTeX forall a b. (a -> b) -> a -> b
$ String -> [TeXArg] -> LaTeX
TeXComm String
"linespread" [LaTeX -> TeXArg
FixArg forall a b. (a -> b) -> a -> b
$ forall a l. (Render a, LaTeXC l) => a -> l
rendertex Float
x]
baselineskip :: LaTeXC l => l
baselineskip :: forall l. LaTeXC l => l
baselineskip = forall l. LaTeXC l => String -> l
comm0 String
"baselineskip"
indent :: LaTeXC l => l
indent :: forall l. LaTeXC l => l
indent = forall l. LaTeXC l => String -> l
comm0 String
"indent"
noindent :: LaTeXC l => l
noindent :: forall l. LaTeXC l => l
noindent = forall l. LaTeXC l => String -> l
comm0 String
"noindent"
hspace :: LaTeXC l => Measure -> l
hspace :: forall l. LaTeXC l => Measure -> l
hspace Measure
m = forall l. LaTeXC l => LaTeX -> l
fromLaTeX forall a b. (a -> b) -> a -> b
$ String -> [TeXArg] -> LaTeX
TeXComm String
"hspace" [LaTeX -> TeXArg
FixArg forall a b. (a -> b) -> a -> b
$ forall a l. (Render a, LaTeXC l) => a -> l
rendertex Measure
m]
hspace_ :: LaTeXC l => Measure -> l
hspace_ :: forall l. LaTeXC l => Measure -> l
hspace_ Measure
m = forall l. LaTeXC l => LaTeX -> l
fromLaTeX forall a b. (a -> b) -> a -> b
$ String -> [TeXArg] -> LaTeX
TeXComm String
"hspace*" [LaTeX -> TeXArg
FixArg forall a b. (a -> b) -> a -> b
$ forall a l. (Render a, LaTeXC l) => a -> l
rendertex Measure
m]
quad :: LaTeXC l => l
quad :: forall l. LaTeXC l => l
quad = forall l. LaTeXC l => String -> l
comm0 String
"quad"
qquad :: LaTeXC l => l
qquad :: forall l. LaTeXC l => l
qquad = forall l. LaTeXC l => String -> l
comm0 String
"qquad"
stretch :: LaTeXC l => Double -> l
stretch :: forall l. LaTeXC l => Double -> l
stretch Double
n = forall l. LaTeXC l => LaTeX -> l
fromLaTeX forall a b. (a -> b) -> a -> b
$ String -> [TeXArg] -> LaTeX
TeXComm String
"stretch" [LaTeX -> TeXArg
FixArg forall a b. (a -> b) -> a -> b
$ forall a l. (Render a, LaTeXC l) => a -> l
rendertex Double
n]
vspace :: LaTeXC l => Measure -> l
vspace :: forall l. LaTeXC l => Measure -> l
vspace Measure
m = forall l. LaTeXC l => LaTeX -> l
fromLaTeX forall a b. (a -> b) -> a -> b
$ String -> [TeXArg] -> LaTeX
TeXComm String
"vspace" [LaTeX -> TeXArg
FixArg forall a b. (a -> b) -> a -> b
$ forall a l. (Render a, LaTeXC l) => a -> l
rendertex Measure
m]
vspace_ :: LaTeXC l => Measure -> l
vspace_ :: forall l. LaTeXC l => Measure -> l
vspace_ Measure
m = forall l. LaTeXC l => LaTeX -> l
fromLaTeX forall a b. (a -> b) -> a -> b
$ String -> [TeXArg] -> LaTeX
TeXComm String
"vspace*" [LaTeX -> TeXArg
FixArg forall a b. (a -> b) -> a -> b
$ forall a l. (Render a, LaTeXC l) => a -> l
rendertex Measure
m]
addvspace :: LaTeXC l => Measure -> l
addvspace :: forall l. LaTeXC l => Measure -> l
addvspace Measure
m = forall l. LaTeXC l => LaTeX -> l
fromLaTeX forall a b. (a -> b) -> a -> b
$ String -> [TeXArg] -> LaTeX
TeXComm String
"addvspace" [LaTeX -> TeXArg
FixArg forall a b. (a -> b) -> a -> b
$ forall a l. (Render a, LaTeXC l) => a -> l
rendertex Measure
m]
hfill :: LaTeXC l => l
hfill :: forall l. LaTeXC l => l
hfill = forall l. LaTeXC l => String -> l
comm0 String
"hfill"
vfill :: LaTeXC l => l
vfill :: forall l. LaTeXC l => l
vfill = forall l. LaTeXC l => String -> l
comm0 String
"vfill"
dotfill :: LaTeXC l => l
dotfill :: forall l. LaTeXC l => l
dotfill = forall l. LaTeXC l => String -> l
comm0 String
"dotfill"
hrulefill :: LaTeXC l => l
hrulefill :: forall l. LaTeXC l => l
hrulefill = forall l. LaTeXC l => String -> l
comm0 String
"hrulefill"
protect :: LaTeXC l => l -> l
protect :: forall l. LaTeXC l => l -> l
protect l
l = forall l. LaTeXC l => String -> l
commS String
"protect" forall a. Semigroup a => a -> a -> a
<> l
l
textwidth :: LaTeXC l => l
textwidth :: forall l. LaTeXC l => l
textwidth = forall l. LaTeXC l => String -> l
comm0 String
"textwidth"
textheight :: LaTeXC l => l
textheight :: forall l. LaTeXC l => l
textheight = forall l. LaTeXC l => String -> l
comm0 String
"textheight"
linewidth :: LaTeXC l => l
linewidth :: forall l. LaTeXC l => l
linewidth = forall l. LaTeXC l => String -> l
comm0 String
"linewidth"
verbatim :: LaTeXC l => Text -> l
verbatim :: forall l. LaTeXC l => Text -> l
verbatim = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL (String -> [TeXArg] -> LaTeX -> LaTeX
TeXEnv String
"verbatim" []) forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall l. LaTeXC l => Text -> l
raw
verb :: LaTeXC l => Text -> l
verb :: forall l. LaTeXC l => Text -> l
verb Text
vbStr = case forall (t :: * -> *) a. Foldable t => (a -> Bool) -> t a -> Maybe a
find (forall a. Maybe a -> Bool
isNothing forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Char -> Bool) -> Text -> Maybe Char
`T.find`Text
vbStr) forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. Eq a => a -> a -> Bool
(==))
forall a b. (a -> b) -> a -> b
$ String
"`'\"|=-~$#+/!^_;:,." forall a. [a] -> [a] -> [a]
++ [Char
'0'..Char
'9'] forall a. [a] -> [a] -> [a]
++ [Char
'A'..Char
'B'] forall a. [a] -> [a] -> [a]
++ [Char
'a'..Char
'b']
of Just Char
delim -> let d :: Text
d = Char -> Text
T.singleton Char
delim
in forall l. LaTeXC l => Text -> l
raw forall a b. (a -> b) -> a -> b
$ [Text] -> Text
T.concat [ Text
"\\verb", Text
d, Text
vbStr, Text
d ]
Maybe Char
Nothing -> let (Text
lpart, Text
rpart)
= Int -> Text -> (Text, Text)
T.splitAt (Text -> Int
T.length Text
vbStr forall a. Integral a => a -> a -> a
`quot` Int
2) Text
vbStr
in forall l. LaTeXC l => Text -> l
verb Text
lpart forall a. Semigroup a => a -> a -> a
<> forall l. LaTeXC l => Text -> l
verb Text
rpart
underline :: LaTeXC l => l -> l
underline :: forall l. LaTeXC l => l -> l
underline = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
l -> String -> [TeXArg] -> LaTeX
TeXComm String
"underline" [LaTeX -> TeXArg
FixArg LaTeX
l]
emph :: LaTeXC l => l -> l
emph :: forall l. LaTeXC l => l -> l
emph = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
l -> String -> [TeXArg] -> LaTeX
TeXComm String
"emph" [LaTeX -> TeXArg
FixArg LaTeX
l]
textrm :: LaTeXC l => l -> l
textrm :: forall l. LaTeXC l => l -> l
textrm = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
l -> String -> [TeXArg] -> LaTeX
TeXComm String
"textrm" [LaTeX -> TeXArg
FixArg LaTeX
l]
textsf :: LaTeXC l => l -> l
textsf :: forall l. LaTeXC l => l -> l
textsf = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
l -> String -> [TeXArg] -> LaTeX
TeXComm String
"textsf" [LaTeX -> TeXArg
FixArg LaTeX
l]
texttt :: LaTeXC l => l -> l
texttt :: forall l. LaTeXC l => l -> l
texttt = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
l -> String -> [TeXArg] -> LaTeX
TeXComm String
"texttt" [LaTeX -> TeXArg
FixArg LaTeX
l]
textmd :: LaTeXC l => l -> l
textmd :: forall l. LaTeXC l => l -> l
textmd = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
l -> String -> [TeXArg] -> LaTeX
TeXComm String
"textmd" [LaTeX -> TeXArg
FixArg LaTeX
l]
textbf :: LaTeXC l => l -> l
textbf :: forall l. LaTeXC l => l -> l
textbf = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
l -> String -> [TeXArg] -> LaTeX
TeXComm String
"textbf" [LaTeX -> TeXArg
FixArg LaTeX
l]
textup :: LaTeXC l => l -> l
textup :: forall l. LaTeXC l => l -> l
textup = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
l -> String -> [TeXArg] -> LaTeX
TeXComm String
"textup" [LaTeX -> TeXArg
FixArg LaTeX
l]
textit :: LaTeXC l => l -> l
textit :: forall l. LaTeXC l => l -> l
textit = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
l -> String -> [TeXArg] -> LaTeX
TeXComm String
"textit" [LaTeX -> TeXArg
FixArg LaTeX
l]
textsl :: LaTeXC l => l -> l
textsl :: forall l. LaTeXC l => l -> l
textsl = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
l -> String -> [TeXArg] -> LaTeX
TeXComm String
"textsl" [LaTeX -> TeXArg
FixArg LaTeX
l]
textsc :: LaTeXC l => l -> l
textsc :: forall l. LaTeXC l => l -> l
textsc = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
l -> String -> [TeXArg] -> LaTeX
TeXComm String
"textsc" [LaTeX -> TeXArg
FixArg LaTeX
l]
textnormal :: LaTeXC l => l -> l
textnormal :: forall l. LaTeXC l => l -> l
textnormal = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
l -> String -> [TeXArg] -> LaTeX
TeXComm String
"textnormal" [LaTeX -> TeXArg
FixArg LaTeX
l]
sizecomm :: LaTeXC l => String -> l -> l
sizecomm :: forall l. LaTeXC l => String -> l -> l
sizecomm String
str = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
l -> LaTeX -> LaTeX
TeXBraces forall a b. (a -> b) -> a -> b
$ forall l. LaTeXC l => String -> l
comm0 String
str forall a. Semigroup a => a -> a -> a
<> LaTeX
l
tiny :: LaTeXC l => l -> l
tiny :: forall l. LaTeXC l => l -> l
tiny = forall l. LaTeXC l => String -> l -> l
sizecomm String
"tiny"
scriptsize :: LaTeXC l => l -> l
scriptsize :: forall l. LaTeXC l => l -> l
scriptsize = forall l. LaTeXC l => String -> l -> l
sizecomm String
"scriptsize"
footnotesize :: LaTeXC l => l -> l
= forall l. LaTeXC l => String -> l -> l
sizecomm String
"footnotesize"
small :: LaTeXC l => l -> l
small :: forall l. LaTeXC l => l -> l
small = forall l. LaTeXC l => String -> l -> l
sizecomm String
"small"
normalsize :: LaTeXC l => l -> l
normalsize :: forall l. LaTeXC l => l -> l
normalsize = forall l. LaTeXC l => String -> l -> l
sizecomm String
"normalsize"
large :: LaTeXC l => l -> l
large :: forall l. LaTeXC l => l -> l
large = forall l. LaTeXC l => String -> l -> l
sizecomm String
"large"
large2 :: LaTeXC l => l -> l
large2 :: forall l. LaTeXC l => l -> l
large2 = forall l. LaTeXC l => String -> l -> l
sizecomm String
"Large"
large3 :: LaTeXC l => l -> l
large3 :: forall l. LaTeXC l => l -> l
large3 = forall l. LaTeXC l => String -> l -> l
sizecomm String
"LARGE"
huge :: LaTeXC l => l -> l
huge :: forall l. LaTeXC l => l -> l
huge = forall l. LaTeXC l => String -> l -> l
sizecomm String
"huge"
huge2 :: LaTeXC l => l -> l
huge2 :: forall l. LaTeXC l => l -> l
huge2 = forall l. LaTeXC l => String -> l -> l
sizecomm String
"Huge"
smallskip :: LaTeXC l => l
smallskip :: forall l. LaTeXC l => l
smallskip = forall l. LaTeXC l => String -> l
comm0 String
"smallskip"
medskip :: LaTeXC l => l
medskip :: forall l. LaTeXC l => l
medskip = forall l. LaTeXC l => String -> l
comm0 String
"medskip"
bigskip :: LaTeXC l => l
bigskip :: forall l. LaTeXC l => l
bigskip = forall l. LaTeXC l => String -> l
comm0 String
"bigskip"
tabular :: LaTeXC l =>
Maybe Pos
-> [TableSpec]
-> l
-> l
tabular :: forall l. LaTeXC l => Maybe Pos -> [TableSpec] -> l -> l
tabular Maybe Pos
Nothing [TableSpec]
ts = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ String -> [TeXArg] -> LaTeX -> LaTeX
TeXEnv String
"tabular" [ LaTeX -> TeXArg
FixArg forall a b. (a -> b) -> a -> b
$ Text -> LaTeX
TeXRaw forall a b. (a -> b) -> a -> b
$ forall a. Render a => [a] -> Text
renderAppend [TableSpec]
ts ]
tabular (Just Pos
p) [TableSpec]
ts = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ String -> [TeXArg] -> LaTeX -> LaTeX
TeXEnv String
"tabular" [ LaTeX -> TeXArg
OptArg forall a b. (a -> b) -> a -> b
$ Text -> LaTeX
TeXRaw forall a b. (a -> b) -> a -> b
$ forall a. Render a => a -> Text
render Pos
p , LaTeX -> TeXArg
FixArg forall a b. (a -> b) -> a -> b
$ Text -> LaTeX
TeXRaw forall a b. (a -> b) -> a -> b
$ forall a. Render a => [a] -> Text
renderAppend [TableSpec]
ts ]
array :: LaTeXC l =>
Maybe Pos
-> [TableSpec]
-> l
-> l
array :: forall l. LaTeXC l => Maybe Pos -> [TableSpec] -> l -> l
array Maybe Pos
Nothing [TableSpec]
ts = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ String -> [TeXArg] -> LaTeX -> LaTeX
TeXEnv String
"array" [ LaTeX -> TeXArg
FixArg forall a b. (a -> b) -> a -> b
$ Text -> LaTeX
TeXRaw forall a b. (a -> b) -> a -> b
$ forall a. Render a => [a] -> Text
renderAppend [TableSpec]
ts ]
array (Just Pos
p) [TableSpec]
ts = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ String -> [TeXArg] -> LaTeX -> LaTeX
TeXEnv String
"array" [ LaTeX -> TeXArg
OptArg forall a b. (a -> b) -> a -> b
$ Text -> LaTeX
TeXRaw forall a b. (a -> b) -> a -> b
$ forall a. Render a => a -> Text
render Pos
p , LaTeX -> TeXArg
FixArg forall a b. (a -> b) -> a -> b
$ Text -> LaTeX
TeXRaw forall a b. (a -> b) -> a -> b
$ forall a. Render a => [a] -> Text
renderAppend [TableSpec]
ts ]
(&) :: LaTeXC l => l -> l -> l
& :: forall l. LaTeXC l => l -> l -> l
(&) = forall m. Monoid m => m -> m -> m -> m
between (forall l. LaTeXC l => Text -> l
raw Text
"&")
hline :: LaTeXC l => l
hline :: forall l. LaTeXC l => l
hline = forall l. LaTeXC l => String -> l
commS String
"hline "
tabularnewline :: LaTeXC l => l
tabularnewline :: forall l. LaTeXC l => l
tabularnewline = forall l. LaTeXC l => String -> l
commS String
"tabularnewline "
tabularnewlineSpc :: LaTeXC l => Measure -> l
tabularnewlineSpc :: forall l. LaTeXC l => Measure -> l
tabularnewlineSpc Measure
m = forall l. LaTeXC l => LaTeX -> l
fromLaTeX forall a b. (a -> b) -> a -> b
$ String -> [TeXArg] -> LaTeX
TeXComm String
"tabularnewline" [LaTeX -> TeXArg
OptArg forall a b. (a -> b) -> a -> b
$ forall a l. (Render a, LaTeXC l) => a -> l
rendertex Measure
m]
arraybackslash :: LaTeXC l => l
arraybackslash :: forall l. LaTeXC l => l
arraybackslash = forall l. LaTeXC l => String -> l
commS String
"arraybackslash "
multicolumn :: LaTeXC l => Int -> [TableSpec] -> l -> l
multicolumn :: forall l. LaTeXC l => Int -> [TableSpec] -> l -> l
multicolumn Int
n [TableSpec]
c = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
l -> String -> [TeXArg] -> LaTeX
TeXComm String
"multicolumn"
[ LaTeX -> TeXArg
FixArg forall a b. (a -> b) -> a -> b
$ forall a l. (Render a, LaTeXC l) => a -> l
rendertex Int
n
, LaTeX -> TeXArg
FixArg forall b c a. (b -> c) -> (a -> b) -> a -> c
. Text -> LaTeX
TeXRaw forall a b. (a -> b) -> a -> b
$ forall a. Render a => [a] -> Text
renderAppend [TableSpec]
c
, LaTeX -> TeXArg
FixArg LaTeX
l
]
matrixTabular :: (LaTeXC l, Texy a)
=> [l]
-> Matrix a
-> l
matrixTabular :: forall l a. (LaTeXC l, Texy a) => [l] -> Matrix a -> l
matrixTabular [l]
ts Matrix a
m =
let spec :: [TableSpec]
spec = TableSpec
VerticalLine forall a. a -> [a] -> [a]
: forall a. a -> [a] -> [a]
intersperse TableSpec
VerticalLine (forall a. Int -> a -> [a]
replicate (forall a. Matrix a -> Int
ncols Matrix a
m) TableSpec
CenterColumn) forall a. [a] -> [a] -> [a]
++ [TableSpec
VerticalLine]
in forall l. LaTeXC l => Maybe Pos -> [TableSpec] -> l -> l
tabular forall a. Maybe a
Nothing [TableSpec]
spec forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => [a] -> a
mconcat
[ forall l. LaTeXC l => l
hline
, forall (t :: * -> *) a. Foldable t => (a -> a -> a) -> t a -> a
foldl1 forall l. LaTeXC l => l -> l -> l
(&) [l]
ts
, forall l. LaTeXC l => l
lnbk
, forall l. LaTeXC l => l
hline
, forall a. Monoid a => [a] -> a
mconcat forall a b. (a -> b) -> a -> b
$ forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (
\Int
i -> forall a. Monoid a => [a] -> a
mconcat [ forall (t :: * -> *) a. Foldable t => (a -> a -> a) -> t a -> a
foldl1 forall l. LaTeXC l => l -> l -> l
(&) forall a b. (a -> b) -> a -> b
$ forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Int
j -> forall t l. (Texy t, LaTeXC l) => t -> l
texy (Matrix a
m forall a. Matrix a -> (Int, Int) -> a
! (Int
i,Int
j))) [Int
1 .. forall a. Matrix a -> Int
ncols Matrix a
m]
, forall l. LaTeXC l => l
lnbk
, forall l. LaTeXC l => l
hline
] ) [Int
1 .. forall a. Matrix a -> Int
nrows Matrix a
m]
]
cline :: LaTeXC l => Int -> Int -> l
cline :: forall l. LaTeXC l => Int -> Int -> l
cline Int
i Int
j = forall l. LaTeXC l => LaTeX -> l
fromLaTeX forall a b. (a -> b) -> a -> b
$ String -> [TeXArg] -> LaTeX
TeXComm String
"cline" [ LaTeX -> TeXArg
FixArg forall a b. (a -> b) -> a -> b
$ Text -> LaTeX
TeXRaw forall a b. (a -> b) -> a -> b
$ forall a. Render a => a -> Text
render Int
i forall a. Semigroup a => a -> a -> a
<> Text
"-" forall a. Semigroup a => a -> a -> a
<> forall a. Render a => a -> Text
render Int
j ]
parbox :: LaTeXC l => Maybe Pos -> Measure -> l -> l
parbox :: forall l. LaTeXC l => Maybe Pos -> Measure -> l -> l
parbox Maybe Pos
Nothing Measure
w = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
t -> String -> [TeXArg] -> LaTeX
TeXComm String
"parbox" [ LaTeX -> TeXArg
FixArg forall a b. (a -> b) -> a -> b
$ forall a l. (Render a, LaTeXC l) => a -> l
rendertex Measure
w , LaTeX -> TeXArg
FixArg LaTeX
t ]
parbox (Just Pos
p) Measure
w = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
t -> String -> [TeXArg] -> LaTeX
TeXComm String
"parbox" [ LaTeX -> TeXArg
OptArg forall a b. (a -> b) -> a -> b
$ Text -> LaTeX
TeXRaw forall a b. (a -> b) -> a -> b
$ forall a. Render a => a -> Text
render Pos
p
, LaTeX -> TeXArg
FixArg forall a b. (a -> b) -> a -> b
$ Text -> LaTeX
TeXRaw forall a b. (a -> b) -> a -> b
$ forall a. Render a => a -> Text
render Measure
w
, LaTeX -> TeXArg
FixArg LaTeX
t ]
makebox :: LaTeXC l => Maybe Measure -> Maybe HPos -> l -> l
makebox :: forall l. LaTeXC l => Maybe Measure -> Maybe HPos -> l -> l
makebox Maybe Measure
Nothing Maybe HPos
Nothing = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
t -> String -> [TeXArg] -> LaTeX
TeXComm String
"makebox" [ LaTeX -> TeXArg
FixArg LaTeX
t ]
makebox (Just Measure
w) Maybe HPos
Nothing = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
t -> String -> [TeXArg] -> LaTeX
TeXComm String
"makebox" [ LaTeX -> TeXArg
OptArg forall a b. (a -> b) -> a -> b
$ Text -> LaTeX
TeXRaw forall a b. (a -> b) -> a -> b
$ forall a. Render a => a -> Text
render Measure
w
, LaTeX -> TeXArg
FixArg LaTeX
t ]
makebox Maybe Measure
Nothing (Just HPos
p) = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
t -> String -> [TeXArg] -> LaTeX
TeXComm String
"makebox" [ LaTeX -> TeXArg
OptArg forall a b. (a -> b) -> a -> b
$ Text -> LaTeX
TeXRaw forall a b. (a -> b) -> a -> b
$ forall a. Render a => a -> Text
render HPos
p
, LaTeX -> TeXArg
FixArg LaTeX
t ]
makebox (Just Measure
w) (Just HPos
p) = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
t -> String -> [TeXArg] -> LaTeX
TeXComm String
"makebox" [ LaTeX -> TeXArg
OptArg forall a b. (a -> b) -> a -> b
$ Text -> LaTeX
TeXRaw forall a b. (a -> b) -> a -> b
$ forall a. Render a => a -> Text
render Measure
w
, LaTeX -> TeXArg
OptArg forall a b. (a -> b) -> a -> b
$ Text -> LaTeX
TeXRaw forall a b. (a -> b) -> a -> b
$ forall a. Render a => a -> Text
render HPos
p
, LaTeX -> TeXArg
FixArg LaTeX
t ]
framebox :: LaTeXC l => Maybe Measure -> Maybe HPos -> l -> l
framebox :: forall l. LaTeXC l => Maybe Measure -> Maybe HPos -> l -> l
framebox Maybe Measure
Nothing Maybe HPos
Nothing = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
t -> String -> [TeXArg] -> LaTeX
TeXComm String
"framebox" [ LaTeX -> TeXArg
FixArg LaTeX
t ]
framebox (Just Measure
w) Maybe HPos
Nothing = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
t -> String -> [TeXArg] -> LaTeX
TeXComm String
"framebox" [ LaTeX -> TeXArg
OptArg forall a b. (a -> b) -> a -> b
$ Text -> LaTeX
TeXRaw forall a b. (a -> b) -> a -> b
$ forall a. Render a => a -> Text
render Measure
w
, LaTeX -> TeXArg
FixArg LaTeX
t ]
framebox Maybe Measure
Nothing (Just HPos
p) = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
t -> String -> [TeXArg] -> LaTeX
TeXComm String
"framebox" [ LaTeX -> TeXArg
OptArg forall a b. (a -> b) -> a -> b
$ Text -> LaTeX
TeXRaw forall a b. (a -> b) -> a -> b
$ forall a. Render a => a -> Text
render HPos
p
, LaTeX -> TeXArg
FixArg LaTeX
t ]
framebox (Just Measure
w) (Just HPos
p) = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
t -> String -> [TeXArg] -> LaTeX
TeXComm String
"framebox" [ LaTeX -> TeXArg
OptArg forall a b. (a -> b) -> a -> b
$ Text -> LaTeX
TeXRaw forall a b. (a -> b) -> a -> b
$ forall a. Render a => a -> Text
render Measure
w
, LaTeX -> TeXArg
OptArg forall a b. (a -> b) -> a -> b
$ Text -> LaTeX
TeXRaw forall a b. (a -> b) -> a -> b
$ forall a. Render a => a -> Text
render HPos
p
, LaTeX -> TeXArg
FixArg LaTeX
t ]
raisebox :: LaTeXC l => Measure -> Maybe Measure -> Maybe Measure -> l -> l
raisebox :: forall l.
LaTeXC l =>
Measure -> Maybe Measure -> Maybe Measure -> l -> l
raisebox Measure
m Maybe Measure
ma Maybe Measure
mb = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
l -> String -> [TeXArg] -> LaTeX
TeXComm String
"raisebox" forall a b. (a -> b) -> a -> b
$
[ LaTeX -> TeXArg
FixArg forall a b. (a -> b) -> a -> b
$ forall a l. (Render a, LaTeXC l) => a -> l
rendertex Measure
m ]
forall a. [a] -> [a] -> [a]
++ forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (LaTeX -> TeXArg
OptArg forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a l. (Render a, LaTeXC l) => a -> l
rendertex) (forall a. [Maybe a] -> [a]
catMaybes [Maybe Measure
ma,Maybe Measure
mb])
forall a. [a] -> [a] -> [a]
++ [ LaTeX -> TeXArg
FixArg LaTeX
l ]
rule :: LaTeXC l =>
Maybe Measure
-> Measure
-> Measure
-> l
rule :: forall l. LaTeXC l => Maybe Measure -> Measure -> Measure -> l
rule Maybe Measure
Nothing Measure
w Measure
h = forall l. LaTeXC l => LaTeX -> l
fromLaTeX forall a b. (a -> b) -> a -> b
$ String -> [TeXArg] -> LaTeX
TeXComm String
"rule" [ LaTeX -> TeXArg
FixArg forall a b. (a -> b) -> a -> b
$ Text -> LaTeX
TeXRaw forall a b. (a -> b) -> a -> b
$ forall a. Render a => a -> Text
render Measure
w
, LaTeX -> TeXArg
FixArg forall a b. (a -> b) -> a -> b
$ Text -> LaTeX
TeXRaw forall a b. (a -> b) -> a -> b
$ forall a. Render a => a -> Text
render Measure
h ]
rule (Just Measure
l) Measure
w Measure
h = forall l. LaTeXC l => LaTeX -> l
fromLaTeX forall a b. (a -> b) -> a -> b
$ String -> [TeXArg] -> LaTeX
TeXComm String
"rule" [ LaTeX -> TeXArg
OptArg forall a b. (a -> b) -> a -> b
$ Text -> LaTeX
TeXRaw forall a b. (a -> b) -> a -> b
$ forall a. Render a => a -> Text
render Measure
l
, LaTeX -> TeXArg
FixArg forall a b. (a -> b) -> a -> b
$ Text -> LaTeX
TeXRaw forall a b. (a -> b) -> a -> b
$ forall a. Render a => a -> Text
render Measure
w
, LaTeX -> TeXArg
FixArg forall a b. (a -> b) -> a -> b
$ Text -> LaTeX
TeXRaw forall a b. (a -> b) -> a -> b
$ forall a. Render a => a -> Text
render Measure
h ]
hatex :: LaTeXC l => l
hatex :: forall l. LaTeXC l => l
hatex = forall l. LaTeXC l => l -> l
mbox forall a b. (a -> b) -> a -> b
$ l
"H"
forall a. Semigroup a => a -> a -> a
<> forall l. LaTeXC l => Measure -> l
hspace (Double -> Measure
Ex forall a b. (a -> b) -> a -> b
$ forall a. Num a => a -> a
negate Double
0.3)
forall a. Semigroup a => a -> a -> a
<> forall l. LaTeXC l => l -> l
textsc l
"a"
forall a. Semigroup a => a -> a -> a
<> forall l. LaTeXC l => Measure -> l
hspace (Double -> Measure
Ex forall a b. (a -> b) -> a -> b
$ forall a. Num a => a -> a
negate Double
0.3)
forall a. Semigroup a => a -> a -> a
<> forall l. LaTeXC l => l
tex
hatex3 :: LaTeXC l => l
hatex3 :: forall l. LaTeXC l => l
hatex3 = forall l. LaTeXC l => l
hatex forall a. Semigroup a => a -> a -> a
<> forall l. LaTeXC l => l -> l
emph (forall l. LaTeXC l => l -> l
textbf l
"3")
hatex_version :: LaTeXC l => l
hatex_version :: forall l. LaTeXC l => l
hatex_version = forall l. LaTeXC l => l
hatex
forall a. Semigroup a => a -> a -> a
<> forall l. LaTeXC l => l -> l
emph (forall l. LaTeXC l => l -> l
textbf forall a b. (a -> b) -> a -> b
$ forall a l. (Render a, LaTeXC l) => a -> l
rendertex Int
x)
forall a. Semigroup a => a -> a -> a
<> forall l. LaTeXC l => Measure -> l
hspace (Double -> Measure
Ex forall a b. (a -> b) -> a -> b
$ forall a. Num a => a -> a
negate Double
0.3)
forall a. Semigroup a => a -> a -> a
<> forall l. LaTeXC l => l -> l
emph (l
"." forall a. Semigroup a => a -> a -> a
<> forall a. IsString a => String -> a
fromString (forall a. [a] -> [[a]] -> [a]
intercalate String
"." forall a b. (a -> b) -> a -> b
$ forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap forall a. Show a => a -> String
show [Int]
xs))
where
(Int
x:[Int]
xs) = Version -> [Int]
versionBranch Version
version
caption :: LaTeXC l => l -> l
caption :: forall l. LaTeXC l => l -> l
caption = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
l -> String -> [TeXArg] -> LaTeX
TeXComm String
"caption" [LaTeX -> TeXArg
FixArg LaTeX
l]
label :: LaTeXC l => l -> l
label :: forall l. LaTeXC l => l -> l
label = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
l -> String -> [TeXArg] -> LaTeX
TeXComm String
"label" [LaTeX -> TeXArg
FixArg forall a b. (a -> b) -> a -> b
$ Text -> LaTeX
TeXRaw forall a b. (a -> b) -> a -> b
$ forall a. Render a => a -> Text
render LaTeX
l]
ref :: LaTeXC l => l -> l
ref :: forall l. LaTeXC l => l -> l
ref = forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
l -> String -> [TeXArg] -> LaTeX
TeXComm String
"ref" [LaTeX -> TeXArg
FixArg forall a b. (a -> b) -> a -> b
$ Text -> LaTeX
TeXRaw forall a b. (a -> b) -> a -> b
$ forall a. Render a => a -> Text
render LaTeX
l]
pageref :: LaTeXC l => l -> l
= forall l. LaTeXC l => (LaTeX -> LaTeX) -> l -> l
liftL forall a b. (a -> b) -> a -> b
$ \LaTeX
l -> String -> [TeXArg] -> LaTeX
TeXComm String
"pageref" [LaTeX -> TeXArg
FixArg forall a b. (a -> b) -> a -> b
$ Text -> LaTeX
TeXRaw forall a b. (a -> b) -> a -> b
$ forall a. Render a => a -> Text
render LaTeX
l]
input :: LaTeXC l => FilePath -> l
input :: forall l. LaTeXC l => String -> l
input String
fp = forall l. LaTeXC l => LaTeX -> l
fromLaTeX forall a b. (a -> b) -> a -> b
$ String -> [TeXArg] -> LaTeX
TeXComm String
"input" [LaTeX -> TeXArg
FixArg forall a b. (a -> b) -> a -> b
$ Text -> LaTeX
TeXRaw forall a b. (a -> b) -> a -> b
$ forall a. IsString a => String -> a
fromString String
fp]
include :: LaTeXC l => FilePath -> l
include :: forall l. LaTeXC l => String -> l
include String
fp = forall l. LaTeXC l => LaTeX -> l
fromLaTeX forall a b. (a -> b) -> a -> b
$ String -> [TeXArg] -> LaTeX
TeXComm String
"include" [LaTeX -> TeXArg
FixArg forall a b. (a -> b) -> a -> b
$ Text -> LaTeX
TeXRaw forall a b. (a -> b) -> a -> b
$ forall a. IsString a => String -> a
fromString String
fp]