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;
60 bool color; // color.sty
63 bool graphicx; // graphicx.sty
66 bool graphics; // graphics.sty
69 bool setspace; // setspace.sty
71 bool makeidx; // makeind.sty
73 bool verbatim; // verbatim.sty
75 bool longtable; // longtable.sty
77 bool algorithm; // algorithm.sty
79 bool rotating; // rotating.sty
81 bool amssymb; // amssymb.sty
83 bool latexsym; // latexsym.sty
85 bool pifont; // pifont.sty
87 bool subfigure; // subfigure.sty
89 bool floatflt; // floatflt.sty
93 bool varioref; // varioref.sty
95 bool prettyref; // prettyref.sty
97 bool chess; // chess.sty
141 std::vector<bool> layout;
144 //@Man: Special features
146 bool LyXParagraphIndent;
148 bool NeedLyXFootnoteCode;
150 bool NeedLyXMinipageIndent;
152 typedef std::set<Language const *> LanguageList;
154 LanguageList UsedLanguages;
156 typedef std::set<string> FloatList;
158 FloatList usedFloats;
160 typedef std::map<string , string> FileMap;
162 FileMap IncludedFiles;
164 BufferParams const & bufferParams() const;
166 BufferParams const & params;