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
32 /** The packages and commands that a buffer needs. This struct
33 contains an entry for each of the latex packages and
34 commands that a buffer might need. This struct is supposed to be
35 extended as the need arises. Remember to update the validate function
36 in buffer.C and paragraph.C when you do so. */
37 struct LaTeXFeatures {
39 LaTeXFeatures(int n) ;
40 /// The packaes needed by the document
41 string getPackages(BufferParams const & params);
42 /// The macros definitions needed by the document
43 string getMacros(BufferParams const & params);
44 /// The definitions needed by the document's textclass
45 string getTClassPreamble(BufferParams const & params);
48 void showStruct(BufferParams const & params);
53 bool color; // color.sty
56 bool graphicx; // graphicx.sty
59 bool graphics; // graphics.sty
62 bool setspace; // setspace.sty
64 bool makeidx; // makeind.sty
66 bool verbatim; // verbatim.sty
68 bool longtable; // longtable.sty
70 bool algorithm; // algorithm.sty
72 bool rotating; // rotating.sty
74 bool amssymb; // amssymb.sty
76 bool latexsym; // latexsym.sty
78 bool pifont; // pifont.sty
80 bool subfigure; // subfigure.sty
82 bool floatflt; // floatflt.sty
131 //@Man: Special features
133 bool LyXParagraphIndent;
135 bool NeedLyXFootnoteCode;
137 bool NeedLyXMinipageIndent;
139 typedef set<Language const *> LanguageList;
141 LanguageList UsedLanguages;