X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLaTeXFeatures.h;h=8c3cd68b9ab81533781025c285766b17bcf7568e;hb=f448e22d483e1370bcbfbb7be8cb47ad7251ed77;hp=fbf8e70848205640844d6b51c1775fb5be1a66d2;hpb=a040c0bc6f017d0591bbc7ad1aa590589dbc40ff;p=lyx.git diff --git a/src/LaTeXFeatures.h b/src/LaTeXFeatures.h index fbf8e70848..8c3cd68b9a 100644 --- a/src/LaTeXFeatures.h +++ b/src/LaTeXFeatures.h @@ -4,8 +4,8 @@ * * LyX, The Document Processor * -* Copyright (C) 1995 Matthias Ettrich -* Copyright (C) 1995-1999 the LyX Team. +* Copyright 1995 Matthias Ettrich +* Copyright 1995-2000 the LyX Team. * * ====================================================== */ @@ -18,37 +18,48 @@ #endif #include -using std::vector; +#include #include "LString.h" +#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 ¶ms); + string const getPackages(); /// The macros definitions needed by the document - string getMacros(BufferParams const ¶ms); + string const getMacros(); /// The definitions needed by the document's textclass - string getTClassPreamble(BufferParams const ¶ms); + string const getTClassPreamble(); + /// + string const getIncludedFiles(string const fname) const; /// - void showStruct(BufferParams ¶ms); + void showStruct(); + + /// Provide a string name-space to the requirements + void require(string const & name); + + /// Static preamble bits from the external material insets + string externalPreambles; - //@Man: Packages - //@{ + /// + bool array; /// bool color; // color.sty /// + bool graphicx; // graphicx.sty + /// bool graphics; // graphics.sty /// bool setspace; // setspace.sty @@ -74,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; /// @@ -87,10 +100,7 @@ struct LaTeXFeatures { bool noun; /// \lyxarrow bool lyxarrow; - //@} - - //@Man: Quotes - //@{ + /// bool quotesinglbase; /// @@ -103,31 +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 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