X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FOutputParams.h;h=f01c5b96b4f2d57e9c023da49ba3f3a3cc9565c5;hb=f7be88ce4c2bbc10c4691e614a54fca427a2e8fb;hp=a3d4fbed983a6032c059635949b62e4a683e3919;hpb=a0043da05f5d32653917d8c551ee50138e639b00;p=lyx.git diff --git a/src/OutputParams.h b/src/OutputParams.h index a3d4fbed98..f01c5b96b4 100644 --- a/src/OutputParams.h +++ b/src/OutputParams.h @@ -12,10 +12,8 @@ #ifndef OUTPUTPARAMS_H #define OUTPUTPARAMS_H -#include -#include "support/types.h" -#include +#include "support/shared_ptr.h" #include "Changes.h" @@ -30,15 +28,19 @@ class Language; class OutputParams { public: enum FLAVOR { + DVILUATEX, LATEX, + LUATEX, PDFLATEX, XETEX, XML, HTML, - TEXT + TEXT, + LYX }; - + enum MathFlavor { + NotApplicable, MathAsMathML, MathAsHTML, MathAsImages, @@ -64,10 +66,14 @@ public: compile the file. */ FLAVOR flavor; - + /// is it some flavor of LaTeX? + bool isLaTeX() const; + /// does this flavour support full unicode? + bool isFullUnicode() const; + /// Same, but for math output, which only matter is XHTML output. MathFlavor math_flavor; - + /** Are we to write a 'nice' LaTeX file or not. This esentially seems to mean whether InsetInclude, InsetGraphics and InsetExternal should add the absolute path to any external @@ -75,6 +81,12 @@ public: */ bool nice; + /** Is this a real child (i.e., compiled as a child)? + This depends on wherefrom we export the buffer. Even children + that have a master can be compiled standalone. + */ + mutable bool is_child; + /** moving_arg == true means that the environment in which the inset is typeset is a moving argument. The inset should take care about fragile commands by preceding the latex with \\protect. @@ -87,13 +99,13 @@ public: */ bool intitle; - /** inulemcmd == true means that the environment in which the + /** inulemcmd > 0 means that the environment in which the inset is typeset is part of a ulem command (\uline, \uuline, \uwave, or \sout). Insets that output latex commands relying on local assignments (such as \cite) should enclose such commands in \mbox{} in order to avoid breakage. */ - mutable bool inulemcmd; + mutable int inulemcmd; /** the font at the point where the inset is */ @@ -101,9 +113,11 @@ public: /** Document language babel name */ - mutable std::string document_language; + std::string document_language; /** 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; @@ -135,6 +149,10 @@ public: */ bool use_babel; + /** Do we use polyglossia (instead of babel)? + */ + bool use_polyglossia; + /** Are we generating multiple indices? */ bool use_indices; @@ -164,7 +182,7 @@ public: This is a hack: Make it possible to add stuff to constant OutputParams instances. */ - boost::shared_ptr exportdata; + shared_ptr exportdata; /** Whether we are inside a comment inset. Insets that are including * external files like InsetGraphics, InsetInclude and InsetExternal @@ -189,6 +207,11 @@ public: */ bool inIndexEntry; + /** Whether we are inside an IPA inset. + * Needed for proper IPA output. + */ + bool inIPA; + /** Whether we are inside an inset that is logically deleted. * A value > 0 indicates a deleted inset. */ @@ -196,46 +219,64 @@ public: /** The change information of the outermost logically deleted inset. * changeOfDeletedInset shall only be evaluated if inDeletedInset > 0. - */ + */ Change changeOfDeletedInset; /** allow output of only part of the top-level paragraphs * par_begin: beginning paragraph */ - pit_type par_begin; + mutable pit_type par_begin; /** allow output of only part of the top-level paragraphs * par_end: par_end-1 is the ending paragraph * if par_begin=par_end, output all paragraphs */ - pit_type par_end; + mutable pit_type par_end; + + /// Id of the last paragraph before an inset + mutable int lastid; + + /// Last position in the last paragraph before an inset + mutable int lastpos; /// is this the last paragraph in the current buffer/inset? bool isLastPar; - + /** whether or not do actual file copying and image conversion * This mode will be used to preview the source code */ bool dryrun; - + + /// whether to display output errors or not + bool silent; + /// Should we output verbatim or escape LaTeX's special chars? - bool verbatim; - + bool pass_thru; + /// Should we output captions? bool html_disable_captions; - + /// Are we already in a paragraph? bool html_in_par; - + /// Does the present context even permit paragraphs? bool html_make_pars; - + /// Are we generating this material for inclusion in a TOC-like entity? bool for_toc; - + + /// Are we generating this material for inclusion in a tooltip? + bool for_tooltip; + + /// Are we generating this material for use by advanced search? + bool for_search; + /// Include all children notwithstanding the use of \includeonly bool includeall; + + /// Explicit output folder, if any is desired + std::string export_folder; };