Consider the case where there is not any layout name.
[lyx.git] / src / outputparams.h
blob0e3ae8c481007994a8904a322c8644cf4e408a6b
1 // -*- C++ -*-
2 /**
3 * \file outputparams.h
4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
7 * \author Angus Leeming
9 * Full author contact details are available in file CREDITS.
12 #ifndef OUTPUTPARAMS_H
13 #define OUTPUTPARAMS_H
15 #include <string>
17 #include "support/types.h"
18 #include <boost/shared_ptr.hpp>
21 class ExportData;
24 class OutputParams {
25 public:
27 enum FLAVOR {
28 LATEX,
29 PDFLATEX,
30 XML
33 OutputParams();
34 ~OutputParams();
36 /** The latex that we export depends occasionally on what is to
37 compile the file.
39 FLAVOR flavor;
41 /** Are we to write a 'nice' LaTeX file or not.
42 This esentially seems to mean whether InsetInclude, InsetGraphics
43 and InsetExternal should add the absolute path to any external
44 files or not.
46 bool nice;
48 /** moving_arg == true means that the environment in which the inset
49 is typeset is a moving argument. The inset should take care about
50 fragile commands by preceding the latex with \protect.
52 bool moving_arg;
54 /** intitle == true means that the environment in which the
55 inset is typeset is part of a title (before a \maketitle).
56 Footnotes in such environments have moving arguments.
58 bool intitle;
60 /** the babel name of the language at the point where the inset is
62 std::string local_language;
64 /** Document language babel name
66 mutable std::string document_language;
68 /** free_spacing == true means that the inset is in a free-spacing
69 paragraph.
71 bool free_spacing;
73 /** This var is set by the return value from BufferParams::writeLaTeX
75 bool use_babel;
77 /** Line length to use with plaintext export.
79 lyx::size_type linelen;
81 /** The depth of the current paragraph, set for plaintext
82 * export and used by InsetTabular
84 int depth;
86 /** Export data filled in by the latex(), docbook() etc methods.
87 This is a hack: Make it possible to add stuff to constant
88 OutputParams instances.
90 boost::shared_ptr<ExportData> exportdata;
93 #endif // NOT OUTPUTPARAMS_H