2003-05-22 18:59:10 +00:00
|
|
|
// -*- C++ -*-
|
|
|
|
/**
|
2007-04-26 04:41:58 +00:00
|
|
|
* \file OutputParams.h
|
2003-05-22 18:59:10 +00:00
|
|
|
* This file is part of LyX, the document processor.
|
|
|
|
* Licence details can be found in the file COPYING.
|
|
|
|
*
|
|
|
|
* \author Angus Leeming
|
|
|
|
*
|
2003-08-23 00:17:00 +00:00
|
|
|
* Full author contact details are available in file CREDITS.
|
2003-05-22 18:59:10 +00:00
|
|
|
*/
|
|
|
|
|
2003-11-05 12:06:20 +00:00
|
|
|
#ifndef OUTPUTPARAMS_H
|
|
|
|
#define OUTPUTPARAMS_H
|
2003-05-22 18:59:10 +00:00
|
|
|
|
2008-11-16 00:01:41 +00:00
|
|
|
|
2007-07-21 18:10:55 +00:00
|
|
|
#include "Changes.h"
|
2004-03-27 01:18:51 +00:00
|
|
|
|
2016-06-02 17:13:55 +00:00
|
|
|
#include <memory>
|
2020-07-11 14:19:21 +00:00
|
|
|
#include <set>
|
2016-06-02 17:13:55 +00:00
|
|
|
|
2004-04-08 15:03:33 +00:00
|
|
|
|
2006-10-21 00:16:43 +00:00
|
|
|
namespace lyx {
|
|
|
|
|
|
|
|
|
2007-03-18 10:59:16 +00:00
|
|
|
class Encoding;
|
2004-06-01 13:39:33 +00:00
|
|
|
class ExportData;
|
2007-04-29 18:17:15 +00:00
|
|
|
class Font;
|
2009-10-18 21:48:13 +00:00
|
|
|
class Language;
|
2020-11-28 21:43:00 +00:00
|
|
|
class InsetArgument;
|
2004-06-01 13:39:33 +00:00
|
|
|
|
2020-11-29 23:03:35 +00:00
|
|
|
|
2020-11-30 22:00:40 +00:00
|
|
|
enum class Flavor : int {
|
|
|
|
DviLuaTeX,
|
|
|
|
LaTeX,
|
|
|
|
LuaTeX,
|
|
|
|
PdfLaTeX,
|
|
|
|
XeTeX,
|
|
|
|
DocBook5,
|
|
|
|
Html,
|
|
|
|
Text,
|
|
|
|
LyX
|
2020-11-29 23:03:35 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
enum class CtObject : int {
|
|
|
|
Normal,
|
|
|
|
Object,
|
|
|
|
DisplayObject,
|
|
|
|
UDisplayObject,
|
|
|
|
OmitObject
|
|
|
|
};
|
|
|
|
|
|
|
|
|
2005-01-19 15:03:31 +00:00
|
|
|
class OutputParams {
|
|
|
|
public:
|
2010-03-31 18:24:52 +00:00
|
|
|
enum MathFlavor {
|
2010-03-31 18:57:20 +00:00
|
|
|
NotApplicable,
|
2010-03-31 18:24:52 +00:00
|
|
|
MathAsMathML,
|
|
|
|
MathAsHTML,
|
|
|
|
MathAsImages,
|
|
|
|
MathAsLaTeX
|
|
|
|
};
|
2003-05-22 18:59:10 +00:00
|
|
|
|
2008-09-10 16:02:32 +00:00
|
|
|
enum TableCell {
|
|
|
|
NO,
|
|
|
|
PLAIN,
|
|
|
|
ALIGNED
|
|
|
|
};
|
|
|
|
|
2009-02-07 12:27:24 +00:00
|
|
|
enum Float {
|
|
|
|
NONFLOAT,
|
|
|
|
MAINFLOAT,
|
|
|
|
SUBFLOAT
|
|
|
|
};
|
|
|
|
|
2007-03-18 10:59:16 +00:00
|
|
|
OutputParams(Encoding const *);
|
2004-06-03 13:08:50 +00:00
|
|
|
~OutputParams();
|
2003-05-22 18:59:10 +00:00
|
|
|
|
2010-03-31 16:29:59 +00:00
|
|
|
/** The file that we export depends occasionally on what is to
|
2003-05-22 21:10:22 +00:00
|
|
|
compile the file.
|
|
|
|
*/
|
2020-11-30 22:00:40 +00:00
|
|
|
Flavor flavor = Flavor::LaTeX;
|
2010-03-31 18:57:20 +00:00
|
|
|
/// is it some flavor of LaTeX?
|
|
|
|
bool isLaTeX() const;
|
2010-11-23 12:23:36 +00:00
|
|
|
/// does this flavour support full unicode?
|
|
|
|
bool isFullUnicode() const;
|
2019-07-11 08:31:10 +00:00
|
|
|
/// Do we use the bidi package (which does some reordering and stuff)?
|
|
|
|
bool useBidiPackage() const;
|
2013-11-12 19:52:35 +00:00
|
|
|
|
2010-03-31 18:24:52 +00:00
|
|
|
/// Same, but for math output, which only matter is XHTML output.
|
2020-11-02 00:06:30 +00:00
|
|
|
MathFlavor math_flavor = NotApplicable;
|
2013-11-12 19:52:35 +00:00
|
|
|
|
2003-05-22 21:10:22 +00:00
|
|
|
/** Are we to write a 'nice' LaTeX file or not.
|
2020-06-08 04:56:25 +00:00
|
|
|
This essentially seems to mean whether InsetInclude, InsetGraphics
|
2003-05-22 21:10:22 +00:00
|
|
|
and InsetExternal should add the absolute path to any external
|
|
|
|
files or not.
|
2016-10-10 14:52:32 +00:00
|
|
|
Non-nice LaTeX also includes additional safe line breaks in order to
|
|
|
|
increase the precision of forward/reverse search and error reporting.
|
2003-05-22 21:10:22 +00:00
|
|
|
*/
|
2020-11-02 00:06:30 +00:00
|
|
|
bool nice = false;
|
2003-05-22 22:44:30 +00:00
|
|
|
|
2012-10-03 08:41:07 +00:00
|
|
|
/** 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.
|
|
|
|
*/
|
2020-11-02 00:06:30 +00:00
|
|
|
mutable bool is_child = false;
|
2012-10-03 08:41:07 +00:00
|
|
|
|
2003-05-23 09:23:03 +00:00
|
|
|
/** moving_arg == true means that the environment in which the inset
|
|
|
|
is typeset is a moving argument. The inset should take care about
|
2005-09-09 11:04:53 +00:00
|
|
|
fragile commands by preceding the latex with \\protect.
|
2003-05-22 22:44:30 +00:00
|
|
|
*/
|
2020-11-02 00:06:30 +00:00
|
|
|
bool moving_arg = false;
|
2003-05-22 22:44:30 +00:00
|
|
|
|
2004-08-05 09:18:54 +00:00
|
|
|
/** intitle == true means that the environment in which the
|
2005-09-09 11:04:53 +00:00
|
|
|
inset is typeset is part of a title (before a \\maketitle).
|
2004-08-05 09:18:54 +00:00
|
|
|
Footnotes in such environments have moving arguments.
|
|
|
|
*/
|
2020-11-02 00:06:30 +00:00
|
|
|
bool intitle = false;
|
2004-08-05 09:18:54 +00:00
|
|
|
|
2020-07-03 14:18:53 +00:00
|
|
|
/** need_maketitle == true means that the last layout was a title layout
|
|
|
|
* this is to track when \maketitle needs to be output.
|
|
|
|
*/
|
2020-11-02 00:06:30 +00:00
|
|
|
mutable bool need_maketitle = false;
|
2020-07-03 14:18:53 +00:00
|
|
|
|
2021-01-29 14:46:46 +00:00
|
|
|
/** have_maketitle == true means that \maketitle already has been output.
|
2020-07-03 14:18:53 +00:00
|
|
|
*/
|
2020-11-02 00:06:30 +00:00
|
|
|
mutable bool have_maketitle = false;
|
2020-07-03 14:18:53 +00:00
|
|
|
|
2019-05-10 06:09:26 +00:00
|
|
|
/** inbranch == true means that the environment being typeset
|
|
|
|
is inside an active branch inset.
|
|
|
|
*/
|
2020-11-02 00:06:30 +00:00
|
|
|
bool inbranch = false;
|
2019-05-10 06:09:26 +00:00
|
|
|
|
2014-03-22 11:25:25 +00:00
|
|
|
/** inulemcmd > 0 means that the environment in which the
|
2019-03-12 13:08:05 +00:00
|
|
|
inset is typeset is part of a ulem or soul command (e.g., \uline,
|
|
|
|
\uuline, \uwave, \sout or \xout). Insets that output latex commands
|
|
|
|
relying on local assignments (such as \cite) should enclose such
|
2009-05-07 10:57:52 +00:00
|
|
|
commands in \mbox{} in order to avoid breakage.
|
|
|
|
*/
|
2020-11-02 00:06:30 +00:00
|
|
|
mutable int inulemcmd = 0;
|
2009-05-07 10:57:52 +00:00
|
|
|
|
2005-09-09 11:04:53 +00:00
|
|
|
/** the font at the point where the inset is
|
2021-12-03 11:16:40 +00:00
|
|
|
*
|
|
|
|
* Note from lasgouttes: I have doubts on the semantics of this
|
|
|
|
* variable. Until this is sorted out, here are some notes on the
|
|
|
|
* history of local_font.
|
|
|
|
*
|
|
|
|
* A research that excludes test and assignment [*] shows that
|
|
|
|
* this is only used to remember language, which is a different
|
|
|
|
* story (and not changed by this patch). The only exception being
|
|
|
|
* in InsetMathHull::getCtObject and InsetMathNest::latex to
|
|
|
|
* support change tracking in insets, but I am not 100% sure that
|
|
|
|
* this is required. And historically [**] local_font used to be
|
|
|
|
* local_lang; it may be good to return to this simpler variable
|
|
|
|
* later.
|
|
|
|
*
|
|
|
|
* [*] git grep local_font src|grep -v 'local_font [!=]*='
|
|
|
|
*
|
|
|
|
* [**] before afed118a, which improved support for InsetLine;
|
|
|
|
* however, since 0e7ab29f, InsetLine does not depend on the
|
|
|
|
* current font anymore.
|
|
|
|
*/
|
2020-11-02 00:06:30 +00:00
|
|
|
Font const * local_font = nullptr;
|
2004-10-07 15:21:03 +00:00
|
|
|
|
2020-05-30 10:54:20 +00:00
|
|
|
/** Document language lyx name
|
2004-10-26 21:16:44 +00:00
|
|
|
*/
|
2014-11-18 19:51:21 +00:00
|
|
|
std::string document_language;
|
2004-08-05 09:18:54 +00:00
|
|
|
|
2018-04-20 16:01:16 +00:00
|
|
|
/// main font encoding of the document
|
|
|
|
std::string main_fontenc;
|
|
|
|
|
2009-10-18 21:48:13 +00:00
|
|
|
/** The master language. Non-null only for child documents.
|
2014-11-16 18:15:13 +00:00
|
|
|
Note that this is not the language of the top level master, but
|
|
|
|
of the direct parent for nested includes.
|
2009-10-18 21:48:13 +00:00
|
|
|
*/
|
2020-11-02 00:06:30 +00:00
|
|
|
mutable Language const * master_language = nullptr;
|
2009-10-18 21:48:13 +00:00
|
|
|
|
2019-08-14 11:10:42 +00:00
|
|
|
/// Active characters
|
|
|
|
std::string active_chars;
|
|
|
|
|
2007-03-18 10:59:16 +00:00
|
|
|
/** 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
|
2007-10-22 13:09:16 +00:00
|
|
|
each single character (\sa Paragraph::latex).
|
2007-03-18 10:59:16 +00:00
|
|
|
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
|
|
|
|
{
|
2007-05-28 22:27:45 +00:00
|
|
|
OutputParams runparams(runparams_in);
|
2007-03-18 10:59:16 +00:00
|
|
|
runparams.inComment = true;
|
|
|
|
...
|
|
|
|
InsetBla::latex(..., runparams);
|
|
|
|
...
|
|
|
|
runparams_in.encoding = runparams.encoding;
|
|
|
|
}
|
|
|
|
\endcode
|
|
|
|
*/
|
|
|
|
mutable Encoding const * encoding;
|
|
|
|
|
2003-05-23 08:59:47 +00:00
|
|
|
/** free_spacing == true means that the inset is in a free-spacing
|
|
|
|
paragraph.
|
|
|
|
*/
|
2020-11-02 00:06:30 +00:00
|
|
|
bool free_spacing = false;
|
2003-09-09 18:27:24 +00:00
|
|
|
|
2003-05-22 22:44:30 +00:00
|
|
|
/** This var is set by the return value from BufferParams::writeLaTeX
|
2004-04-08 15:03:33 +00:00
|
|
|
*/
|
2020-11-02 00:06:30 +00:00
|
|
|
bool use_babel = false;
|
2003-10-31 18:45:43 +00:00
|
|
|
|
2010-11-22 12:10:16 +00:00
|
|
|
/** Do we use polyglossia (instead of babel)?
|
|
|
|
*/
|
2020-11-02 00:06:30 +00:00
|
|
|
bool use_polyglossia = false;
|
2010-11-22 12:10:16 +00:00
|
|
|
|
2020-04-05 13:23:22 +00:00
|
|
|
/** Do we use hyperref?
|
|
|
|
*/
|
2020-11-02 00:06:30 +00:00
|
|
|
bool use_hyperref = false;
|
2020-04-05 13:23:22 +00:00
|
|
|
|
2019-03-13 10:31:25 +00:00
|
|
|
/// Do we use the CJK package?
|
2020-11-02 00:06:30 +00:00
|
|
|
bool use_CJK = false;
|
2019-03-13 10:31:25 +00:00
|
|
|
|
2009-04-16 07:29:01 +00:00
|
|
|
/** Are we generating multiple indices?
|
|
|
|
*/
|
2020-11-02 00:06:30 +00:00
|
|
|
bool use_indices = false;
|
2009-04-16 07:29:01 +00:00
|
|
|
|
2008-08-18 17:26:09 +00:00
|
|
|
/** Are we using japanese (pLaTeX)?
|
|
|
|
*/
|
2020-11-02 00:06:30 +00:00
|
|
|
bool use_japanese = false;
|
2008-08-18 17:26:09 +00:00
|
|
|
|
2009-05-22 07:20:00 +00:00
|
|
|
/** Customized bibtex_command
|
|
|
|
*/
|
2014-11-18 20:08:43 +00:00
|
|
|
std::string bibtex_command;
|
2009-05-22 07:20:00 +00:00
|
|
|
|
|
|
|
/** Customized index_command
|
|
|
|
*/
|
2014-11-18 20:08:43 +00:00
|
|
|
std::string index_command;
|
2009-05-22 07:20:00 +00:00
|
|
|
|
2018-04-08 17:02:01 +00:00
|
|
|
/** Hyperref driver
|
|
|
|
*/
|
|
|
|
std::string hyperref_driver;
|
|
|
|
|
2009-09-02 23:46:04 +00:00
|
|
|
/** Line length to use with plaintext or LaTeX export.
|
2004-04-08 15:03:33 +00:00
|
|
|
*/
|
2020-11-02 00:06:30 +00:00
|
|
|
size_type linelen = 0;
|
2004-06-01 13:39:33 +00:00
|
|
|
|
2004-08-16 00:32:04 +00:00
|
|
|
/** The depth of the current paragraph, set for plaintext
|
|
|
|
* export and used by InsetTabular
|
|
|
|
*/
|
2020-11-02 00:06:30 +00:00
|
|
|
int depth = 0;
|
2004-08-16 00:32:04 +00:00
|
|
|
|
2020-06-08 04:56:25 +00:00
|
|
|
/** Export data filled in by the latex(), docbook(), etc. methods.
|
2004-06-01 13:39:33 +00:00
|
|
|
This is a hack: Make it possible to add stuff to constant
|
|
|
|
OutputParams instances.
|
|
|
|
*/
|
2016-06-02 17:13:55 +00:00
|
|
|
std::shared_ptr<ExportData> exportdata;
|
2006-01-09 21:00:24 +00:00
|
|
|
|
2020-06-08 04:56:25 +00:00
|
|
|
/** Store labels, index entries, etc. (in \ref post_macro)
|
2019-03-14 13:24:43 +00:00
|
|
|
* and output them later. This is used in particular to get
|
|
|
|
* labels and index entries (and potentially other fragile commands)
|
|
|
|
* outside of moving arguments (bug 2154)
|
|
|
|
*/
|
2020-11-02 00:06:30 +00:00
|
|
|
bool postpone_fragile_stuff = false;
|
2019-03-14 13:24:43 +00:00
|
|
|
|
|
|
|
/** Stuff to be postponed and output after the current macro
|
|
|
|
* (if \ref postpone_fragile_stuff is true). Used for labels and index
|
|
|
|
* entries in commands with moving arguments (\\section, \\caption etc.)
|
|
|
|
*/
|
|
|
|
mutable docstring post_macro;
|
|
|
|
|
2021-01-23 13:24:54 +00:00
|
|
|
/** Whether we in a command that is not \\long (i.e. cannot have multiple
|
|
|
|
* paragraphs)
|
|
|
|
*/
|
|
|
|
mutable bool isNonLong = false;
|
|
|
|
|
2016-10-23 16:23:41 +00:00
|
|
|
/** Whether we are entering a display math inset.
|
2016-10-18 01:29:53 +00:00
|
|
|
* Needed to correctly strike out deleted math in change tracking.
|
|
|
|
*/
|
2020-11-02 00:06:30 +00:00
|
|
|
mutable bool inDisplayMath = false;
|
2016-10-18 01:29:53 +00:00
|
|
|
|
2016-10-23 16:23:41 +00:00
|
|
|
/** Whether we are leaving a display math inset.
|
|
|
|
* Needed to correctly track nested ulem commands in change tracking.
|
|
|
|
*/
|
2020-11-02 00:06:30 +00:00
|
|
|
mutable bool wasDisplayMath = false;
|
2016-10-23 16:23:41 +00:00
|
|
|
|
2006-01-09 21:00:24 +00:00
|
|
|
/** Whether we are inside a comment inset. Insets that are including
|
|
|
|
* external files like InsetGraphics, InsetInclude and InsetExternal
|
|
|
|
* may only write the usual output and must not attempt to do
|
|
|
|
* something with the included files (e.g. copying, converting)
|
|
|
|
* if this flag is true, since they may not exist.
|
|
|
|
*/
|
2020-11-02 00:06:30 +00:00
|
|
|
bool inComment = false;
|
view-source feature, from Bo Peng <ben.bob@gmail.com>
* src/buffer.h buffer.C - getSourceCode()
* src/lyxfunc.C - open view-source dialog
* src/text3.C - change LFUN_MOUSE_RELEASE
* src/output_linuxdoc.C, src/output_docbook.C, src/output_latex.C
- intercept output
* src/outputparams.h, outputparams.C - add par_begin, par_end, dryrun
* src/insets/insetgraphics.C - add dryrun mode of file conversion
* lib/ui/stdmenus.ui - add view-source menu item under view
* Add view-source dialog, add
src/frontends/qt2/QViewSourceDialog.h, QViewSource.C, QViewSource.h, QViewSourceDialog.C
src/frontends/qt2/ui/QViewSourceDialogBase.ui
src/frontends/controllers/ControlViewSource.h ControlViewSource.C
modify
src/frontends/qt2/Makefile.dialogs, Makefile.am, Dialogs.C,
src/frontends/controllers/Makefile.am, po.POTFILES.in
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13610 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-09 02:48:54 +00:00
|
|
|
|
2020-10-18 07:05:49 +00:00
|
|
|
/** Whether we are inside an include inset.
|
|
|
|
*/
|
2020-11-02 00:06:30 +00:00
|
|
|
bool inInclude = false;
|
2020-10-18 07:05:49 +00:00
|
|
|
|
2017-02-04 11:02:00 +00:00
|
|
|
/** Whether a btUnit (for multiple biblographies) is open.
|
|
|
|
*/
|
2020-11-02 00:06:30 +00:00
|
|
|
mutable bool openbtUnit = false;
|
2017-02-04 11:02:00 +00:00
|
|
|
|
2017-02-04 18:23:46 +00:00
|
|
|
/** Process only the children's aux files with BibTeX.
|
|
|
|
* This is necessary with chapterbib.
|
|
|
|
*/
|
2020-11-02 00:06:30 +00:00
|
|
|
bool only_childbibs = false;
|
2017-02-04 18:23:46 +00:00
|
|
|
|
2008-09-10 16:02:32 +00:00
|
|
|
/** Whether we are in a table cell.
|
|
|
|
* For newline, it matters whether its content is aligned or not.
|
2021-10-31 10:56:53 +00:00
|
|
|
*/
|
2020-11-02 00:06:30 +00:00
|
|
|
TableCell inTableCell = NO;
|
2008-09-09 18:42:17 +00:00
|
|
|
|
2009-02-07 12:27:24 +00:00
|
|
|
/** Whether we are inside a float or subfloat.
|
|
|
|
* Needed for subfloat detection on the command line.
|
|
|
|
*/
|
2020-11-02 00:06:30 +00:00
|
|
|
Float inFloat = NONFLOAT;
|
2009-02-07 12:27:24 +00:00
|
|
|
|
2009-09-10 12:07:42 +00:00
|
|
|
/** Whether we are inside an index inset.
|
|
|
|
* ERT needs to know this, due to the active chars.
|
|
|
|
*/
|
2020-11-02 00:06:30 +00:00
|
|
|
bool inIndexEntry = false;
|
2009-09-10 12:07:42 +00:00
|
|
|
|
2012-03-09 09:05:13 +00:00
|
|
|
/** Whether we are inside an IPA inset.
|
|
|
|
* Needed for proper IPA output.
|
|
|
|
*/
|
2020-11-02 00:06:30 +00:00
|
|
|
bool inIPA = false;
|
2012-03-09 09:05:13 +00:00
|
|
|
|
2007-07-21 18:10:55 +00:00
|
|
|
/** Whether we are inside an inset that is logically deleted.
|
|
|
|
* A value > 0 indicates a deleted inset.
|
2019-12-28 12:43:17 +00:00
|
|
|
*/
|
2020-11-02 00:06:30 +00:00
|
|
|
int inDeletedInset = 0;
|
2007-07-21 18:10:55 +00:00
|
|
|
|
|
|
|
/** The change information of the outermost logically deleted inset.
|
|
|
|
* changeOfDeletedInset shall only be evaluated if inDeletedInset > 0.
|
2019-12-28 12:43:17 +00:00
|
|
|
*/
|
2020-11-02 00:06:30 +00:00
|
|
|
Change changeOfDeletedInset {Change::UNCHANGED};
|
2007-07-21 18:10:55 +00:00
|
|
|
|
2019-12-28 12:43:17 +00:00
|
|
|
/** What kind of change tracking object is this?
|
|
|
|
* Relevant for strikeout method in output
|
|
|
|
*/
|
2020-11-29 23:03:35 +00:00
|
|
|
mutable CtObject ctObject = CtObject::Normal;
|
2019-12-28 12:43:17 +00:00
|
|
|
|
2007-05-28 22:27:45 +00:00
|
|
|
/** allow output of only part of the top-level paragraphs
|
view-source feature, from Bo Peng <ben.bob@gmail.com>
* src/buffer.h buffer.C - getSourceCode()
* src/lyxfunc.C - open view-source dialog
* src/text3.C - change LFUN_MOUSE_RELEASE
* src/output_linuxdoc.C, src/output_docbook.C, src/output_latex.C
- intercept output
* src/outputparams.h, outputparams.C - add par_begin, par_end, dryrun
* src/insets/insetgraphics.C - add dryrun mode of file conversion
* lib/ui/stdmenus.ui - add view-source menu item under view
* Add view-source dialog, add
src/frontends/qt2/QViewSourceDialog.h, QViewSource.C, QViewSource.h, QViewSourceDialog.C
src/frontends/qt2/ui/QViewSourceDialogBase.ui
src/frontends/controllers/ControlViewSource.h ControlViewSource.C
modify
src/frontends/qt2/Makefile.dialogs, Makefile.am, Dialogs.C,
src/frontends/controllers/Makefile.am, po.POTFILES.in
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13610 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-09 02:48:54 +00:00
|
|
|
* par_begin: beginning paragraph
|
|
|
|
*/
|
2020-11-02 00:06:30 +00:00
|
|
|
mutable pit_type par_begin = 0;
|
view-source feature, from Bo Peng <ben.bob@gmail.com>
* src/buffer.h buffer.C - getSourceCode()
* src/lyxfunc.C - open view-source dialog
* src/text3.C - change LFUN_MOUSE_RELEASE
* src/output_linuxdoc.C, src/output_docbook.C, src/output_latex.C
- intercept output
* src/outputparams.h, outputparams.C - add par_begin, par_end, dryrun
* src/insets/insetgraphics.C - add dryrun mode of file conversion
* lib/ui/stdmenus.ui - add view-source menu item under view
* Add view-source dialog, add
src/frontends/qt2/QViewSourceDialog.h, QViewSource.C, QViewSource.h, QViewSourceDialog.C
src/frontends/qt2/ui/QViewSourceDialogBase.ui
src/frontends/controllers/ControlViewSource.h ControlViewSource.C
modify
src/frontends/qt2/Makefile.dialogs, Makefile.am, Dialogs.C,
src/frontends/controllers/Makefile.am, po.POTFILES.in
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13610 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-09 02:48:54 +00:00
|
|
|
|
2007-05-28 22:27:45 +00:00
|
|
|
/** allow output of only part of the top-level paragraphs
|
view-source feature, from Bo Peng <ben.bob@gmail.com>
* src/buffer.h buffer.C - getSourceCode()
* src/lyxfunc.C - open view-source dialog
* src/text3.C - change LFUN_MOUSE_RELEASE
* src/output_linuxdoc.C, src/output_docbook.C, src/output_latex.C
- intercept output
* src/outputparams.h, outputparams.C - add par_begin, par_end, dryrun
* src/insets/insetgraphics.C - add dryrun mode of file conversion
* lib/ui/stdmenus.ui - add view-source menu item under view
* Add view-source dialog, add
src/frontends/qt2/QViewSourceDialog.h, QViewSource.C, QViewSource.h, QViewSourceDialog.C
src/frontends/qt2/ui/QViewSourceDialogBase.ui
src/frontends/controllers/ControlViewSource.h ControlViewSource.C
modify
src/frontends/qt2/Makefile.dialogs, Makefile.am, Dialogs.C,
src/frontends/controllers/Makefile.am, po.POTFILES.in
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13610 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-09 02:48:54 +00:00
|
|
|
* par_end: par_end-1 is the ending paragraph
|
|
|
|
* if par_begin=par_end, output all paragraphs
|
|
|
|
*/
|
2020-11-02 00:06:30 +00:00
|
|
|
mutable pit_type par_end = 0;
|
view-source feature, from Bo Peng <ben.bob@gmail.com>
* src/buffer.h buffer.C - getSourceCode()
* src/lyxfunc.C - open view-source dialog
* src/text3.C - change LFUN_MOUSE_RELEASE
* src/output_linuxdoc.C, src/output_docbook.C, src/output_latex.C
- intercept output
* src/outputparams.h, outputparams.C - add par_begin, par_end, dryrun
* src/insets/insetgraphics.C - add dryrun mode of file conversion
* lib/ui/stdmenus.ui - add view-source menu item under view
* Add view-source dialog, add
src/frontends/qt2/QViewSourceDialog.h, QViewSource.C, QViewSource.h, QViewSourceDialog.C
src/frontends/qt2/ui/QViewSourceDialogBase.ui
src/frontends/controllers/ControlViewSource.h ControlViewSource.C
modify
src/frontends/qt2/Makefile.dialogs, Makefile.am, Dialogs.C,
src/frontends/controllers/Makefile.am, po.POTFILES.in
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13610 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-09 02:48:54 +00:00
|
|
|
|
2011-03-12 01:40:01 +00:00
|
|
|
/// Id of the last paragraph before an inset
|
2020-11-02 00:06:30 +00:00
|
|
|
mutable int lastid = -1;
|
2011-03-12 01:40:01 +00:00
|
|
|
|
|
|
|
/// Last position in the last paragraph before an inset
|
2020-11-02 00:06:30 +00:00
|
|
|
mutable pos_type lastpos = 0;
|
2011-03-12 01:40:01 +00:00
|
|
|
|
2008-09-18 14:51:16 +00:00
|
|
|
/// is this the last paragraph in the current buffer/inset?
|
2020-11-02 00:06:30 +00:00
|
|
|
bool isLastPar = false;
|
2013-11-12 19:52:35 +00:00
|
|
|
|
2008-09-18 14:51:16 +00:00
|
|
|
|
2017-05-02 00:02:25 +00:00
|
|
|
/** whether or not to do actual file copying and image conversion
|
view-source feature, from Bo Peng <ben.bob@gmail.com>
* src/buffer.h buffer.C - getSourceCode()
* src/lyxfunc.C - open view-source dialog
* src/text3.C - change LFUN_MOUSE_RELEASE
* src/output_linuxdoc.C, src/output_docbook.C, src/output_latex.C
- intercept output
* src/outputparams.h, outputparams.C - add par_begin, par_end, dryrun
* src/insets/insetgraphics.C - add dryrun mode of file conversion
* lib/ui/stdmenus.ui - add view-source menu item under view
* Add view-source dialog, add
src/frontends/qt2/QViewSourceDialog.h, QViewSource.C, QViewSource.h, QViewSourceDialog.C
src/frontends/qt2/ui/QViewSourceDialogBase.ui
src/frontends/controllers/ControlViewSource.h ControlViewSource.C
modify
src/frontends/qt2/Makefile.dialogs, Makefile.am, Dialogs.C,
src/frontends/controllers/Makefile.am, po.POTFILES.in
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13610 a592a061-630c-0410-9148-cb99ea01b6c8
2006-04-09 02:48:54 +00:00
|
|
|
* This mode will be used to preview the source code
|
|
|
|
*/
|
2020-11-02 00:06:30 +00:00
|
|
|
bool dryrun = false;
|
2013-11-12 19:52:35 +00:00
|
|
|
|
|
|
|
/// whether to display output errors or not
|
2020-11-02 00:06:30 +00:00
|
|
|
bool silent = false;
|
2013-11-12 19:52:35 +00:00
|
|
|
|
2007-10-20 17:05:28 +00:00
|
|
|
/// Should we output verbatim or escape LaTeX's special chars?
|
2020-11-02 00:06:30 +00:00
|
|
|
bool pass_thru = false;
|
2013-11-12 19:52:35 +00:00
|
|
|
|
2015-04-20 16:13:49 +00:00
|
|
|
/// Should we output verbatim specific chars?
|
|
|
|
docstring pass_thru_chars;
|
|
|
|
|
2019-04-18 09:35:03 +00:00
|
|
|
/// A specific newline macro
|
|
|
|
std::string newlinecmd;
|
|
|
|
|
2009-10-26 20:47:12 +00:00
|
|
|
/// Should we output captions?
|
2020-11-02 00:06:30 +00:00
|
|
|
bool html_disable_captions = false;
|
2013-11-12 19:52:35 +00:00
|
|
|
|
2009-10-26 20:47:12 +00:00
|
|
|
/// Are we already in a paragraph?
|
2020-11-02 00:06:30 +00:00
|
|
|
bool html_in_par = false;
|
2013-11-12 19:52:35 +00:00
|
|
|
|
2009-11-19 22:31:52 +00:00
|
|
|
/// Does the present context even permit paragraphs?
|
2020-11-02 00:06:30 +00:00
|
|
|
bool html_make_pars = true;
|
2013-11-12 19:52:35 +00:00
|
|
|
|
2020-06-08 21:27:49 +00:00
|
|
|
/// Are we already in a paragraph?
|
2020-11-02 00:06:30 +00:00
|
|
|
bool docbook_in_par = false;
|
2020-06-08 21:27:49 +00:00
|
|
|
|
2021-05-24 21:36:23 +00:00
|
|
|
/// Is this element's allowMultiPar useable or not?
|
|
|
|
bool docbook_consider_allow_multi_par = true;
|
|
|
|
|
2020-06-08 21:27:49 +00:00
|
|
|
/// Does the present context even permit paragraphs?
|
2020-11-02 00:06:30 +00:00
|
|
|
bool docbook_make_pars = true;
|
2020-06-08 21:27:49 +00:00
|
|
|
|
|
|
|
/// Are paragraphs mandatory in this context?
|
2020-11-02 00:06:30 +00:00
|
|
|
bool docbook_force_pars = false;
|
2020-06-08 21:27:49 +00:00
|
|
|
|
|
|
|
/// Anchors that should not be output (LyX-side identifier, not DocBook-side).
|
2020-07-11 14:19:21 +00:00
|
|
|
std::set<docstring> docbook_anchors_to_ignore;
|
2020-06-08 21:27:49 +00:00
|
|
|
|
|
|
|
/// Is the current context a float (such as a table or a figure)?
|
2020-11-02 00:06:30 +00:00
|
|
|
bool docbook_in_float = false;
|
2020-06-08 21:27:49 +00:00
|
|
|
|
|
|
|
/// Is the current context a listing?
|
2020-11-02 00:06:30 +00:00
|
|
|
bool docbook_in_listing = false;
|
2020-06-08 21:27:49 +00:00
|
|
|
|
2020-08-02 02:03:17 +00:00
|
|
|
/// Is the current context a table?
|
2020-11-02 00:06:30 +00:00
|
|
|
bool docbook_in_table = false;
|
2020-08-02 02:03:17 +00:00
|
|
|
|
2020-11-18 00:51:05 +00:00
|
|
|
/// Should the layouts that should/must go into <info> be generated?
|
|
|
|
bool docbook_generate_info = true;
|
|
|
|
|
2020-11-26 05:22:27 +00:00
|
|
|
/// Should wrappers be ignored? Mostly useful to avoid generation of <abstract>.
|
|
|
|
bool docbook_ignore_wrapper = false;
|
|
|
|
|
2020-11-28 21:43:00 +00:00
|
|
|
/// 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 = {};
|
|
|
|
|
2021-02-14 06:07:04 +00:00
|
|
|
/// 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 = {};
|
|
|
|
|
2010-01-14 22:24:43 +00:00
|
|
|
/// Are we generating this material for inclusion in a TOC-like entity?
|
2020-11-02 00:06:30 +00:00
|
|
|
bool for_toc = false;
|
2013-11-12 19:52:35 +00:00
|
|
|
|
2013-03-08 19:52:18 +00:00
|
|
|
/// Are we generating this material for inclusion in a tooltip?
|
2020-11-02 00:06:30 +00:00
|
|
|
bool for_tooltip = false;
|
2013-03-08 19:52:18 +00:00
|
|
|
|
2013-03-12 16:45:15 +00:00
|
|
|
/// Are we generating this material for use by advanced search?
|
2021-01-22 20:11:28 +00:00
|
|
|
enum Search {
|
2022-03-10 09:51:02 +00:00
|
|
|
NoSearch = 0,
|
|
|
|
SearchWithDeleted = 1,
|
|
|
|
SearchWithoutDeleted = 2,
|
2022-04-09 06:52:24 +00:00
|
|
|
SearchQuick = 4,
|
2022-03-10 09:51:02 +00:00
|
|
|
SearchNonOutput = 8
|
2021-01-22 20:11:28 +00:00
|
|
|
};
|
|
|
|
|
2022-05-09 20:06:02 +00:00
|
|
|
inline bool find_effective(void) const { return (for_search != OutputParams::NoSearch); }
|
|
|
|
inline bool find_with_non_output() const { return ((for_search & OutputParams::SearchNonOutput) != 0); }
|
|
|
|
inline bool find_with_deleted() const { return ((for_search & OutputParams::SearchWithDeleted) != 0); }
|
|
|
|
inline void find_set_feature(enum Search set_) { for_search = set_; }
|
|
|
|
inline void find_add_feature(enum Search add_) { for_search |= add_; }
|
|
|
|
inline void find_clean_features(void) { for_search = OutputParams::NoSearch; }
|
2013-03-12 16:45:15 +00:00
|
|
|
|
2015-06-02 15:23:52 +00:00
|
|
|
/// Are we generating this material for instant preview?
|
2020-11-02 00:06:30 +00:00
|
|
|
bool for_preview = false;
|
2015-06-02 15:23:52 +00:00
|
|
|
|
2010-01-10 13:25:41 +00:00
|
|
|
/// Include all children notwithstanding the use of \includeonly
|
2020-11-02 00:06:30 +00:00
|
|
|
bool includeall = false;
|
2011-09-15 01:07:49 +00:00
|
|
|
|
|
|
|
/// Explicit output folder, if any is desired
|
|
|
|
std::string export_folder;
|
2021-10-31 10:56:53 +00:00
|
|
|
|
|
|
|
/// A postponed \\noindent (after VSpace)
|
|
|
|
mutable bool need_noindent = false;
|
2022-05-09 20:06:02 +00:00
|
|
|
private:
|
|
|
|
int for_search = NoSearch;
|
2003-05-22 18:59:10 +00:00
|
|
|
};
|
|
|
|
|
2006-10-21 00:16:43 +00:00
|
|
|
|
|
|
|
} // namespace lyx
|
|
|
|
|
2004-06-03 13:08:50 +00:00
|
|
|
#endif // NOT OUTPUTPARAMS_H
|