]> git.lyx.org Git - lyx.git/blobdiff - src/BufferParams.h
typo
[lyx.git] / src / BufferParams.h
index d5e17d1118088302a11edf6584900fede19f84cf..8f402f870db186a776aa765ba158b9d65e1cfdd1 100644 (file)
@@ -136,7 +136,9 @@ public:
        /// NOTE: This does not call makeDocumentClass() to update the local
        /// DocumentClass. That needs to be done manually.
        /// \param classname: the name of the layout file
-       bool setBaseClass(std::string const & classname);
+       /// \param path: non-empty only for local layout files
+       bool setBaseClass(std::string const & classname,
+                         std::string const & path = std::string());
        /// Adds the module information to the baseClass information to
        /// create our local DocumentClass.
        /// NOTE: This should NEVER be called externally unless one immediately goes
@@ -322,18 +324,20 @@ public:
         * 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.
+        * causes loading of the inputenc package and writes a \inputenc{} command
+        * to the file when switching to another encoding, 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
+        * \c default can be seen as an unspecified mix of 8bit encodings, 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.
+       /// If the main encoding is \c auto or \c default,
+       /// individual pieces of text can use different encodings.
        /// Output for XeTeX with 8-bit TeX fonts uses ASCII (set at runtime)
-       /// instead of the value returned by this function.
+       /// instead of the value returned by this function (cf. #10600).
        Encoding const & encoding() const;
        ///
        std::string origin;
@@ -499,6 +503,10 @@ public:
        std::string biblatex_bibstyle;
        /// The biblatex citation style
        std::string biblatex_citestyle;
+       /// Set the bib file encoding (for biblatex)
+       void setBibEncoding(std::string const & s) { bib_encoding = s; }
+       /// Get the bib file encoding (for biblatex)
+       std::string const & bibEncoding() const { return bib_encoding; }
 
        /// options for pdf output
        PDFOptions & pdfoptions();
@@ -542,6 +550,10 @@ public:
        bool setLanguage(std::string const & lang);
        ///
        void invalidateConverterCache() const;
+       /// Copies over some of the settings from \param bp,
+       /// namely the ones need by Advanced F&R. We don't want
+       /// to copy them all, e.g., not the default master.
+       void copyForAdvFR(BufferParams const & bp);
 
 private:
        ///
@@ -572,6 +584,11 @@ private:
        CiteEngineType cite_engine_type_;
        /// the default BibTeX style file for the document
        std::string biblio_style;
+       /// The encoding of the bib files, for Biblatex
+       /// (only one supported currently)
+       // FIXME: biblatex 3.12 introduces per-file
+       // encoding options. Update once that's spread.
+       std::string bib_encoding;
        /// Split bibliography?
        bool use_bibtopic;
        ///
@@ -605,7 +622,6 @@ private:
                static void destroy(Impl *);
        };
        support::copied_ptr<Impl, MemoryTraits> pimpl_;
-
 };
 
 } // namespace lyx