X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLaTeXFeatures.h;h=8c3cd68b9ab81533781025c285766b17bcf7568e;hb=f448e22d483e1370bcbfbb7be8cb47ad7251ed77;hp=feed7812d66342af397e41cfa109b2d1f6b3edff;hpb=85798535a19919e82cc94a177a8414c542a9c5bf;p=lyx.git diff --git a/src/LaTeXFeatures.h b/src/LaTeXFeatures.h index feed7812d6..8c3cd68b9a 100644 --- a/src/LaTeXFeatures.h +++ b/src/LaTeXFeatures.h @@ -21,43 +21,46 @@ #include #include "LString.h" - -using std::vector; -using std::set; +#include "layout.h" class BufferParams; -class LyXTextClass; struct Language; /** The packages and commands that a buffer needs. This struct - contains an entry for each of the latex packages and - commands that a buffer might need. This struct is supposed to be - extended as the need arises. Remember to update the validate function - in buffer.C and paragraph.C when you do so. */ + contains an entry for each of the latex packages and + commands that a buffer might need. This struct is supposed to be + extended as the need arises. Remember to update the validate function + in buffer.C and paragraph.C when you do so. +*/ struct LaTeXFeatures { /// - LaTeXFeatures(int n) ; + LaTeXFeatures(BufferParams const &, LyXTextClass::size_type n) ; /// The packaes needed by the document - string getPackages(BufferParams const & params); + string const getPackages(); /// The macros definitions needed by the document - string getMacros(BufferParams const & params); + string const getMacros(); /// The definitions needed by the document's textclass - string getTClassPreamble(BufferParams const & params); + string const getTClassPreamble(); + /// + string const getIncludedFiles(string const fname) const; /// - void showStruct(BufferParams const & params); + void showStruct(); + + /// Provide a string name-space to the requirements + void require(string const & name); - //@Man: Packages - //@{ + /// Static preamble bits from the external material insets + string externalPreambles; + + /// + bool array; /// bool color; // color.sty -#ifdef USE_GRAPHICX /// bool graphicx; // graphicx.sty -#else /// bool graphics; // graphics.sty -#endif /// bool setspace; // setspace.sty /// @@ -82,11 +85,13 @@ struct LaTeXFeatures { bool floatflt; // floatflt.sty /// bool url; // url.sty - //@} + /// + bool varioref; // varioref.sty + /// + bool prettyref; // prettyref.sty + /// + bool chess; // chess.sty - - //@Man: Commands - //@{ /// bool lyx; /// @@ -95,10 +100,7 @@ struct LaTeXFeatures { bool noun; /// \lyxarrow bool lyxarrow; - //@} - - //@Man: Quotes - //@{ + /// bool quotesinglbase; /// @@ -111,35 +113,39 @@ struct LaTeXFeatures { bool guillemotleft; /// bool guillemotright; - //@} - - //@Man: Math mode - //@{ + /// bool amsstyle; /// bool boldsymbol; /// bool binom; - //@} - - //@Man: Layouts - //@{ - vector layout; - //@} - //@Man: Special features - //@{ + std::vector layout; + + /// bool LyXParagraphIndent; /// bool NeedLyXFootnoteCode; /// bool NeedLyXMinipageIndent; /// - typedef set LanguageList; + typedef std::set LanguageList; /// LanguageList UsedLanguages; - //@} + /// + typedef std::set FloatList; + /// + FloatList usedFloats; + /// + typedef std::map FileMap; + /// + FileMap IncludedFiles; + /// + BufferParams const & bufferParams() const; +private: + /// + BufferParams const & params; }; #endif