/// returns \c true if the buffer contains a LaTeX document
bool isLatex() const;
- /// returns \c true if the buffer contains a DocBook document
- bool isDocBook() const;
/// returns \c true if the buffer contains a Wed document
bool isLiterate() const;
void clearIncludedChildren() { included_children_.clear(); }
/// update aux files of unincluded children (with \includeonly)
- bool maintain_unincluded_children;
+ enum ChildrenMaintenance {
+ CM_None,
+ CM_Mostly,
+ CM_Strict
+ };
+ ChildrenMaintenance maintain_unincluded_children;
/// returns the main font for the buffer (document)
Font const getFont() const;
bool useNonTeXFonts;
/// use expert Small Caps
bool fonts_expert_sc;
- /// use Old Style Figures
- bool fonts_old_figures;
+ /// use Old Style Figures (rm)
+ bool fonts_roman_osf;
+ /// use Old Style Figures (sf)
+ bool fonts_sans_osf;
+ /// use Old Style Figures (tt)
+ bool fonts_typewriter_osf;
+ /// the options for the roman font
+ std::string font_roman_opts;
/// the scale factor of the sf font: [0] for TeX fonts, [1] for non-TeX fonts
int fonts_sans_scale[2];
/// the scale factor of the sf font
int fontsSansScale() const { return fonts_sans_scale[useNonTeXFonts]; }
+ // the options for the sans font
+ std::string font_sans_opts;
/// the scale factor of the tt font: [0] for TeX fonts, [1] for non-TeX fonts
int fonts_typewriter_scale[2];
/// the scale factor of the tt font
int fontsTypewriterScale() const { return fonts_typewriter_scale[useNonTeXFonts]; }
+ // the options for the typewriter font
+ std::string font_typewriter_opts;
/// the font used by the CJK command
std::string fonts_cjk;
/// use LaTeX microtype package
///
std::string pagestyle;
///
+ std::string tablestyle;
+ ///
RGBColor backgroundcolor;
///
bool isbackgroundcolor;
*/
bool output_changes;
///
+ bool change_bars;
+ ///
bool compressed;
+ ///
+ bool postpone_fragile_content;
/// the author list for the document
AuthorList & authors();
XDVI
};
///
- std::string paperSizeName(PapersizePurpose purpose) const;
+ std::string paperSizeName(PapersizePurpose purpose,
+ std::string const & psize = std::string()) const;
/// set up if and how babel is called
std::string babelCall(std::string const & lang_opts, bool const langoptions) const;
/// return supported drivers for specific packages
void setBibEncoding(std::string const & s) { bib_encoding = s; }
/// Get the bib file encoding (for biblatex)
std::string const & bibEncoding() const { return bib_encoding; }
+ /// Set encoding for individual bib file (for biblatex)
+ void setBibFileEncoding(std::string const & file, std::string const & enc);
+ ///
+ std::string const bibFileEncoding(std::string const & file) const;
/// options for pdf output
PDFOptions & pdfoptions();
bool use_refstyle;
/// use minted? or listings?
bool use_minted;
+ //output line numbering
+ bool use_lineno;
+ //optional params for lineno package
+ std::string lineno_opts;
/// Return true if language could be set to lang,
/// otherwise return false and do not change language
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.
+ /// The main encoding of the bib files, for Biblatex
std::string bib_encoding;
+ /// Individual file encodings, for Biblatex
+ std::map<std::string, std::string> bib_encodings;
/// Split bibliography?
bool use_bibtopic;
///