class ExportData;
class Font;
class Language;
+class InsetArgument;
+
+
+enum class Flavor : int {
+ DviLuaTeX,
+ LaTeX,
+ LuaTeX,
+ PdfLaTeX,
+ XeTeX,
+ DocBook5,
+ Html,
+ Text,
+ LyX
+};
+
+enum class CtObject : int {
+ Normal,
+ Object,
+ DisplayObject,
+ UDisplayObject,
+ OmitObject
+};
+
class OutputParams {
public:
- enum FLAVOR {
- DVILUATEX,
- LATEX,
- LUATEX,
- PDFLATEX,
- XETEX,
- DOCBOOK5,
- HTML,
- TEXT,
- LYX
- };
-
enum MathFlavor {
NotApplicable,
MathAsMathML,
SUBFLOAT
};
- enum CtObject {
- CT_NORMAL,
- CT_OBJECT,
- CT_DISPLAYOBJECT,
- CT_UDISPLAYOBJECT,
- CT_OMITOBJECT
- };
-
OutputParams(Encoding const *);
~OutputParams();
/** The file that we export depends occasionally on what is to
compile the file.
*/
- FLAVOR flavor = LATEX;
+ Flavor flavor = Flavor::LaTeX;
/// is it some flavor of LaTeX?
bool isLaTeX() const;
/// does this flavour support full unicode?
*/
mutable bool need_maketitle = false;
- /** have_maketitle == true means that \maketitle already hase been output.
+ /** have_maketitle == true means that \maketitle already has been output.
*/
mutable bool have_maketitle = false;
*/
mutable docstring post_macro;
+ /** Whether we in a command that is not \\long (i.e. cannot have multiple
+ * paragraphs)
+ */
+ mutable bool isNonLong = false;
+
/** Whether we are entering a display math inset.
* Needed to correctly strike out deleted math in change tracking.
*/
/** Whether we are in a table cell.
* For newline, it matters whether its content is aligned or not.
- */
+ */
TableCell inTableCell = NO;
/** Whether we are inside a float or subfloat.
/** What kind of change tracking object is this?
* Relevant for strikeout method in output
*/
- mutable CtObject ctObject = CT_NORMAL;
+ mutable CtObject ctObject = CtObject::Normal;
/** allow output of only part of the top-level paragraphs
* par_begin: beginning paragraph
/// Are we already in a paragraph?
bool docbook_in_par = false;
+ /// Is this element's allowMultiPar useable or not?
+ bool docbook_consider_allow_multi_par = true;
+
/// Does the present context even permit paragraphs?
bool docbook_make_pars = true;
/// Should wrappers be ignored? Mostly useful to avoid generation of <abstract>.
bool docbook_ignore_wrapper = false;
+ /// Some parameters are output before the rest of the paragraph, they should not be generated a second time.
+ std::set<InsetArgument const *> docbook_prepended_arguments = {};
+
+ /// Some parameters are output after the rest of the paragraph, they should not be generated a second time.
+ std::set<InsetArgument const *> docbook_appended_arguments = {};
+
/// Are we generating this material for inclusion in a TOC-like entity?
bool for_toc = false;
bool for_tooltip = false;
/// Are we generating this material for use by advanced search?
- bool for_search = false;
+ enum Search {
+ NoSearch,
+ SearchWithDeleted,
+ SearchWithoutDeleted
+ };
+
+ enum Search for_searchAdv = NoSearch;
/// Are we generating this material for instant preview?
bool for_preview = false;
/// Explicit output folder, if any is desired
std::string export_folder;
+
+ /// A postponed \\noindent (after VSpace)
+ mutable bool need_noindent = false;
};