2 /* This file is part of
3 * ======================================================
5 * LyX, The Document Processor
7 * Copyright 1995 Matthias Ettrich
8 * Copyright 1995-2000 the LyX Team.
10 * ====================================================== */
12 #ifndef LATEXFEATURES_H
13 #define LATEXFEATURES_H
29 /** The packages and commands that a buffer needs. This struct
30 contains an entry for each of the latex packages and
31 commands that a buffer might need. This struct is supposed to be
32 extended as the need arises. Remember to update the validate function
33 in buffer.C and paragraph.C when you do so. */
34 struct LaTeXFeatures {
36 LaTeXFeatures(BufferParams const &, int n) ;
37 /// The packaes needed by the document
39 /// The macros definitions needed by the document
41 /// The definitions needed by the document's textclass
42 string getTClassPreamble();
50 bool color; // color.sty
53 bool graphicx; // graphicx.sty
56 bool graphics; // graphics.sty
59 bool setspace; // setspace.sty
61 bool makeidx; // makeind.sty
63 bool verbatim; // verbatim.sty
65 bool longtable; // longtable.sty
67 bool algorithm; // algorithm.sty
69 bool rotating; // rotating.sty
71 bool amssymb; // amssymb.sty
73 bool latexsym; // latexsym.sty
75 bool pifont; // pifont.sty
77 bool subfigure; // subfigure.sty
79 bool floatflt; // floatflt.sty
83 bool varioref; // varioref.sty
85 bool prettyref; // prettyref.sty
129 std::vector<bool> layout;
132 //@Man: Special features
134 bool LyXParagraphIndent;
136 bool NeedLyXFootnoteCode;
138 bool NeedLyXMinipageIndent;
140 typedef std::set<Language const *> LanguageList;
142 LanguageList UsedLanguages;
144 BufferParams const & bufferParams() const;
146 BufferParams const & params;