sig
  type melt_verbatim_string =
      [ `C of Latex.t | `M of Latex.t | `T of Latex.t | `V of string ] list
  type latex_verbatim_function = string -> Latex.t
  type melt_verbatim_function = Melt.Verbatim.melt_verbatim_string -> Latex.t
  val convert :
    Melt.Verbatim.latex_verbatim_function ->
    Melt.Verbatim.melt_verbatim_function
  val trim :
    char list ->
    Melt.Verbatim.melt_verbatim_string -> Melt.Verbatim.melt_verbatim_string
  val split_lines :
    Melt.Verbatim.melt_verbatim_string ->
    Melt.Verbatim.melt_verbatim_string list
  val verbatim : Melt.Verbatim.melt_verbatim_function
  val regexps :
    (Str.regexp * (string -> Latex.t)) list ->
    (string -> Latex.t) -> Melt.Verbatim.melt_verbatim_function
  val keywords :
    ?apply:(Latex.t -> Latex.t) ->
    string list -> Melt.Verbatim.melt_verbatim_function
  val pseudocode :
    ?trim:(Melt.Verbatim.melt_verbatim_string ->
           Melt.Verbatim.melt_verbatim_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 -> Melt.Verbatim.melt_verbatim_function
end