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
62 bool graphicx; // graphicx.sty
64 bool graphics; // graphics.sty
66 bool setspace; // setspace.sty
68 bool makeidx; // makeind.sty
70 bool verbatim; // verbatim.sty
72 bool longtable; // longtable.sty
74 bool algorithm; // algorithm.sty
76 bool rotating; // rotating.sty
78 bool amssymb; // amssymb.sty
80 bool latexsym; // latexsym.sty
82 bool pifont; // pifont.sty
84 bool subfigure; // subfigure.sty
86 bool floatflt; // floatflt.sty
90 bool varioref; // varioref.sty
92 bool prettyref; // prettyref.sty
94 bool chess; // chess.sty
138 std::vector<bool> layout;
141 //@Man: Special features
143 bool LyXParagraphIndent;
145 bool NeedLyXFootnoteCode;
147 bool NeedLyXMinipageIndent;
149 typedef std::set<Language const *> LanguageList;
151 LanguageList UsedLanguages;
153 typedef std::set<string> FloatList;
155 FloatList usedFloats;
157 typedef std::map<string , string> FileMap;
159 FileMap IncludedFiles;
161 BufferParams const & bufferParams() const;
163 BufferParams const & params;