`sig
type t
type size =
[ `Baselineskip of float
| `Baselinestretch of float
| `Bp of float
| `Cc of float
| `Cm of float
| `Dd of float
| `Em of float
| `Ex of float
| `Fill
| `In of float
| `Linewidth of float
| `Mm of float
| `Parindent of float
| `Parskip of float
| `Pc of float
| `Pt of float
| `Sp of float
| `Stretch of int
| `Textheight of float
| `Textwidth of float
| `Unitlength of float ]
val latex_of_size : Latex.size -> Latex.t
type documentclass =
[ `Article
| `Beamer
| `Book
| `Custom of string
| `Letter
| `Report
| `Slides ]
type documentoptions = [ `A4paper | `Landscape | `Pt of int | `TwoColumn ]
val document :
?documentclass:Latex.documentclass ->
?options:Latex.documentoptions list ->
?title:Latex.t ->
?author:Latex.t ->
?date:Latex.t ->
?prelude:Latex.t ->
?packages:(Latex.t * Latex.t) list -> Latex.t -> Latex.t
type 'a variable
val variable :
?eq:('a -> 'a -> bool) ->
?name:string -> ?printer:('a -> string) -> 'a -> 'a Latex.variable
val setf : 'a Latex.variable -> ('a -> 'a) -> Latex.t
val setf2 :
'a Latex.variable -> 'b Latex.variable -> ('a -> 'b -> 'b) -> Latex.t
type position
val position : ?name:string -> unit -> Latex.position
val place : Latex.position -> Latex.t
val get :
?position:Latex.position ->
'a Latex.variable -> ('a -> Latex.t) -> Latex.t
val set : 'a Latex.variable -> 'a -> Latex.t
val final : 'a Latex.variable -> ('a -> Latex.t) -> Latex.t
val incr_var : int Latex.variable -> Latex.t
val decr_var : int Latex.variable -> Latex.t
val vari : int Latex.variable -> Latex.t
val varf : float Latex.variable -> Latex.t
val varb : bool Latex.variable -> Latex.t
val vars : string Latex.variable -> Latex.t
val vart : Latex.t Latex.variable -> Latex.t
val finali : int Latex.variable -> Latex.t
val finalf : float Latex.variable -> Latex.t
val finalb : bool Latex.variable -> Latex.t
val finals : string Latex.variable -> Latex.t
val finalt : Latex.t Latex.variable -> Latex.t
type label
val label : ?name:string -> unit -> Latex.label
val ref_ : Latex.label -> Latex.t
type float_position = [ `B | `Force | `H | `P | `T ]
val float_all : Latex.float_position list
val figure :
?label:Latex.label ->
?pos:Latex.float_position list ->
?center:bool ->
?side_caption:bool ->
?caption:Latex.t -> ?wide:bool -> Latex.t -> Latex.t
type wrapfigure_position =
[ `Force of [ `I | `L | `O | `R ] | `I | `L | `O | `R ]
val wrapfigure :
?label:Latex.label ->
?pos:Latex.wrapfigure_position ->
?lines:int ->
?width:Latex.size ->
?center:bool -> ?caption:Latex.t -> Latex.t -> Latex.t
type floatingfigure_position = [ `L | `P | `R ]
val floatingfigure :
?label:Latex.label ->
?pos:Latex.floatingfigure_position ->
?width:Latex.size ->
?center:bool -> ?caption:Latex.t -> Latex.t -> Latex.t
val subfloat : ?label:Latex.label -> ?caption:Latex.t -> Latex.t -> Latex.t
val hyphen : Latex.t
val index : Latex.t -> Latex.t -> Latex.t
val exponent : Latex.t -> Latex.t -> Latex.t
val index_exponent : Latex.t -> Latex.t -> Latex.t -> Latex.t
val tableofcontents : Latex.t
val listoffigures : Latex.t
val listoftables : Latex.t
val appendix : Latex.t
val place_index : Latex.t -> Latex.t
val printindex : Latex.t
val today : Latex.t
val maketitle : Latex.t
val part : ?label:Latex.label -> Latex.t -> Latex.t
val chapter : ?label:Latex.label -> ?short:Latex.t -> Latex.t -> Latex.t
val section : ?label:Latex.label -> ?short:Latex.t -> Latex.t -> Latex.t
val subsection : ?label:Latex.label -> ?short:Latex.t -> Latex.t -> Latex.t
val subsubsection :
?label:Latex.label -> ?short:Latex.t -> Latex.t -> Latex.t
val paragraph : Latex.t -> Latex.t
val chapter' : ?label:Latex.label -> ?short:Latex.t -> Latex.t -> Latex.t
val section' : ?label:Latex.label -> ?short:Latex.t -> Latex.t -> Latex.t
val subsection' :
?label:Latex.label -> ?short:Latex.t -> Latex.t -> Latex.t
val subsubsection' :
?label:Latex.label -> ?short:Latex.t -> Latex.t -> Latex.t
val par : Latex.t
val displaymath : Latex.t -> Latex.t
val equation : ?label:Latex.label -> Latex.t -> Latex.t
val hfill : Latex.t
val vfill : Latex.t
val vfil : Latex.t
val footnote : Latex.t -> Latex.t
val latex_of_int : int -> Latex.t
val latex_of_float : float -> Latex.t
val itemize : Latex.t list -> Latex.t
val enumerate : Latex.t list -> Latex.t
val newline : Latex.t
val newline_size : Latex.size -> Latex.t
val newpage : Latex.t
val clearpage : Latex.t
val noindent : Latex.t
val space : Latex.t
val quad : Latex.t
val qquad : Latex.t
val includegraphics : Latex.t -> Latex.t
val symbol : int -> Latex.t
val symbolc : char -> Latex.t
val center : Latex.t -> Latex.t
val flushleft : Latex.t -> Latex.t
val flushright : Latex.t -> Latex.t
val quote : Latex.t -> Latex.t
val quotation : Latex.t -> Latex.t
val stackrel : Latex.t -> Latex.t -> Latex.t
val vspace : Latex.size -> Latex.t
val hspace : Latex.size -> Latex.t
val addvspace : Latex.size -> Latex.t
val ignorespaces : Latex.t
val smallskip : Latex.t
val medskip : Latex.t
val bigskip : Latex.t
val nointerlineskip : Latex.t
val phantom : Latex.t -> Latex.t
val vphantom : Latex.t -> Latex.t
val hphantom : Latex.t -> Latex.t
val rule_ : ?lift:Latex.size -> Latex.size -> Latex.size -> Latex.t
type valignment = [ `B | `C | `T ]
val parbox : Latex.size -> ?valign:Latex.valignment -> Latex.t -> Latex.t
val minipage : Latex.size -> ?valign:Latex.valignment -> Latex.t -> Latex.t
type halignment = [ `C | `L | `R | `S ]
type xsize =
[ `Baselineskip of float
| `Baselinestretch of float
| `Bp of float
| `Cc of float
| `Cm of float
| `Dd of float
| `Depth of float
| `Em of float
| `Ex of float
| `Fill
| `Height of float
| `In of float
| `Linewidth of float
| `Mm of float
| `Parindent of float
| `Parskip of float
| `Pc of float
| `Pt of float
| `Sp of float
| `Stretch of int
| `Textheight of float
| `Textwidth of float
| `Totalheight of float
| `Unitlength of float
| `Width of float ]
val makebox : Latex.xsize -> ?halign:Latex.halignment -> Latex.t -> Latex.t
val framebox :
Latex.xsize -> ?halign:Latex.halignment -> Latex.t -> Latex.t
val raisebox :
shift:Latex.xsize ->
?fakeheight:Latex.xsize * Latex.xsize -> Latex.t -> Latex.t
type alignment = [ `C | `L | `R ]
type array_column = [ `C | `L | `R | `Sep of Latex.t | `Vert ]
type array_line
val array :
?valign:Latex.valignment ->
Latex.array_column list -> Latex.array_line list -> Latex.t
val array_line :
?sep:Latex.size ->
?layout:(int * [ `C | `I | `L | `R ]) list ->
Latex.t list -> Latex.array_line
val array_command : Latex.t -> Latex.array_line
val frontmatter : Latex.t
val backmatter : Latex.t
val mainmatter : Latex.t
val underbrace : Latex.t -> Latex.t -> Latex.t
val overbrace : Latex.t -> Latex.t -> Latex.t
val emph : Latex.t -> Latex.t
val texttt : Latex.t -> Latex.t
val textsc : Latex.t -> Latex.t
val textit : Latex.t -> Latex.t
val textbf : Latex.t -> Latex.t
val textrm : Latex.t -> Latex.t
val textsf : Latex.t -> Latex.t
val mathit : Latex.t -> Latex.t
val mathbf : Latex.t -> Latex.t
val mathrm : Latex.t -> Latex.t
val mathsf : Latex.t -> Latex.t
val mathcal : Latex.t -> Latex.t
val tiny : Latex.t -> Latex.t
val scriptsize : Latex.t -> Latex.t
val footnotesize : Latex.t -> Latex.t
val small : Latex.t -> Latex.t
val normalsize : Latex.t -> Latex.t
val large : Latex.t -> Latex.t
val large2 : Latex.t -> Latex.t
val large3 : Latex.t -> Latex.t
val huge : Latex.t -> Latex.t
val huge2 : Latex.t -> Latex.t
val hat : Latex.t -> Latex.t
val grave : Latex.t -> Latex.t
val bar : Latex.t -> Latex.t
val acute : Latex.t -> Latex.t
val mathring : Latex.t -> Latex.t
val check : Latex.t -> Latex.t
val dot : Latex.t -> Latex.t
val vec : Latex.t -> Latex.t
val breve : Latex.t -> Latex.t
val tilde : Latex.t -> Latex.t
val ddot : Latex.t -> Latex.t
val widehat : Latex.t -> Latex.t
val widetilde : Latex.t -> Latex.t
val overline : Latex.t -> Latex.t
val alpha : Latex.t
val beta : Latex.t
val gamma : Latex.t
val delta : Latex.t
val epsilon : Latex.t
val varepsilon : Latex.t
val zeta : Latex.t
val eta : Latex.t
val theta : Latex.t
val vartheta : Latex.t
val iota : Latex.t
val kappa : Latex.t
val varkappa : Latex.t
val lambda : Latex.t
val mu : Latex.t
val nu : Latex.t
val xi : Latex.t
val pi : Latex.t
val varpi : Latex.t
val rho : Latex.t
val varrho : Latex.t
val sigma : Latex.t
val varsigma : Latex.t
val tau : Latex.t
val upsilon : Latex.t
val phi : Latex.t
val varphi : Latex.t
val chi : Latex.t
val psi : Latex.t
val omega : Latex.t
val digamma : Latex.t
val gamma_ : Latex.t
val delta_ : Latex.t
val theta_ : Latex.t
val lambda_ : Latex.t
val xi_ : Latex.t
val pi_ : Latex.t
val sigma_ : Latex.t
val upsilon_ : Latex.t
val phi_ : Latex.t
val psi_ : Latex.t
val omega_ : Latex.t
val aleph : Latex.t
val beth : Latex.t
val gimel : Latex.t
val daleth : Latex.t
val le : Latex.t
val leq : Latex.t
val leqslant : Latex.t
val ge : Latex.t
val geq : Latex.t
val geqslant : Latex.t
val equiv : Latex.t
val ll : Latex.t
val gg : Latex.t
val doteq : Latex.t
val prec : Latex.t
val succ : Latex.t
val sim : Latex.t
val preceq : Latex.t
val succeq : Latex.t
val simeq : Latex.t
val subset : Latex.t
val supset : Latex.t
val approx : Latex.t
val subseteq : Latex.t
val supseteq : Latex.t
val cong : Latex.t
val sqsubset : Latex.t
val sqsupset : Latex.t
val join_ : Latex.t
val sqsubseteq : Latex.t
val sqsupseteq : Latex.t
val bowtie : Latex.t
val in_ : Latex.t
val owns : Latex.t
val propto : Latex.t
val vdash : Latex.t
val dashv : Latex.t
val models : Latex.t
val mid : Latex.t
val parallel : Latex.t
val perp : Latex.t
val smile : Latex.t
val frown : Latex.t
val asymp : Latex.t
val not_ : Latex.t -> Latex.t
val notin : Latex.t
val ne : Latex.t
val neq : Latex.t
val pm : Latex.t
val mp : Latex.t
val triangleleft : Latex.t
val cdot : Latex.t
val div : Latex.t
val triangleright : Latex.t
val times : Latex.t
val setminus : Latex.t
val star : Latex.t
val cup : Latex.t
val cap : Latex.t
val ast : Latex.t
val sqcup : Latex.t
val sqcap : Latex.t
val circ : Latex.t
val bullet : Latex.t
val oplus : Latex.t
val ominus : Latex.t
val diamond : Latex.t
val odot : Latex.t
val oslash : Latex.t
val uplus : Latex.t
val otimes : Latex.t
val bigcirc : Latex.t
val amalg : Latex.t
val bigtriangleup : Latex.t
val bigtriangledown : Latex.t
val dagger : Latex.t
val lhd : Latex.t
val rhd : Latex.t
val ddagger : Latex.t
val unlhd : Latex.t
val unrhd : Latex.t
val wr : Latex.t
val sum : Latex.t
val prod : Latex.t
val coprod : Latex.t
val bigcup : Latex.t
val bigcap : Latex.t
val bigvee : Latex.t
val bigwedge : Latex.t
val bigsqcup : Latex.t
val biguplus : Latex.t
val int : Latex.t
val oint : Latex.t
val bigodot : Latex.t
val bigoplus : Latex.t
val bigotimes : Latex.t
val leftarrow : Latex.t
val rightarrow : Latex.t
val to_ : Latex.t
val leftrightarrow : Latex.t
val leftarrow_ : Latex.t
val rightarrow_ : Latex.t
val leftrightarrow_ : Latex.t
val longleftarrow : Latex.t
val longrightarrow : Latex.t
val longleftrightarrow : Latex.t
val longleftarrow_ : Latex.t
val longrightarrow_ : Latex.t
val longleftrightarrow_ : Latex.t
val iff : Latex.t
val mapsto : Latex.t
val longmapsto : Latex.t
val hookleftarrow : Latex.t
val hookrightarrow : Latex.t
val leftharpoonup : Latex.t
val rightharpoonup : Latex.t
val leftharpoondown : Latex.t
val rightharpoondown : Latex.t
val rightleftharpoons : Latex.t
val uparrow : Latex.t
val downarrow : Latex.t
val updownarrow : Latex.t
val uparrow_ : Latex.t
val downarrow_ : Latex.t
val updownarrow_ : Latex.t
val nearrow : Latex.t
val searrow : Latex.t
val swarrow : Latex.t
val nwarrow : Latex.t
val leadsto : Latex.t
val box_ : Latex.t
val langle : Latex.t
val rangle : Latex.t
val lceil : Latex.t
val rceil : Latex.t
val frac : Latex.t -> Latex.t -> Latex.t
val land_ : Latex.t
val lor_ : Latex.t
val lnot : Latex.t
val neg : Latex.t
val forall : Latex.t
val exists : Latex.t
val top : Latex.t
val bot : Latex.t
val sharp : Latex.t
val dots : Latex.t
val cdots : Latex.t
val ldots : Latex.t
val emptyset : Latex.t
type doublable_delimiter = [ `Down | `Up | `Up_down | `Vert ]
type delimiter =
[ `Angle
| `Brace
| `Bracket
| `Ceil
| `Double of Latex.doublable_delimiter
| `Down
| `Floor
| `None
| `Paren
| `Slash
| `Up
| `Up_down
| `Vert ]
val left : Latex.delimiter -> Latex.t
val right : Latex.delimiter -> Latex.t
val just_left : Latex.delimiter -> Latex.t -> Latex.t
val just_right : Latex.delimiter -> Latex.t -> Latex.t
val between : Latex.delimiter -> Latex.t -> Latex.t
val oe : Latex.t
val mathbb : Latex.t -> Latex.t
val mathfrak : Latex.t -> Latex.t
val align : Latex.t -> Latex.t
val align_ : Latex.t -> Latex.t
val gather : Latex.t -> Latex.t
val gather_ : Latex.t -> Latex.t
val split : Latex.t -> Latex.t
val proof : ?opt:Latex.t -> Latex.t -> Latex.t
val twoheadrightarrow : Latex.t
val square : Latex.t
val par_ : Latex.t
val black_triangle_left : Latex.t
val black_triangle_right : Latex.t
val mathpar : Latex.t list -> Latex.t
val inferrule :
?lab:Latex.t ->
?left:Latex.t ->
?right:Latex.t ->
?vdots:Latex.size ->
?width:Latex.size ->
?leftskip:Latex.size ->
?rightskip:Latex.size -> Latex.t list -> Latex.t list -> Latex.t
val llbracket : Latex.t
val rrbracket : Latex.t
val llparenthesis : Latex.t
val rrparenthesis : Latex.t
val slide : Latex.t -> Latex.t
module type BEAMER =
sig
type beamertemplate = [ `Footline | `NavigationSymbols ]
type tocoptions =
[ `CurrentSection
| `CurrentSubsection
| `HideAllSubsections
| `HideOtherSubsections
| `PauseSections
| `PauseSubsections ]
val frame : ?title:Latex.t -> ?subtitle:Latex.t -> Latex.t -> Latex.t
val setbeamertemplate :
Latex.BEAMER.beamertemplate -> Latex.t -> Latex.t
val insertpagenumber : Latex.t
val insertdocumentendpage : Latex.t
val inserttitle : Latex.t
val insertsection : Latex.t
val insertsubsection : Latex.t
val insertshorttitle : Latex.t
val insertshortsection : Latex.t
val insertshortsubsection : Latex.t
val tableofcontents : Latex.BEAMER.tocoptions list -> Latex.t
val at_begin_section : Latex.t -> Latex.t
val at_begin_subsection : Latex.t -> Latex.t
val at_begin_subsubsection : Latex.t -> Latex.t
val block : Latex.t -> Latex.t -> Latex.t
type color =
[ `Blue
| `Gray
| `Green
| `RGB of float * float * float
| `Red
| `Yellow ]
val color : Latex.BEAMER.color -> Latex.t -> Latex.t
type overlays_spec = [ `I of int ]
val only : Latex.BEAMER.overlays_spec list -> Latex.t -> Latex.t
val includegraphics :
?only:Latex.BEAMER.overlays_spec list -> Latex.t -> Latex.t
type column_alignment = [ `B | `C | `T ]
val columns :
?align:Latex.BEAMER.column_alignment -> Latex.t -> Latex.t
val column :
?align:Latex.BEAMER.column_alignment ->
Latex.size -> Latex.t -> Latex.t
val equi_columns :
?align:Latex.BEAMER.column_alignment -> Latex.t list -> Latex.t
end
module Beamer : BEAMER
module Verbatim :
sig
val verbatim : string -> Latex.t
val regexps :
(Str.regexp * (string -> Latex.t)) list ->
(string -> Latex.t) -> string -> Latex.t
val keywords :
?apply:(Latex.t -> Latex.t) -> string list -> string -> Latex.t
val pseudocode :
?trim:(string -> string) ->
?id_regexp:Str.regexp ->
?kw_apply:(Latex.t -> Latex.t) ->
?id_apply:(Latex.t -> Latex.t) ->
?rem_apply:(string -> Latex.t) ->
?keywords:string list ->
?symbols:(string * Latex.t) list ->
?keyword_symbols:(string * Latex.t) list ->
?underscore:Str.regexp -> string -> Latex.t
val trim : char list -> string -> string
val trim_begin : char list -> string -> string
val trim_end : char list -> string -> string
val split_lines : string -> string list
end
type mode = M | T | A
val empty : Latex.t
val is_empty : Latex.t -> bool
val text : string -> Latex.t
val concat : Latex.t list -> Latex.t
val ( ^^ ) : Latex.t -> Latex.t -> Latex.t
val command :
?packages:(string * string) list ->
string ->
?opt:Latex.mode * Latex.t ->
(Latex.mode * Latex.t) list -> Latex.mode -> Latex.t
type arg_kind
val bracket : Latex.arg_kind
val brace : Latex.arg_kind
val nobr : Latex.arg_kind
val unusual_command :
?packages:(string * string) list ->
string ->
(Latex.mode * Latex.arg_kind * Latex.t) list -> Latex.mode -> Latex.t
val within_braces : Latex.t -> Latex.t
val environment :
?packages:(string * string) list ->
string ->
?opt:Latex.mode * Latex.t ->
?args:(Latex.mode * Latex.t) list ->
Latex.mode * Latex.t -> Latex.mode -> Latex.t
val mode : Latex.mode -> Latex.t -> Latex.t
val documentclass : ?opt:Latex.mode * Latex.t -> Latex.t -> Latex.t
val required_packages : Latex.t
val require_packages : (Latex.t * Latex.t) list -> Latex.t
val documentmatter : Latex.t -> Latex.t
val latex : Latex.t
val usepackage : ?opt:Latex.t -> Latex.t -> Latex.t
val input : Latex.t -> Latex.t
val newcommand : int -> Latex.t -> Latex.t -> Latex.t
val renewcommand : int -> Latex.t -> Latex.t -> Latex.t
val block : Latex.t -> Latex.t
val place_label : Latex.label -> Latex.t
val atbegindocument : Latex.t -> Latex.t
val addcontentsline : Latex.t -> Latex.t -> Latex.t -> Latex.t
val pagestyle : Latex.t -> Latex.t
val thispagestyle : Latex.t -> Latex.t
val list_insert : 'a -> 'a list -> 'a list
type env
val get_in_env :
?position:Latex.position -> 'a Latex.variable -> Latex.env -> 'a
val to_buffer :
?mode:Latex.mode -> ?env:Latex.env -> Buffer.t -> Latex.t -> Latex.env
val to_channel :
?mode:Latex.mode ->
?env:Latex.env -> Pervasives.out_channel -> Latex.t -> Latex.env
val to_file :
?mode:Latex.mode -> ?env:Latex.env -> string -> Latex.t -> Latex.env
val to_string : ?mode:Latex.mode -> Latex.t -> string
val to_string_with_env :
?mode:Latex.mode -> ?env:Latex.env -> Latex.t -> string * Latex.env
end`