X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLaTeXFeatures.h;h=91165ad7f033e9e0b6e584804dbc2d4821719718;hb=a235c8b10f71c3d77930ba0fb3270991b1134203;hp=9962d17a744d531ed1022ec78ea9958c892e3deb;hpb=3660343dc7da7cb40b93448949dca02a579505d5;p=lyx.git diff --git a/src/LaTeXFeatures.h b/src/LaTeXFeatures.h index 9962d17a74..91165ad7f0 100644 --- a/src/LaTeXFeatures.h +++ b/src/LaTeXFeatures.h @@ -1,13 +1,13 @@ // -*- C++ -*- /* This file is part of -* ====================================================== +* ====================================================== * * 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. * -*======================================================*/ +* ====================================================== */ #ifndef LATEXFEATURES_H #define LATEXFEATURES_H @@ -18,36 +18,48 @@ #endif #include +#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(); /// - 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 @@ -73,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; /// @@ -86,10 +100,7 @@ struct LaTeXFeatures { bool noun; /// \lyxarrow bool lyxarrow; - //@} - - //@Man: Quotes - //@{ + /// bool quotesinglbase; /// @@ -102,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