]> git.lyx.org Git - lyx.git/blobdiff - src/BufferParams.h
Routines for calculating numerical labels for BibTeX citations.
[lyx.git] / src / BufferParams.h
index 40fee96f6090d3f6e6d686d845f3a988456bf10d..bacda570b37b4a8880fbb873bea9e05430a64041 100644 (file)
 #include "insets/InsetQuotes.h"
 
 #include "support/copied_ptr.h"
+#include "support/FileName.h"
 
 #include <list>
+#include <map>
 #include <vector>
 
 namespace lyx {
@@ -36,6 +38,8 @@ class BranchList;
 class Bullet;
 class DocumentClass;
 class Encoding;
+class HSpace;
+class IndicesList;
 class Language;
 class LatexFeatures;
 class LayoutFile;
@@ -81,13 +85,18 @@ public:
         *  the BufferParams and a LyXRC variable).
         *  This returned value can then be passed to the insets...
         */
-       bool writeLaTeX(odocstream &, LaTeXFeatures &, TexRow &) const;
+       bool writeLaTeX(odocstream &, LaTeXFeatures &, TexRow &,
+                       support::FileName const &) const;
 
        ///
        void useClassDefaults();
        ///
        bool hasClassDefaults() const;
 
+       ///
+       HSpace const & getIndentation() const;
+       ///
+       void setIndentation(HSpace const & indent);
        ///
        VSpace const & getDefSkip() const;
        ///
@@ -147,10 +156,19 @@ public:
        /// Clear the removed module list
        void clearRemovedModules() { removedModules_.clear(); }
 
+       /// List of included children (for includeonly)
+       std::list<std::string> const & getIncludedChildren() const 
+                       { return includedChildren_; }
+       ///
+       void addIncludedChildren(std::string const & child) 
+                       { includedChildren_.push_back(child); }
+       /// Clear the list of included children
+       void clearIncludedChildren() { includedChildren_.clear(); }
+
        /// returns the main font for the buffer (document)
        Font const getFont() const;
 
-       /* this are for the PaperLayout */
+       /* these are for the PaperLayout */
        /// the papersize
        PAPER_SIZE papersize;
        ///
@@ -183,6 +201,12 @@ public:
        std::string graphicsDriver;
        /// The default output format
        std::string defaultOutputFormat;
+       /// customized bibliography processor
+       std::string bibtex_command;
+       /// customized index processor
+       std::string index_command;
+       /// font encoding
+       std::string fontenc;
        /// the rm font
        std::string fontsRoman;
        /// the sf font
@@ -215,6 +239,9 @@ public:
        /// BranchList:
        BranchList & branchlist();
        BranchList const & branchlist() const;
+       /// IndicesList:
+       IndicesList & indiceslist();
+       IndicesList const & indiceslist() const;
        /**
         * The input encoding for LaTeX. This can be one of
         * - \c auto: find out the input encoding from the used languages
@@ -245,6 +272,8 @@ public:
        ///
        std::string master;
        ///
+       bool suppress_date;
+       ///
        std::string float_placement;
        ///
        unsigned int columns;
@@ -278,8 +307,12 @@ public:
        Package use_amsmath;
        /// Whether and how to load esint
        Package use_esint;
-       ///
+       /// Whether and how to load mhchem
+       Package use_mhchem;
+       /// Split bibliography?
        bool use_bibtopic;
+       /// Split the index?
+       bool use_indices;
        /// revision tracking for this buffer ?
        bool trackChanges;
        /** This param decides whether change tracking marks should be used
@@ -294,8 +327,10 @@ public:
        AuthorList & authors();
        AuthorList const & authors() const;
 
-       /// map of the file's author IDs to buffer author IDs
-       std::vector<unsigned int> author_map;
+       /// map of the file's author IDs to AuthorList indexes
+       std::map<unsigned int, int> author_map;
+       /// the buffer's font encoding
+       std::string const font_encoding() const;
        ///
        std::string const dvips_options() const;
        /** The return value of paperSizeName() depends on the
@@ -337,6 +372,12 @@ public:
        PDFOptions & pdfoptions();
        PDFOptions const & pdfoptions() const;
 
+       /// whether to use MathML for math output, or instead images
+       bool html_use_mathml;
+       /// whether to attempt to be XHTML 1.1 compliant or instead be
+       /// a little more mellow
+       bool html_be_strict;
+
 private:
        ///
        void readPreamble(Lexer &);
@@ -354,6 +395,8 @@ private:
        void readModules(Lexer &);
        ///
        void readRemovedModules(Lexer &);
+       ///
+       void readIncludeonly(Lexer &);
        /// for use with natbib
        CiteEngine cite_engine_;
        ///
@@ -364,6 +407,9 @@ private:
        /// the user has chosen not to use
        std::list<std::string> removedModules_;
 
+       /// the list of included children (for includeonly)
+       std::list<std::string> includedChildren_;
+
        /** Use the Pimpl idiom to hide those member variables that would otherwise
         *  drag in other header files.
         */