Safe Haskell | Safe-Inferred |
---|
LaTeX standard commands and environments.
- raw :: LaTeXC l => Text -> l
- between :: Monoid m => m -> m -> m -> m
- comment :: LaTeXC l => Text -> l
- (%:) :: LaTeXC l => l -> Text -> l
- title :: LaTeXC l => l -> l
- author :: LaTeXC l => l -> l
- date :: LaTeXC l => l -> l
- institute :: LaTeXC l => Maybe l -> l -> l
- thanks :: LaTeXC l => l -> l
- documentclass :: LaTeXC l => [ClassOption] -> ClassName -> l
- usepackage :: LaTeXC l => [l] -> PackageName -> l
- linespread :: LaTeXC l => Float -> l
- article :: ClassName
- proc :: ClassName
- report :: ClassName
- minimal :: ClassName
- book :: ClassName
- slides :: ClassName
- data ClassOption
- customopt :: String -> ClassOption
- draft :: ClassOption
- titlepage :: ClassOption
- notitlepage :: ClassOption
- onecolumn :: ClassOption
- twocolumn :: ClassOption
- oneside :: ClassOption
- twoside :: ClassOption
- landscape :: ClassOption
- openright :: ClassOption
- openany :: ClassOption
- fleqn :: ClassOption
- leqno :: ClassOption
- data PaperType
- a0paper :: ClassOption
- a1paper :: ClassOption
- a2paper :: ClassOption
- a3paper :: ClassOption
- a4paper :: ClassOption
- a5paper :: ClassOption
- a6paper :: ClassOption
- b0paper :: ClassOption
- b1paper :: ClassOption
- b2paper :: ClassOption
- b3paper :: ClassOption
- b4paper :: ClassOption
- b5paper :: ClassOption
- b6paper :: ClassOption
- letterpaper :: ClassOption
- executivepaper :: ClassOption
- legalpaper :: ClassOption
- pagestyle :: LaTeXC l => PageStyle -> l
- thispagestyle :: LaTeXC l => PageStyle -> l
- plain :: PageStyle
- headings :: PageStyle
- empty :: PageStyle
- myheadings :: PageStyle
- markboth :: LaTeXC l => l -> l -> l
- markright :: LaTeXC l => l -> l
- document :: LaTeXC l => l -> l
- maketitle :: LaTeXC l => l
- tableofcontents :: LaTeXC l => l
- abstract :: LaTeXC l => l -> l
- appendix :: LaTeXC l => l
- part :: LaTeXC l => l -> l
- chapter :: LaTeXC l => l -> l
- section :: LaTeXC l => l -> l
- subsection :: LaTeXC l => l -> l
- subsubsection :: LaTeXC l => l -> l
- paragraph :: LaTeXC l => l -> l
- subparagraph :: LaTeXC l => l -> l
- today :: LaTeXC l => l
- thePage :: LaTeXC l => l
- tex :: LaTeXC l => l
- latex :: LaTeXC l => l
- laTeX2 :: LaTeXC l => l
- laTeXe :: LaTeXC l => l
- ldots :: LaTeXC l => l
- vdots :: LaTeXC l => l
- ddots :: LaTeXC l => l
- hatex :: LaTeXC l => l
- hatex3 :: LaTeXC l => l
- version :: Version
- hatex_version :: LaTeXC l => l
- par :: LaTeXC l => l
- newline :: LaTeXC l => l
- lnbk :: LaTeXC l => l
- lnbk_ :: LaTeXC l => l
- newpage :: LaTeXC l => l
- cleardoublepage :: LaTeXC l => l
- clearpage :: LaTeXC l => l
- linebreak :: LaTeXC l => l -> l
- nolinebreak :: LaTeXC l => l -> l
- pagebreak :: LaTeXC l => l -> l
- nopagebreak :: LaTeXC l => l -> l
- hspace :: LaTeXC l => Measure -> l
- hspace_ :: LaTeXC l => Measure -> l
- vspace :: LaTeXC l => Measure -> l
- hfill :: LaTeXC l => l
- vfill :: LaTeXC l => l
- stretch :: LaTeXC l => Int -> l
- smallskip :: LaTeXC l => l
- bigskip :: LaTeXC l => l
- indent :: LaTeXC l => l
- noindent :: LaTeXC l => l
- textwidth :: LaTeXC l => l
- linewidth :: LaTeXC l => l
- verbatim :: LaTeXC l => Text -> l
- verb :: LaTeXC l => Text -> l
- textbf :: LaTeXC l => l -> l
- textit :: LaTeXC l => l -> l
- texttt :: LaTeXC l => l -> l
- textrm :: LaTeXC l => l -> l
- textsf :: LaTeXC l => l -> l
- textmd :: LaTeXC l => l -> l
- textup :: LaTeXC l => l -> l
- textsl :: LaTeXC l => l -> l
- textsc :: LaTeXC l => l -> l
- textnormal :: LaTeXC l => l -> l
- underline :: LaTeXC l => l -> l
- emph :: LaTeXC l => l -> l
- tiny :: LaTeXC l => l -> l
- scriptsize :: LaTeXC l => l -> l
- footnotesize :: LaTeXC l => l -> l
- small :: LaTeXC l => l -> l
- normalsize :: LaTeXC l => l -> l
- large :: LaTeXC l => l -> l
- large2 :: LaTeXC l => l -> l
- large3 :: LaTeXC l => l -> l
- huge :: LaTeXC l => l -> l
- huge2 :: LaTeXC l => l -> l
- enumerate :: LaTeXC l => l -> l
- itemize :: LaTeXC l => l -> l
- item :: LaTeXC l => Maybe l -> l
- flushleft :: LaTeXC l => l -> l
- flushright :: LaTeXC l => l -> l
- center :: LaTeXC l => l -> l
- quote :: LaTeXC l => l -> l
- verse :: LaTeXC l => l -> l
- cite :: LaTeXC l => l -> l
- description :: LaTeXC l => l -> l
- minipage :: LaTeXC l => Maybe Pos -> l -> l -> l
- figure :: LaTeXC l => Maybe Pos -> l -> l
- pagenumbering :: LaTeXC l => l -> l
- arabic :: LaTeXC l => l
- roman :: LaTeXC l => l
- roman_ :: LaTeXC l => l
- alph :: LaTeXC l => l
- alph_ :: LaTeXC l => l
- mbox :: LaTeXC l => l -> l
- fbox :: LaTeXC l => l -> l
- parbox :: LaTeXC l => Maybe Pos -> Measure -> l -> l
- framebox :: LaTeXC l => Maybe Measure -> Maybe Pos -> l -> l
- makebox :: LaTeXC l => Maybe Measure -> Maybe Pos -> l -> l
- raisebox :: LaTeXC l => Measure -> Maybe Measure -> Maybe Measure -> l -> l
- rule :: LaTeXC l => Maybe Measure -> Measure -> Measure -> l
- caption :: LaTeXC l => l -> l
- label :: LaTeXC l => l -> l
- ref :: LaTeXC l => l -> l
- pageref :: LaTeXC l => l -> l
- tabular :: LaTeXC l => Maybe Pos -> [TableSpec] -> l -> l
- (&) :: LaTeXC l => l -> l -> l
- hline :: LaTeXC l => l
- cline :: LaTeXC l => Int -> Int -> l
- multicolumn :: LaTeXC l => Int -> [TableSpec] -> l -> l
- footnote :: LaTeXC l => l -> l
- protect :: LaTeXC l => l -> l
- hyphenation :: LaTeXC l => l -> l
- hyp :: LaTeXC l => l
- qts :: LaTeXC l => l -> l
- input :: LaTeXC l => FilePath -> l
- include :: LaTeXC l => FilePath -> l
Basic functions
raw :: LaTeXC l => Text -> lSource
Insert a raw piece of Text
.
This functions doesn't care about 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.
between :: Monoid m => m -> m -> m -> mSource
Calling between
c l1 l2
puts c
between l1
and l2
and
appends them.
between c l1 l2 = l1 <> c <> l2
(%:) :: LaTeXC l => l -> Text -> lSource
This operator appends a comment after a expression. For example:
textbf "I'm just an example." %: "Insert a few words here."
The implementation is
(%:) l = (l <>) . comment
Since you are writing in Haskell, you may not need to output comments as you can add them in the Haskell source. I added this feature for completeness. It may be useful for debugging the output as well.
Preamble commands
institute :: LaTeXC l => Maybe l -> l -> lSource
Set either an institute or an organization
for the document. It does not work for
a document of the article
class.
:: LaTeXC l | |
=> [ClassOption] | Class options |
-> ClassName | Class name |
-> l |
Set the document class. Needed in all documents.
usepackage :: LaTeXC l => [l] -> PackageName -> lSource
Import a package. First argument is a list of options for the package named in the second argument.
linespread :: LaTeXC l => Float -> lSource
Classes
Document classes
Class options
data ClassOption Source
A class option to be passed to the documentclass
function.
customopt :: String -> ClassOptionSource
landscape :: ClassOptionSource
Changes the layout of the document to print in landscape mode
openright :: ClassOptionSource
Makes chapters begin either only on right hand pages
Makes chapters begin on the next page available.
Typesets displayed formulae left-aligned instead of centred.
Places the numbering of formulae on the left hand side instead of the right.
Paper sizes
LaTeX available paper types.
Page styles
thispagestyle :: LaTeXC l => PageStyle -> lSource
markboth :: LaTeXC l => l -> l -> lSource
Used in conjunction with myheadings
for setting both the left and the right heading.
markright :: LaTeXC l => l -> lSource
Used in conjunction with myheadings
for setting the right heading.
Body commands
Document structure
tableofcontents :: LaTeXC l => lSource
Create the table of contents, automatically generated
from your section
s, subsection
s, and other related stuff.
Sections
subsection :: LaTeXC l => l -> lSource
Start a new subsection.
subsubsection :: LaTeXC l => l -> lSource
Start a new subsubsection.
subparagraph :: LaTeXC l => l -> lSource
Start a subparagraph (minimal level of sectioning).
Logos & symbols
HaTeX specific
hatex_version :: LaTeXC l => lSource
Print the HaTeX logo, beside the complete version number.
Document layout
cleardoublepage :: LaTeXC l => lSource
nolinebreak :: LaTeXC l => l -> lSource
nopagebreak :: LaTeXC l => l -> lSource
Document measures
Formatting text
verbatim :: LaTeXC l => Text -> lSource
The point of verbatim
is to include text that will
not be parsed as LaTeX in any way at all, but should simply
appear as given in the document, in a separate display
in typewriter font.
verb :: LaTeXC l => Text -> lSource
Include text, as given and in typewriter, but in-line. Note that, for LaTeX-specific technical reasons, verbatim text can generally only be used "at the top level", not in e.g. section titles or other command-arguments.
Unlike verbatim
, which LaTeX implements as an ordinary environment,
its command verb
uses a syntax trick to avoid braking its parsing
when the literal text contains a closing brace: rather than using braces
at all, the first character after \verb
will be the right delimiter as well.
Translating this method to HaTeX wouldn't really make sense since Haskell
has string literals with their own escaping possibilities; instead, we make
it secure by automatically choosing a delimiter that does not turn up
in the given string.
Fonts
textnormal :: LaTeXC l => l -> lSource
Sizes
Sizes are sorted from smallest to biggest.
scriptsize :: LaTeXC l => l -> lSource
footnotesize :: LaTeXC l => l -> lSource
normalsize :: LaTeXC l => l -> lSource
Environments
Math environments, such as equation
, defined in Text.LaTeX.Packages.AMSMath.
enumerate :: LaTeXC l => l -> lSource
Environment of ordered lists. Use item
to start each list
item.
itemize :: LaTeXC l => l -> lSource
Environment of unordered lists. Use item
to start each list
item.
flushright :: LaTeXC l => l -> lSource
Right-justify the argument.
description :: LaTeXC l => l -> lSource
Minipage environment.
Page numbering
pagenumbering :: LaTeXC l => l -> lSource
Boxes
Produce a simple black box.
Cross references
Tables
:: LaTeXC l | |
=> Maybe Pos | This optional parameter can be used to specify the vertical position of the table.
Defaulted to |
-> [TableSpec] | Table specification of columns and vertical lines. |
-> l | |
-> l | Resulting table syntax. |
The tabular
environment can be used to typeset tables with optional horizontal and vertical lines.
cline :: LaTeXC l => Int -> Int -> lSource
cline i j
writes a partial horizontal line beginning in column i
and ending in column j
.
multicolumn :: LaTeXC l => Int -> [TableSpec] -> l -> lSource
Cell taking multiple columns.
Others
hyphenation :: LaTeXC l => l -> lSource