# Grasshopper2.UI.Typography namespace

Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

## Interfaces

- [ITeXElement](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.typography.itexelement.md): Interface for all elements in the TeX glue-box model.

## Enums

- [LineStretchClass](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.typography.linestretchclass.md): Enumerates between the pre-defined stretching/shrinking categories.
- [TeXAlignment](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.typography.texalignment.md): Enumerates the ways in which typeset lines can be placed within the line width.
- [TeXType](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.typography.textype.md): Enumerates the possible types of elements in a TeX typography layout system.

## Classes

- [TeX](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.typography.tex.md): Provides a set of constants and utility methods used during TeX typesetting.
- [TeXBody](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.typography.texbody.md): Implementation of the TeX style glue-box-penalty model for a body of text, as outlined by Donald Knuth and Michael Plass in their seminal 1981 paper 'Breaking Paragraphs into Lines'. Append elements to this stream using the Add() methods and eventually break it into lines with the BestBreak() method.
- [TeXBox](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.typography.texbox.md): Provides a double-precision implementation of TeX-style line-breaking boxes in accordance with Donald Knuth and Michael Plass' seminal 1981 paper 'Breaking Paragraphs into Lines'.
- [TeXBreak](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.typography.texbreak.md): Represents a potential line break position within a TeXStream.
- [TeXCache](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.typography.texcache.md): A cached collection of TeX boxes properly laid out.
- [TeXDemerits](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.typography.texdemerits.md): Collates the demerits used in the TeX line-breaking algorithm.
- [TeXFonts](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.typography.texfonts.md): Collates a set of fonts and colours used in typesetting.
- [TeXGlue](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.typography.texglue.md): Provides a double-precision implementation of TeX-style line-breaking glue in accordance with Donald Knuth and Michael Plass' seminal 1981 paper 'Breaking Paragraphs into Lines'.
- [TeXLayout](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.typography.texlayout.md): Collates a bunch of settings used for setting up and breaking TeX bodies.
- [TeXMarkup](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.typography.texmarkup.md): Rewrites the lightweight inline markup used in tooltips and scribbles into the TeX macros the typesetter understands. Needs no font, and therefore no Eto platform.
- [TeXPenalty](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.typography.texpenalty.md): A penalty element in the TeX glue-box model.
- [TeXSpacing](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.typography.texspacing.md): Collates a bunch of settings used during the glue-box model setup phase. Basically, it lists the standard spacing and penalties to be used when converting a body of text into a TeX stream.
