[{"name":"MiniLatex","comment":" This library exposes functions for rendering MiniLaTeX text into HTML.\nMost users will need only (1) the functions exposed in the `MiniLatex` module\nand (2) `EditRecord`, which is exposed in the `Differ` module.\n\nSee [MiniLatex Live](https://jxxcarlson.github.io/app/miniLatexLive/index.html)\nfor a no-login demo of the MiniLatex technology. [Source code](https://github.com/jxxcarlson/MiniLatexLive)\n\nSee this [Hackernoon article](https://hackernoon.com/towards-latex-in-the-browser-2ff4d94a0c08)\nfor an explanation of the theory behind the MiniLatex package.\n\n\n# API\n\n@docs render, renderWithSeed\n\n@docs LatexState, TocEntry, TableOfContents\n\n@docs emptyLatexState\n\n","unions":[],"aliases":[{"name":"LatexState","comment":" Auxiliary data compiled during parsing\n","args":[],"type":"Internal.LatexState.LatexState"},{"name":"TableOfContents","comment":" The table of contents\n","args":[],"type":"Internal.LatexState.TableOfContents"},{"name":"TocEntry","comment":" Describes an entry in the table of contents\n","args":[],"type":"Internal.LatexState.TocEntry"}],"values":[{"name":"emptyLatexState","comment":" Used for initialization\n","type":"MiniLatex.LatexState"},{"name":"render","comment":" The function call\n\n    render NoDelay macros sourceTest\n\nproduces an HTML value corresponding to the given MiniLaTeX source text.\nThe macro definitions in `macros`\nare prepended to this string and are used by MathJax\nto render purely mathematical text. The `macros` string\nmay be empty. In this example, the first parameter is\n`noDelay`, meaning that MathJax will set about typesetting\nthe content passed to it immediately. Use `NoDelay` for\ndocuments with not too many math elements and for\nediting all documents, since only changed text is re-rendered.\nUse `Delay` for loading document containing many\nmath elements.\n\n","type":"MiniLatex.Render.MathJaxRenderOption -> String.String -> String.String -> Html.Html msg"},{"name":"renderWithSeed","comment":" Like render, but used the `seed` to define the ids for each paragraph:\n\n    render NoDelay seed macros sourceTest\n\n","type":"MiniLatex.Render.MathJaxRenderOption -> Basics.Int -> String.String -> String.String -> Html.Html msg"}],"binops":[]},{"name":"MiniLatex.Edit","comment":" Data structures and functions for managing interactive edits. The parse tree, rendered text, and other information needed\nfor this is stored in a value of type\n\n    MiniLatex.Edit.Data\n\nThat data is initialized using\n\n    data =\n        init version text\n\nwhere the version is an integer that distinguishes\ndifferent edits.\n\n\n# API\n\n@docs Data, emptyData, init, update, get, parse\n\n","unions":[],"aliases":[{"name":"Data","comment":" Data for differential parsing and rendering\n","args":["a"],"type":"Internal.Differ.EditRecord a"}],"values":[{"name":"emptyData","comment":" Used for initialization.\n","type":"MiniLatex.Edit.Data (Html.Html msg)"},{"name":"get","comment":" Retrieve Html from a Data object.\n","type":"MiniLatex.Edit.Data (Html.Html msg) -> List.List (Html.Html msg)"},{"name":"init","comment":" Create Data from a string of MiniLaTeX text and a version number.\nThe version number should be different for each call of init.\n","type":"MiniLatex.Render.MathJaxRenderOption -> Basics.Int -> String.String -> MiniLatex.Edit.Data (Html.Html msg)"},{"name":"parse","comment":" Parse the given text and return an AST representing it.\n","type":"String.String -> ( List.List String.String, List.List (List.List Internal.Parser.LatexExpression) )"},{"name":"update","comment":" Update Data with modified text, re-parsing and re-rerendering changed elements.\n","type":"MiniLatex.Render.MathJaxRenderOption -> Basics.Int -> String.String -> MiniLatex.Edit.Data (Html.Html msg) -> MiniLatex.Edit.Data (Html.Html msg)"}],"binops":[]},{"name":"MiniLatex.Export","comment":" This module is for preparing latex for export.\n\n\n# API\n\n@docs transform\n\n","unions":[],"aliases":[],"values":[{"name":"transform","comment":" Parse a string and render it as a tuple,\nwhere the first element is the string rendered\nback into Latex, and where the second element is a list\nof image urls.\n","type":"String.String -> ( String.String, List.List String.String )"}],"binops":[]},{"name":"MiniLatex.Render","comment":" This module exports a type used to control rendering by MathJax v3\n\n@docs MathJaxRenderOption\n\n","unions":[{"name":"MathJaxRenderOption","comment":" Values of this type are used to control rending by\nMathJax v3. With the option NoDelay, the custom element\ndefined by assets/math-text.js is used and typesetting of\nthe text begins immediately. In the case of Delay,\nassets/math-text-delatyed.js is used. Typesetting\nbegins after teh delay specified by the custom element.\n\nThe intent is to use Delay when loading a document.\nNoDelay when editing it.\n\n","args":[],"cases":[["Delay",[]],["NoDelay",[]]]}],"aliases":[],"values":[],"binops":[]}]