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.
35 struct LaTeXFeatures {
37 LaTeXFeatures(BufferParams const &, LyXTextClass::size_type n) ;
38 /// The packaes needed by the document
39 string const getPackages();
40 /// The macros definitions needed by the document
41 string const getMacros();
42 /// The definitions needed by the document's textclass
43 string const getTClassPreamble();
45 string const getIncludedFiles(string const fname) const;
50 /// Provide a string name-space to the requirements
51 void require(string const & name);
53 /// Static preamble bits from the external material insets
54 string externalPreambles;
59 bool color; // color.sty
61 bool graphicx; // graphicx.sty
63 bool graphics; // graphics.sty
65 bool setspace; // setspace.sty
67 bool makeidx; // makeind.sty
69 bool verbatim; // verbatim.sty
71 bool longtable; // longtable.sty
73 bool algorithm; // algorithm.sty
75 bool rotating; // rotating.sty
77 bool amssymb; // amssymb.sty
79 bool latexsym; // latexsym.sty
81 bool pifont; // pifont.sty
83 bool subfigure; // subfigure.sty
85 bool floatflt; // floatflt.sty
89 bool varioref; // varioref.sty
91 bool prettyref; // prettyref.sty
93 bool chess; // chess.sty
124 std::vector<bool> layout;
127 bool LyXParagraphIndent;
129 bool NeedLyXFootnoteCode;
131 bool NeedLyXMinipageIndent;
133 typedef std::set<Language const *> LanguageList;
135 LanguageList UsedLanguages;
137 typedef std::set<string> UsedFloats;
139 UsedFloats usedFloats;
141 typedef std::map<string , string> FileMap;
143 FileMap IncludedFiles;
145 BufferParams const & bufferParams() const;
148 BufferParams const & params;