]> git.lyx.org Git - lyx.git/blobdiff - src/OutputParams.h
Routines for calculating numerical labels for BibTeX citations.
[lyx.git] / src / OutputParams.h
index f0816d6e4eafc9dab5907458a5b31eecaa48d63a..1abbfe8dc776c29e45a6eb16d4be77f1130ac7af 100644 (file)
@@ -25,6 +25,7 @@ namespace lyx {
 class Encoding;
 class ExportData;
 class Font;
+class Language;
 
 
 class OutputParams {
@@ -32,7 +33,10 @@ public:
        enum FLAVOR {
                LATEX,
                PDFLATEX,
-               XML
+               XETEX,
+               XML,
+               HTML,
+               TEXT
        };
 
        enum TableCell {
@@ -41,6 +45,12 @@ public:
                ALIGNED
        };
 
+       enum Float {
+               NONFLOAT,
+               MAINFLOAT,
+               SUBFLOAT
+       };
+
        OutputParams(Encoding const *);
        ~OutputParams();
 
@@ -68,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;
@@ -76,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
@@ -104,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;
 
@@ -136,6 +170,16 @@ public:
          */
        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.
          */
@@ -166,6 +210,12 @@ public:
        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;
 };