X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FOutputParams.h;h=1abbfe8dc776c29e45a6eb16d4be77f1130ac7af;hb=2098f1d8c20d51e63e670bcdc9da8996068975bf;hp=fd2894fa2e37bd167b70947324669ede22a47384;hpb=f630be890494c849981e4fb52ea4740506e92bed;p=lyx.git diff --git a/src/OutputParams.h b/src/OutputParams.h index fd2894fa2e..1abbfe8dc7 100644 --- a/src/OutputParams.h +++ b/src/OutputParams.h @@ -16,6 +16,7 @@ #include "support/types.h" #include +#include "Changes.h" namespace lyx { @@ -23,7 +24,8 @@ namespace lyx { class Encoding; class ExportData; -class LyXFont; +class Font; +class Language; class OutputParams { @@ -31,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 *); @@ -61,23 +78,35 @@ 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 */ - LyXFont const * local_font; + Font const * local_font; /** Document language babel name */ 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 - each single character (\see Paragraph::simpleTeXOnePar). + each single character (\sa Paragraph::latex). This does also mean that you need to set it back if you use a copy (e.g. in insets): \code int InsetFoo::latex(..., OutputParams const & runparams_in) const { - OutputParams runparams(runparams_in); + OutputParams runparams(runparams_in); runparams.inComment = true; ... InsetBla::latex(..., runparams); @@ -97,7 +126,23 @@ public: */ bool use_babel; - /** Line length to use with plaintext export. + /** Are we generating multiple indices? + */ + bool use_indices; + + /** Are we using japanese (pLaTeX)? + */ + bool use_japanese; + + /** 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; @@ -120,21 +165,57 @@ public: */ bool inComment; - /** allow output of only part of the top-level paragraphs + /** 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. + */ + int inDeletedInset; + + /** 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; - /** allow output of only part of the top-level paragraphs + /** 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; - /** whether or not do actual file copying and image conversion + /// 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; };