#include "support/copied_ptr.h"
#include "support/types.h"
-#include "support/std_string.h"
#include <vector>
class Spacing;
class TexRow;
class VSpace;
-struct Language;
+class Language;
+
+
+namespace lyx {
+namespace biblio {
+
+enum CiteEngine {
+ ENGINE_BASIC,
+ ENGINE_NATBIB_AUTHORYEAR,
+ ENGINE_NATBIB_NUMERICAL,
+ ENGINE_JURABIB
+};
+
+class CiteEngine_enum {
+ CiteEngine val_;
+public:
+ CiteEngine_enum(CiteEngine val) : val_(val) {}
+ operator CiteEngine() const{ return val_; }
+};
+
+} // namespace biblio
+} // namespace lyx
/** Buffer parameters.
~BufferParams();
/// read a header token, if unrecognised, return it or an unknown class name
- string const readToken(LyXLex & lex, string const & token);
+ std::string const readToken(LyXLex & lex, std::string const & token);
///
void writeFile(std::ostream &) const;
///
InsetQuotes::quote_times quotes_times;
///
- string fontsize;
+ std::string fontsize;
///
lyx::textclass_type textclass;
///
///
bool use_geometry;
///
- string paperwidth;
+ std::string paperwidth;
///
- string paperheight;
+ std::string paperheight;
///
- string leftmargin;
+ std::string leftmargin;
///
- string topmargin;
+ std::string topmargin;
///
- string rightmargin;
+ std::string rightmargin;
///
- string bottommargin;
+ std::string bottommargin;
///
- string headheight;
+ std::string headheight;
///
- string headsep;
+ std::string headsep;
///
- string footskip;
+ std::string footskip;
/* some LaTeX options */
/// The graphics driver
- string graphicsDriver;
+ std::string graphicsDriver;
///
- string fonts;
+ std::string fonts;
///
Spacing & spacing();
Spacing const & spacing() const;
BranchList & branchlist();
BranchList const & branchlist() const;
///
- string inputenc;
+ std::string inputenc;
///
- string preamble;
+ std::string preamble;
///
- string options;
+ std::string options;
///
- string float_placement;
+ std::string float_placement;
///
unsigned int columns;
///
LyXTextClass::PageSides sides;
///
- string pagestyle;
+ std::string pagestyle;
/// \param index should lie in the range 0 <= \c index <= 3.
Bullet & temp_bullet(lyx::size_type index);
Bullet const & temp_bullet(lyx::size_type index) const;
void readLanguage(LyXLex &);
///
void readGraphicsDriver(LyXLex &);
+ ///
+ void readBullets(LyXLex &);
+ ///
+ void readBulletsLaTeX(LyXLex &);
/// use AMS package, not, or auto
enum AMS {
};
AMS use_amsmath;
///
- bool use_natbib;
+ lyx::biblio::CiteEngine cite_engine;
///
- bool use_numerical_citations;
+ bool use_bibtopic;
/// revision tracking for this buffer ?
bool tracking_changes;
+ /** This param decides if change tracking marks should be output
+ * (using the dvipost package) or if the current "state" of the
+ * document should be output instead. Since dvipost needs dvi
+ * specials, it only works with dvi/ps output (the param will be
+ * ignored with other output flavors and disabled when dbipost is
+ * not installed).
+ */
+ bool output_changes;
/// Time ago we agreed that this was a buffer property [ale990407]
- string parentname;
+ std::string parentname;
///
bool compressed;
/// map of the file's author IDs to buffer author IDs
std::vector<int> author_map;
///
- string const dvips_options() const;
+ std::string const dvips_options() const;
+ ///
+ std::string const paperSizeName() const;
///
- string const paperSizeName() const;
+ std::string const babelCall(std::string const & lang_opts) const;
private:
/** Use the Pimpl idiom to hide those member variables that would otherwise
* drag in other header files.
*/
class Impl;
- struct MemoryTraits {
+ class MemoryTraits {
+ public:
static Impl * clone(Impl const *);
static void destroy(Impl *);
};