4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
7 * \author Jean-Marc Lasgouttes
9 * Full author contact details are available in file CREDITS.
15 #include "support/strfwd.h"
21 /* The TeXbook, p. 158:
23 * There are thirteen kinds of atoms, each of which might act
24 * differently in a formula; for example, ‘(’ is an Open atom because
25 * it comes from an opening. Here is a complete list of the different
28 * + Ord: an ordinary atom like ‘x’
29 * + Op: a large operator atom like ‘\sum’
30 * + Bin: a binary operation atom like ‘+’
31 * + Rel: a relation atom like ‘=’
32 * + Open: an opening atom like ‘(’
33 * + Close: a closing atom like ‘)’
34 * + Punct: a punctuation atom like ‘,’
35 * + Inner: an inner atom like ‘\frac{1}{2}’
36 * + Over: an overline atom like ‘\overline{x}’
37 * + Under: an underline atom like ‘\underline{x}’
38 * + Acc: an accented atom like ‘\hat{x}’
39 * + Rad: a radical atom like ‘\sqrt{2}’
40 * + Vcent: a vbox to be centered, produced by \vcenter.
42 * Over, Under, Acc, Rad and Vcent are not considered in the enum
43 * below. The relvant elements will be considered as Ord.
58 MathClass string_to_class(docstring const &);
60 docstring const class_to_string(MathClass);
62 void update_class(MathClass & mc, MathClass const prev, MathClass const next);
64 int class_spacing(MathClass const mc1, MathClass const mc2,
65 MetricsBase const & mb);