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
31 /** The packages and commands that a buffer needs. This struct
32 contains an entry for each of the latex packages and
33 commands that a buffer might need. This struct is supposed to be
34 extended as the need arises. Remember to update the validate function
35 in buffer.C and paragraph.C when you do so. */
36 struct LaTeXFeatures {
38 LaTeXFeatures(int n) ;
39 /// The packaes needed by the document
40 string getPackages(BufferParams const & params);
41 /// The macros definitions needed by the document
42 string getMacros(BufferParams const & params);
43 /// The definitions needed by the document's textclass
44 string getTClassPreamble(BufferParams const & params);
47 void showStruct(BufferParams const & params);
52 bool color; // color.sty
55 bool graphicx; // graphicx.sty
58 bool graphics; // graphics.sty
61 bool setspace; // setspace.sty
63 bool makeidx; // makeind.sty
65 bool verbatim; // verbatim.sty
67 bool longtable; // longtable.sty
69 bool algorithm; // algorithm.sty
71 bool rotating; // rotating.sty
73 bool amssymb; // amssymb.sty
75 bool latexsym; // latexsym.sty
77 bool pifont; // pifont.sty
79 bool subfigure; // subfigure.sty
81 bool floatflt; // floatflt.sty
130 //@Man: Special features
132 bool LyXParagraphIndent;
134 bool NeedLyXFootnoteCode;
136 bool NeedLyXMinipageIndent;
138 typedef set<Language const *> LanguageList;
140 LanguageList UsedLanguages;