X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fbufferparams.h;h=c05af76d54b70525635be5d6e8db8ef9bb0404d6;hb=52eb91c94fb70d58dceef430659c8781de2eccda;hp=3ea4bc7cf86e6bff8cf873eb71a9a233e6d32c9e;hpb=eb11f2c542876ad71c5bfdcc207c57a26a0eeb8b;p=lyx.git diff --git a/src/bufferparams.h b/src/bufferparams.h index 3ea4bc7cf8..c05af76d54 100644 --- a/src/bufferparams.h +++ b/src/bufferparams.h @@ -26,9 +26,12 @@ #include +namespace lyx { + class AuthorList; class BranchList; class Bullet; +class Encoding; class LyXLex; class LatexFeatures; class Spacing; @@ -37,7 +40,6 @@ class VSpace; class Language; -namespace lyx { namespace biblio { enum CiteEngine { @@ -55,7 +57,6 @@ public: }; } // namespace biblio -} // namespace lyx /** Buffer parameters. @@ -86,7 +87,7 @@ public: * the BufferParams and a LyXRC variable). * This returned value can then be passed to the insets... */ - bool writeLaTeX(std::ostream &, LaTeXFeatures &, TexRow &) const; + bool writeLaTeX(odocstream &, LaTeXFeatures &, TexRow &) const; /// void useClassDefaults(); @@ -111,7 +112,7 @@ public: /// std::string fontsize; /// - lyx::textclass_type textclass; + textclass_type textclass; /// LyXTextClass const & getLyXTextClass() const; @@ -177,14 +178,23 @@ public: BranchList const & branchlist() const; /** * The input encoding for LaTeX. This can be one of - * - auto: find out the input encoding from the used languages - * - default: Don't load the inputenc package and hope that it will - * work (unlikely) + * - \c auto: find out the input encoding from the used languages + * - \c default: ditto * - any encoding supported by the inputenc package * The encoding of the LyX file is always utf8 and has nothing to * do with this setting. + * The difference between \c auto and \c default is that \c auto also + * causes loading of the inputenc package, while \c default does not. + * \c default will not work unless the user takes additional measures + * (such as using special environments like the CJK environment from + * CJK.sty). + * \c default can be seen as an unspecified 8bit encoding, since LyX + * does not interpret it in any way apart from display on screen. */ std::string inputenc; + /// The main encoding used by this buffer for LaTeX output. + /// Individual pieces of text can use different encodings. + Encoding const & encoding() const; /// std::string preamble; /// @@ -198,11 +208,11 @@ public: /// 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; + Bullet & temp_bullet(size_type index); + Bullet const & temp_bullet(size_type index) const; /// \param index should lie in the range 0 <= \c index <= 3. - Bullet & user_defined_bullet(lyx::size_type index); - Bullet const & user_defined_bullet(lyx::size_type index) const; + Bullet & user_defined_bullet(size_type index); + Bullet const & user_defined_bullet(size_type index) const; /// void readPreamble(LyXLex &); /// @@ -214,15 +224,23 @@ public: /// void readBulletsLaTeX(LyXLex &); - /// use AMS package, not, or auto - enum AMS { - AMS_OFF, - AMS_AUTO, - AMS_ON + /// Whether to load a package such as amsmath or esint. + /// The enum values must not be changed (file format!) + enum Package { + /// Don't load the package. For experts only. + package_off = 0, + /// Load the package if needed (recommended) + package_auto = 1, + /// Always load the package (e.g. if the document contains + /// some ERT that needs the package) + package_on = 2 }; - AMS use_amsmath; + /// Whether and how to load amsmath + Package use_amsmath; + /// Whether and how to load esint + Package use_esint; /// - lyx::biblio::CiteEngine cite_engine; + biblio::CiteEngine cite_engine; /// bool use_bibtopic; /// revision tracking for this buffer ? @@ -253,7 +271,7 @@ public: /// std::string const babelCall(std::string const & lang_opts) const; /// set up the document fonts - std::string const loadFonts(LaTeXFeatures & features, std::string const & rm, + std::string const loadFonts(std::string const & rm, std::string const & sf, std::string const & tt, bool const & sc, bool const & osf, int const & sfscale, int const & ttscale) const; @@ -270,7 +288,9 @@ private: static Impl * clone(Impl const *); static void destroy(Impl *); }; - lyx::support::copied_ptr pimpl_; + support::copied_ptr pimpl_; }; +} // namespace lyx + #endif