#define OUTPUTPARAMS_H
-#include "support/shared_ptr.h"
#include "Changes.h"
+#include <memory>
+
namespace lyx {
TEXT,
LYX
};
-
+
enum MathFlavor {
NotApplicable,
MathAsMathML,
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
files or not.
+ Non-nice LaTeX also includes additional safe line breaks in order to
+ increase the precision of forward/reverse search and error reporting.
*/
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.
*/
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
+ \uwave, \sout or \xout). 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
*/
/** 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;
/** Customized bibtex_command
*/
- mutable std::string bibtex_command;
+ std::string bibtex_command;
/** Customized index_command
*/
- mutable std::string index_command;
+ std::string index_command;
/** Line length to use with plaintext or LaTeX export.
*/
This is a hack: Make it possible to add stuff to constant
OutputParams instances.
*/
- shared_ptr<ExportData> exportdata;
+ std::shared_ptr<ExportData> exportdata;
+
+ /** Whether we are entering a display math inset.
+ * Needed to correctly strike out deleted math in change tracking.
+ */
+ mutable bool inDisplayMath;
+
+ /** Whether we are leaving a display math inset.
+ * Needed to correctly track nested ulem commands in change tracking.
+ */
+ mutable bool wasDisplayMath;
/** Whether we are inside a comment inset. Insets that are including
* external files like InsetGraphics, InsetInclude and InsetExternal
*/
bool inComment;
+ /** Whether a btUnit (for multiple biblographies) is open.
+ */
+ mutable bool openbtUnit;
+
+ /** Process only the children's aux files with BibTeX.
+ * This is necessary with chapterbib.
+ */
+ bool only_childbibs;
+
/** Whether we are in a table cell.
* For newline, it matters whether its content is aligned or not.
*/
/** 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
mutable int lastid;
/// Last position in the last paragraph before an inset
- mutable int lastpos;
+ mutable pos_type 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 pass_thru;
-
+
+ /// Should we output verbatim specific chars?
+ docstring pass_thru_chars;
+
/// 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;
+
+ /// Are we generating this material for instant preview?
+ bool for_preview;
+
/// Include all children notwithstanding the use of \includeonly
bool includeall;