bool isLaTeX() const;
/// does this flavour support full unicode?
bool isFullUnicode() const;
- /// Do we use the bidi package (which does some reordering and stuff)?
- bool useBidiPackage() const;
/// Same, but for math output, which only matter is XHTML output.
MathFlavor math_flavor = NotApplicable;
*/
bool moving_arg = false;
+ /** no_cprotect == true means that the layout in which this is
+ * does not allow \cprotect'ing.
+ */
+ bool no_cprotect = false;
+
/** intitle == true means that the environment in which the
inset is typeset is part of a title (before a \\maketitle).
Footnotes in such environments have moving arguments.
mutable int inulemcmd = 0;
/** the font at the point where the inset is
- */
+ *
+ * Note from lasgouttes: I have doubts on the semantics of this
+ * variable. Until this is sorted out, here are some notes on the
+ * history of local_font.
+ *
+ * A research that excludes test and assignment [*] shows that
+ * this is only used to remember language, which is a different
+ * story (and not changed by this patch). The only exception being
+ * in InsetMathHull::getCtObject and InsetMathNest::latex to
+ * support change tracking in insets, but I am not 100% sure that
+ * this is required. And historically [**] local_font used to be
+ * local_lang; it may be good to return to this simpler variable
+ * later.
+ *
+ * [*] git grep local_font src|grep -v 'local_font [!=]*='
+ *
+ * [**] before afed118a, which improved support for InsetLine;
+ * however, since 0e7ab29f, InsetLine does not depend on the
+ * current font anymore.
+ */
Font const * local_font = nullptr;
/** Document language lyx name
*/
bool inInclude = false;
+ /** Whether we are inside a footnote.
+ */
+ mutable bool inFootnote = false;
+
/** Whether a btUnit (for multiple biblographies) is open.
*/
mutable bool openbtUnit = false;
/// Should we output verbatim specific chars?
docstring pass_thru_chars;
+ /// Do not output verbatim specific chars even
+ /// if normally requested
+ docstring no_pass_thru_chars;
+
/// A specific newline macro
std::string newlinecmd;
/// Are we generating this material for use by advanced search?
enum Search {
- NoSearch,
- SearchWithDeleted,
- SearchWithoutDeleted
+ NoSearch = 0,
+ SearchWithDeleted = 1,
+ SearchWithoutDeleted = 2,
+ SearchQuick = 4,
+ SearchNonOutput = 8
};
- enum Search for_searchAdv = NoSearch;
+ inline bool find_effective(void) const { return (for_search != OutputParams::NoSearch); }
+ inline bool find_with_non_output() const { return ((for_search & OutputParams::SearchNonOutput) != 0); }
+ inline bool find_with_deleted() const { return ((for_search & OutputParams::SearchWithDeleted) != 0); }
+ inline void find_set_feature(enum Search set_) { for_search = set_; }
+ inline void find_add_feature(enum Search add_) { for_search |= add_; }
+ inline void find_clean_features(void) { for_search = OutputParams::NoSearch; }
/// Are we generating this material for instant preview?
bool for_preview = false;
/// A postponed \\noindent (after VSpace)
mutable bool need_noindent = false;
+private:
+ int for_search = NoSearch;
};