X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FOutputParams.h;h=1abbfe8dc776c29e45a6eb16d4be77f1130ac7af;hb=2098f1d8c20d51e63e670bcdc9da8996068975bf;hp=f873134c9dee0707e8483f303016bfa60cba399a;hpb=3bb9c0d34de2698105d696830d25fd8b9a9231b1;p=lyx.git diff --git a/src/OutputParams.h b/src/OutputParams.h index f873134c9d..1abbfe8dc7 100644 --- a/src/OutputParams.h +++ b/src/OutputParams.h @@ -25,6 +25,7 @@ namespace lyx { class Encoding; class ExportData; class Font; +class Language; class OutputParams { @@ -32,7 +33,22 @@ public: enum FLAVOR { LATEX, PDFLATEX, - XML + XETEX, + XML, + HTML, + TEXT + }; + + enum TableCell { + NO, + PLAIN, + ALIGNED + }; + + enum Float { + NONFLOAT, + MAINFLOAT, + SUBFLOAT }; OutputParams(Encoding const *); @@ -62,6 +78,14 @@ public: */ bool intitle; + /** inulemcmd == true 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; + /** the font at the point where the inset is */ Font const * local_font; @@ -70,6 +94,10 @@ public: */ mutable std::string document_language; + /** The master language. Non-null only for child documents. + */ + mutable Language const * master_language; + /** 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 @@ -98,11 +126,23 @@ public: */ bool use_babel; + /** Are we generating multiple indices? + */ + bool use_indices; + /** Are we using japanese (pLaTeX)? */ bool use_japanese; - /** Line length to use with plaintext export. + /** Customized bibtex_command + */ + mutable std::string bibtex_command; + + /** Customized index_command + */ + mutable std::string index_command; + + /** Line length to use with plaintext or LaTeX export. */ size_type linelen; @@ -125,8 +165,20 @@ public: */ bool inComment; - /// Whether we are in a table cell - bool inTableCell; + /** Whether we are in a table cell. + * For newline, it matters whether its content is aligned or not. + */ + TableCell inTableCell; + + /** Whether we are inside a float or subfloat. + * Needed for subfloat detection on the command line. + */ + Float inFloat; + + /** Whether we are inside an index inset. + * ERT needs to know this, due to the active chars. + */ + bool inIndexEntry; /** Whether we are inside an inset that is logically deleted. * A value > 0 indicates a deleted inset. @@ -149,12 +201,21 @@ public: */ pit_type par_end; + /// 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; /// Should we output verbatim or escape LaTeX's special chars? bool verbatim; + /// 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; };