]> git.lyx.org Git - lyx.git/blob - src/outputparams.h
typos
[lyx.git] / src / outputparams.h
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.
6  *
7  *  \author Angus Leeming
8  *
9  * Full author contact details are available in file CREDITS.
10  */
11
12 #ifndef OUTPUTPARAMS_H
13 #define OUTPUTPARAMS_H
14
15 #include <string>
16
17 #include "support/types.h"
18 #include <boost/shared_ptr.hpp>
19
20
21 namespace lyx {
22
23
24 class ExportData;
25 class LyXFont;
26
27
28 class OutputParams {
29 public:
30         enum FLAVOR {
31                 LATEX,
32                 PDFLATEX,
33                 XML
34         };
35
36         OutputParams();
37         ~OutputParams();
38
39         /** The latex that we export depends occasionally on what is to
40             compile the file.
41         */
42         FLAVOR flavor;
43
44         /** Are we to write a 'nice' LaTeX file or not.
45             This esentially seems to mean whether InsetInclude, InsetGraphics
46             and InsetExternal should add the absolute path to any external
47             files or not.
48         */
49         bool nice;
50
51         /** moving_arg == true means that the environment in which the inset
52             is typeset is a moving argument. The inset should take care about
53             fragile commands by preceding the latex with \\protect.
54         */
55         bool moving_arg;
56
57         /** intitle == true means that the environment in which the
58             inset is typeset is part of a title (before a \\maketitle).
59             Footnotes in such environments have moving arguments.
60         */
61         bool intitle;
62
63         /** the font at the point where the inset is
64          */
65         LyXFont const * local_font;
66
67         /** Document language babel name
68          */
69         mutable std::string document_language;
70
71         /** free_spacing == true means that the inset is in a free-spacing
72             paragraph.
73         */
74         bool free_spacing;
75
76         /** This var is set by the return value from BufferParams::writeLaTeX
77         */
78         bool use_babel;
79
80         /** Line length to use with plaintext export.
81         */
82         size_type linelen;
83
84         /** The depth of the current paragraph, set for plaintext
85          *  export and used by InsetTabular
86          */
87         int depth;
88
89         /** Export data filled in by the latex(), docbook() etc methods.
90             This is a hack: Make it possible to add stuff to constant
91             OutputParams instances.
92         */
93         boost::shared_ptr<ExportData> exportdata;
94
95         /** Whether we are inside a comment inset. Insets that are including
96          *  external files like InsetGraphics, InsetInclude and InsetExternal
97          *  may only write the usual output and must not attempt to do
98          *  something with the included files (e.g. copying, converting)
99          *  if this flag is true, since they may not exist.
100          */
101         bool inComment;
102
103         /** allow output of only part of the top-level paragraphs 
104          *  par_begin: beginning paragraph
105          */
106         pit_type par_begin;
107
108         /** allow output of only part of the top-level paragraphs 
109          *  par_end: par_end-1 is the ending paragraph
110          *  if par_begin=par_end, output all paragraphs
111          */
112         pit_type par_end;
113
114         /** whether or not do actual file copying and image conversion 
115          *  This mode will be used to preview the source code
116          */
117         bool dryrun;
118 };
119
120
121 } // namespace lyx
122
123 #endif // NOT OUTPUTPARAMS_H