X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FOutputParams.h;h=5503d8b7cd191b1f2c944abd14b69fa18ce320b0;hb=24e0bd3afea847218c0f590561cf172b3799432f;hp=1631dac9d09d2989994bf44cafe5bfcdfc53e878;hpb=08a840b139b7ee6e33412073041d0136ba76f356;p=lyx.git diff --git a/src/OutputParams.h b/src/OutputParams.h index 1631dac9d0..5503d8b7cd 100644 --- a/src/OutputParams.h +++ b/src/OutputParams.h @@ -60,6 +60,14 @@ public: SUBFLOAT }; + enum CtObject { + CT_NORMAL, + CT_OBJECT, + CT_DISPLAYOBJECT, + CT_UDISPLAYOBJECT, + CT_OMITOBJECT + }; + OutputParams(Encoding const *); ~OutputParams(); @@ -71,6 +79,8 @@ public: 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; @@ -102,10 +112,15 @@ public: */ bool intitle; + /** inbranch == true means that the environment being typeset + is inside an active branch inset. + */ + bool inbranch; + /** inulemcmd > 0 means that the environment in which the - inset is typeset is part of a ulem command (\uline, \uuline, - \uwave, \sout or \xout). Insets that output latex commands relying - on local assignments (such as \cite) should enclose such + inset is typeset is part of a ulem or soul command (e.g., \uline, + \uuline, \uwave, \sout or \xout). Insets that output latex commands + relying on local assignments (such as \cite) should enclose such commands in \mbox{} in order to avoid breakage. */ mutable int inulemcmd; @@ -118,12 +133,18 @@ public: */ std::string document_language; + /// main font encoding of the document + std::string main_fontenc; + /** The master language. Non-null only for child documents. Note that this is not the language of the top level master, but of the direct parent for nested includes. */ mutable Language const * master_language; + /// Active characters + std::string active_chars; + /** Current stream encoding. Only used for LaTeX. This must be set to the document encoding (via the constructor) before output starts. Afterwards it must be kept up to date for @@ -156,6 +177,9 @@ public: */ bool use_polyglossia; + /// Do we use the CJK package? + bool use_CJK; + /** Are we generating multiple indices? */ bool use_indices; @@ -172,6 +196,13 @@ public: */ std::string index_command; + /// The Xindy language module + std::string xindy_language; + + /** Hyperref driver + */ + std::string hyperref_driver; + /** Line length to use with plaintext or LaTeX export. */ size_type linelen; @@ -187,6 +218,19 @@ public: */ std::shared_ptr exportdata; + /** Store labels, index entries (etc.) (in \ref post_macro) + * and output them later. This is used in particular to get + * labels and index entries (and potentially other fragile commands) + * outside of moving arguments (bug 2154) + */ + bool postpone_fragile_stuff; + + /** Stuff to be postponed and output after the current macro + * (if \ref postpone_fragile_stuff is true). Used for labels and index + * entries in commands with moving arguments (\\section, \\caption etc.) + */ + mutable docstring post_macro; + /** Whether we are entering a display math inset. * Needed to correctly strike out deleted math in change tracking. */ @@ -236,14 +280,19 @@ public: /** Whether we are inside an inset that is logically deleted. * A value > 0 indicates a deleted inset. - */ + */ int inDeletedInset; /** The change information of the outermost logically deleted inset. * changeOfDeletedInset shall only be evaluated if inDeletedInset > 0. - */ + */ Change changeOfDeletedInset; + /** What kind of change tracking object is this? + * Relevant for strikeout method in output + */ + mutable CtObject ctObject; + /** allow output of only part of the top-level paragraphs * par_begin: beginning paragraph */ @@ -279,6 +328,9 @@ public: /// Should we output verbatim specific chars? docstring pass_thru_chars; + /// A specific newline macro + std::string newlinecmd; + /// Should we output captions? bool html_disable_captions;