home *** CD-ROM | disk | FTP | other *** search
/ Dream 52 / Amiga_Dream_52.iso / Linux / Divers / lyx-0.13.2.tar.gz / lyx-0.13.2.tar / lyx-0.13.2 / src / LaTeXFeatures.h < prev    next >
C/C++ Source or Header  |  1998-04-23  |  2KB  |  129 lines

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