This commit was manufactured by cvs2svn to create tag
[lyx.git] / src / LaTeXFeatures.h
bloba7c828ab303dbd4bb1c691030442f9a33eef7fb9
1 // -*- C++ -*-
2 /* This file is part of
3 * ======================================================
4 *
5 * LyX, The Document Processor
6 *
7 * Copyright (C) 1995 Matthias Ettrich
8 * Copyright (C) 1995-1999 the LyX Team.
10 *======================================================*/
12 #ifndef LATEXFEATURES_H
13 #define LATEXFEATURES_H
16 #ifdef __GNUG__
17 #pragma interface
18 #endif
20 #include "LString.h"
22 class BufferParams;
23 class LyXTextClass;
26 /** The packages and commands that a buffer needs. This struct
27 contains an entry for each of the latex packages and
28 commands that a buffer might need. This struct is supposed to be
29 extended as the need arises. Remember to update the validate function
30 in buffer.C and paragraph.C when you do so. */
31 struct LaTeXFeatures {
32 ///
33 LaTeXFeatures(int n) ;
34 ///
35 ~LaTeXFeatures() {
36 delete[] layout;
38 /// The packaes needed by the document
39 string getPackages(BufferParams const &params);
40 /// The macros definitions needed by the document
41 string getMacros(BufferParams const &params);
42 /// The definitions needed by the document's textclass
43 string getTClassPreamble(BufferParams const &params);
45 ///
46 void showStruct(BufferParams &params);
48 //@Man: Packages
49 //@{
50 ///
51 bool color; // color.sty
52 ///
53 bool graphics; // graphics.sty
54 ///
55 bool setspace; // setspace.sty
56 ///
57 bool makeidx; // makeind.sty
58 ///
59 bool verbatim; // verbatim.sty
60 ///
61 bool longtable; // longtable.sty
62 ///
63 bool algorithm; // algorithm.sty
64 ///
65 bool rotating; // rotating.sty
66 ///
67 bool amssymb; // amssymb.sty
68 ///
69 bool latexsym; // latexsym.sty
70 ///
71 bool pifont; // pifont.sty
72 ///
73 bool subfigure; // subfigure.sty
74 ///
75 bool floatflt; // floatflt.sty
76 ///
77 bool url; // url.sty
78 //@}
81 //@Man: Commands
82 //@{
83 ///
84 bool lyx;
85 ///
86 bool lyxline;
87 /// \noun
88 bool noun;
89 /// \lyxarrow
90 bool lyxarrow;
91 //@}
93 //@Man: Quotes
94 //@{
95 ///
96 bool quotesinglbase;
97 ///
98 bool quotedblbase;
99 ///
100 bool guilsinglleft;
102 bool guilsinglright;
104 bool guillemotleft;
106 bool guillemotright;
107 //@}
109 //@Man: Math mode
110 //@{
112 bool amsstyle;
114 bool boldsymbol;
116 bool binom;
117 //@}
119 //@Man: Layouts
120 //@{
121 bool *layout;
122 //@}
124 //@Man: Special features
125 //@{
126 bool LyXParagraphIndent;
128 bool NeedLyXFootnoteCode;
130 bool NeedLyXMinipageIndent;
131 //@}
134 #endif