2003-05-22 18:59:10 +00:00
|
|
|
// -*- C++ -*-
|
|
|
|
/**
|
2003-11-05 12:06:20 +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
|
|
|
|
2004-08-05 09:18:54 +00:00
|
|
|
#include <string>
|
|
|
|
|
2004-03-27 01:18:51 +00:00
|
|
|
#include "support/types.h"
|
2004-06-03 13:08:50 +00:00
|
|
|
#include <boost/shared_ptr.hpp>
|
2004-03-27 01:18:51 +00:00
|
|
|
|
2004-04-08 15:03:33 +00:00
|
|
|
|
2004-06-01 13:39:33 +00:00
|
|
|
class ExportData;
|
2005-09-09 11:04:53 +00:00
|
|
|
class LyXFont;
|
2004-06-01 13:39:33 +00:00
|
|
|
|
|
|
|
|
2005-01-19 15:03:31 +00:00
|
|
|
class OutputParams {
|
|
|
|
public:
|
2004-04-08 15:03:33 +00:00
|
|
|
//
|
|
|
|
enum FLAVOR {
|
|
|
|
LATEX,
|
2004-05-13 11:21:58 +00:00
|
|
|
PDFLATEX,
|
|
|
|
XML
|
2004-04-08 15:03:33 +00:00
|
|
|
};
|
2003-05-22 18:59:10 +00:00
|
|
|
|
2004-06-03 13:08:50 +00:00
|
|
|
OutputParams();
|
|
|
|
~OutputParams();
|
2003-05-22 18:59:10 +00:00
|
|
|
|
2003-05-22 21:10:22 +00:00
|
|
|
/** The latex that we export depends occasionally on what is to
|
|
|
|
compile the file.
|
|
|
|
*/
|
2004-04-08 15:03:33 +00:00
|
|
|
FLAVOR flavor;
|
2003-05-22 22:44:30 +00:00
|
|
|
|
2003-05-22 21:10:22 +00:00
|
|
|
/** 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.
|
|
|
|
*/
|
|
|
|
bool nice;
|
2003-05-22 22:44:30 +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
|
|
|
*/
|
2003-05-23 09:23:03 +00:00
|
|
|
bool moving_arg;
|
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.
|
|
|
|
*/
|
|
|
|
bool intitle;
|
|
|
|
|
2005-09-09 11:04:53 +00:00
|
|
|
/** the font at the point where the inset is
|
2004-08-05 09:18:54 +00:00
|
|
|
*/
|
2005-09-09 11:04:53 +00:00
|
|
|
LyXFont const * local_font;
|
2004-10-07 15:21:03 +00:00
|
|
|
|
|
|
|
/** Document language babel name
|
2004-10-26 21:16:44 +00:00
|
|
|
*/
|
2004-10-07 15:21:03 +00:00
|
|
|
mutable std::string document_language;
|
2004-08-05 09:18:54 +00:00
|
|
|
|
2003-05-23 08:59:47 +00:00
|
|
|
/** free_spacing == true means that the inset is in a free-spacing
|
|
|
|
paragraph.
|
|
|
|
*/
|
|
|
|
bool free_spacing;
|
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
|
|
|
*/
|
2003-05-22 22:44:30 +00:00
|
|
|
bool use_babel;
|
2003-10-31 18:45:43 +00:00
|
|
|
|
2004-08-16 00:32:04 +00:00
|
|
|
/** Line length to use with plaintext export.
|
2004-04-08 15:03:33 +00:00
|
|
|
*/
|
2004-03-27 01:18:51 +00:00
|
|
|
lyx::size_type linelen;
|
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
|
|
|
|
*/
|
|
|
|
int depth;
|
|
|
|
|
2004-06-01 13:39:33 +00:00
|
|
|
/** Export data filled in by the latex(), docbook() etc methods.
|
|
|
|
This is a hack: Make it possible to add stuff to constant
|
|
|
|
OutputParams instances.
|
|
|
|
*/
|
2004-06-03 13:08:50 +00:00
|
|
|
boost::shared_ptr<ExportData> exportdata;
|
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.
|
|
|
|
*/
|
|
|
|
bool inComment;
|
2003-05-22 18:59:10 +00:00
|
|
|
};
|
|
|
|
|
2004-06-03 13:08:50 +00:00
|
|
|
#endif // NOT OUTPUTPARAMS_H
|