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();
44 string getIncludedFiles();
49 /// Provide a string name-space to the requirements
50 void require(string const & name);
52 /// Static preamble bits from the external material insets
53 string externalPreambles;
58 bool color; // color.sty
61 bool graphicx; // graphicx.sty
64 bool graphics; // graphics.sty
67 bool setspace; // setspace.sty
69 bool makeidx; // makeind.sty
71 bool verbatim; // verbatim.sty
73 bool longtable; // longtable.sty
75 bool algorithm; // algorithm.sty
77 bool rotating; // rotating.sty
79 bool amssymb; // amssymb.sty
81 bool latexsym; // latexsym.sty
83 bool pifont; // pifont.sty
85 bool subfigure; // subfigure.sty
87 bool floatflt; // floatflt.sty
91 bool varioref; // varioref.sty
93 bool prettyref; // prettyref.sty
95 bool chess; // chess.sty
139 std::vector<bool> layout;
142 //@Man: Special features
144 bool LyXParagraphIndent;
146 bool NeedLyXFootnoteCode;
148 bool NeedLyXMinipageIndent;
150 typedef std::set<Language const *> LanguageList;
152 LanguageList UsedLanguages;
154 typedef std::set<string> FloatList;
156 FloatList usedFloats;
158 typedef map<string , string> FileMap;
160 FileMap IncludedFiles;
162 BufferParams const & bufferParams() const;
164 BufferParams const & params;