]> git.lyx.org Git - lyx.git/blob - src/LaTeXFeatures.h
fix typo and and ukrainian
[lyx.git] / src / LaTeXFeatures.h
1 // -*- C++ -*-
2 /* This file is part of
3 * ====================================================== 
4
5 *           LyX, The Document Processor
6 *        
7 *           Copyright 1995 Matthias Ettrich
8 *           Copyright 1995-2000 the LyX Team.
9 *
10 * ====================================================== */
11
12 #ifndef LATEXFEATURES_H
13 #define LATEXFEATURES_H
14
15
16 #ifdef __GNUG__
17 #pragma interface
18 #endif
19
20 #include <vector>
21 #include <set>
22
23 #include "LString.h"
24 #include "layout.h"
25
26 class BufferParams; 
27 struct Language;
28
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 */
35 struct LaTeXFeatures {
36         ///
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();
44         ///
45         string const getIncludedFiles(string const fname) const;
46
47         ///
48         void showStruct();
49
50         /// Provide a string name-space to the requirements
51         void require(string const & name);
52
53         /// Static preamble bits from the external material insets
54         string externalPreambles;
55
56         ///
57         bool array;
58         ///
59         bool color;     // color.sty
60         ///
61         bool graphicx; // graphicx.sty
62         ///
63         bool graphics;  // graphics.sty
64         ///
65         bool setspace;  // setspace.sty
66         ///
67         bool makeidx;   // makeind.sty
68         ///
69         bool verbatim;  // verbatim.sty
70         ///
71         bool longtable; // longtable.sty
72         ///
73         bool algorithm; // algorithm.sty
74         ///
75         bool rotating;  // rotating.sty
76         ///
77         bool amssymb;   // amssymb.sty
78         ///
79         bool latexsym;   // latexsym.sty
80         ///
81         bool pifont;    // pifont.sty
82         ///
83         bool subfigure; // subfigure.sty
84         ///
85         bool floatflt;  // floatflt.sty
86         ///
87         bool url;       // url.sty
88         ///
89         bool varioref;  // varioref.sty
90         ///
91         bool prettyref; // prettyref.sty
92         ///
93         bool chess;     // chess.sty
94
95         ///
96         bool lyx;
97         ///
98         bool lyxline;
99         /// \noun
100         bool noun;
101         /// \lyxarrow
102         bool lyxarrow;
103
104         ///
105         bool quotesinglbase;
106         ///
107         bool quotedblbase;
108         ///
109         bool guilsinglleft;
110         ///
111         bool guilsinglright;
112         ///
113         bool guillemotleft;
114         ///
115         bool guillemotright;
116
117         ///
118         bool amsstyle;
119         ///
120         bool boldsymbol;
121         ///
122         bool binom;
123         
124         std::vector<bool> layout;
125
126         ///
127         bool LyXParagraphIndent;
128         ///
129         bool NeedLyXFootnoteCode;
130         ///
131         bool NeedLyXMinipageIndent;
132         ///
133         typedef std::set<Language const *> LanguageList;
134         ///
135         LanguageList UsedLanguages;
136         ///
137         typedef std::set<string> FloatList;
138         ///
139         FloatList usedFloats;
140         ///
141         typedef std::map<string , string> FileMap;
142         ///
143         FileMap IncludedFiles;
144         ///
145         BufferParams const & bufferParams() const;
146 private:
147         ///
148         BufferParams const & params;
149 };
150
151 #endif