package patoline

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
module type CustomT = sig ... end

Signature of a module extending the type math list into a type math list t with the necessary typeseting machinery.

module type Custom = sig ... end

Signature of a module containing only one element of type u C.t, for a module C : CustomT. The type u will actually be constrained to math list when it is defined... See the constructor Custom below.

type math =
  1. | Ordinary of nucleus node
  2. | Glue of Box.drawingBox
  3. | Env of Document.environment -> Document.environment
  4. | Scope of Document.environment -> Document.Mathematical.style -> math list
  5. | Binary of binary
  6. | Fraction of fraction
  7. | Operator of operator
  8. | Decoration of Document.environment -> Document.Mathematical.style -> Box.box list -> Box.box list * math list
  9. | Custom of (module Custom with type u = math list)
and 'a node = {
  1. nucleus : 'a;
  2. subscript_left : math list;
  3. subscript_right : math list;
  4. superscript_left : math list;
  5. superscript_right : math list;
  6. super_left_same_script : bool;
  7. super_right_same_script : bool;
}
and nucleuses = nucleus list
and binary_type =
  1. | Invisible
    (*

    Invisible product symbol.

    *)
  2. | Normal of bool * nucleus node * bool
    (*

    Regular binary symbol, the booleans remove spacing if true.

    *)
and binary = {
  1. bin_priority : int;
  2. bin_drawing : binary_type;
  3. bin_left : math list;
  4. bin_right : math list;
}
and fraction = {
  1. numerator : math list;
  2. denominator : math list;
  3. line : Document.environment -> Document.Mathematical.style -> Patoraw.RawContent.path_param;
}
and operator = {
  1. op_node : nucleuses node;
  2. op_limits : bool;
  3. op_left_contents : math list;
  4. op_right_contents : math list;
}
module Mk_Custom (C : CustomT) : sig ... end

Convenient functor to use the Custom constructor.

val debug_kerning : bool ref
val env_style : 'a array -> Document.Mathematical.style -> 'a
val node : 'a -> 'a node
val fraction : math list -> math list -> math
val bin : int -> binary_type -> math list -> math list -> math
val bin_invisible : int -> math list -> math list -> math
val operator : bool -> math list -> nucleuses node -> math list -> math
val op_limits : math list -> nucleuses node -> math list -> math
val op_nolimits : math list -> nucleuses node -> math list -> math
val is_cramped : Document.Mathematical.style -> bool
val nonscript : Document.Mathematical.style -> bool
val apply_head : ('a -> 'a) -> 'a list -> 'a list
val last : 'a list -> 'a
val adjust_space : ?absolute:bool -> Document.Mathematical.env -> float -> float -> Patoraw.RawContent.raw list -> Patoraw.RawContent.raw list -> float
val line : ('a * 'b) -> ('a * 'b) -> 'a array * 'b array
val contents : Box.box -> string
type draw_env = {
  1. depth : int;
  2. prio : int;
}
val dincr : draw_env -> draw_env
val draw : Document.environment list -> math list -> Box.box list
val kdraw : Document.environment list -> math list -> Box.box list
val dist_boxes : Document.environment -> 'a -> Box.box list -> Box.box list -> float
val glyphs : string -> Document.environment -> Document.Mathematical.style -> Box.box list
val multi_glyphs : ('a -> 'b -> 'c) list -> 'a -> 'b -> 'c list
val symbol : ?name:string -> Patfonts.Fonts.font -> int list -> Document.environment -> Document.Mathematical.style -> Box.box list
val sqrts : Patfonts.Fonts.glyph array ref
val sqrt : math list -> math list
val math_env_set : (Document.environment -> Document.environment) -> math list -> math list

Allows to modify the Document.environment in a math formula.

val mcolor : Patoraw.Color.color -> math list -> math list
val fit : math list -> math list
val findFont : FontPattern.t -> string
val asana_font : Patfonts.Fonts.font Lazy.t
val asana : string -> int -> Document.environment -> Document.Mathematical.style -> Box.box list
val euler_font : Patfonts.Fonts.font Lazy.t
val euler : string -> int -> Document.environment -> Document.Mathematical.style -> Box.box list
val ams : string -> int -> Document.environment -> Document.Mathematical.style -> Box.box list
val adjusted_asana_delimiters' : 'a -> ('b -> 'c -> Box.box list) list -> ('b -> 'c -> Box.box list) list
val adjusted_asana_delimiters : string -> int list -> (Document.environment -> Document.Mathematical.style -> Box.box list) list
val fix_asana_delimiters : string -> int list -> (Document.environment -> Document.Mathematical.style -> Box.box list) list
val adjusted_euler_delimiters : string -> int list -> (Document.environment -> Document.Mathematical.style -> Box.box list) list