1999-09-27 18:44:28 +00:00
|
|
|
|
// -*- C++ -*-
|
2003-08-23 00:17:00 +00:00
|
|
|
|
/**
|
|
|
|
|
* \file layout.h
|
|
|
|
|
* This file is part of LyX, the document processor.
|
|
|
|
|
* Licence details can be found in the file COPYING.
|
2002-03-21 17:27:08 +00:00
|
|
|
|
*
|
2003-08-23 00:17:00 +00:00
|
|
|
|
* \author Lars Gullik Bj<EFBFBD>nnes
|
|
|
|
|
* \author Jean-Marc Lasgouttes
|
2002-03-21 17:27:08 +00:00
|
|
|
|
*
|
2003-08-23 00:17:00 +00:00
|
|
|
|
* Full author contact details are available in file CREDITS.
|
|
|
|
|
*/
|
1999-09-27 18:44:28 +00:00
|
|
|
|
|
1999-11-04 01:40:20 +00:00
|
|
|
|
#ifndef LAYOUT_H
|
|
|
|
|
#define LAYOUT_H
|
1999-09-27 18:44:28 +00:00
|
|
|
|
|
|
|
|
|
/// The different output types
|
|
|
|
|
enum OutputType {
|
2001-11-26 11:08:43 +00:00
|
|
|
|
///
|
|
|
|
|
LATEX = 1,
|
1999-09-27 18:44:28 +00:00
|
|
|
|
///
|
|
|
|
|
DOCBOOK,
|
|
|
|
|
///
|
|
|
|
|
LITERATE
|
|
|
|
|
};
|
|
|
|
|
|
2001-11-26 11:08:43 +00:00
|
|
|
|
|
1999-09-27 18:44:28 +00:00
|
|
|
|
/// The different margin types
|
|
|
|
|
enum LYX_MARGIN_TYPE {
|
|
|
|
|
///
|
2000-02-29 02:19:17 +00:00
|
|
|
|
MARGIN_MANUAL = 1,
|
1999-09-27 18:44:28 +00:00
|
|
|
|
///
|
|
|
|
|
MARGIN_FIRST_DYNAMIC,
|
|
|
|
|
///
|
|
|
|
|
MARGIN_DYNAMIC,
|
|
|
|
|
///
|
|
|
|
|
MARGIN_STATIC,
|
|
|
|
|
///
|
|
|
|
|
MARGIN_RIGHT_ADDRESS_BOX
|
|
|
|
|
};
|
|
|
|
|
|
2000-02-03 19:51:27 +00:00
|
|
|
|
|
1999-09-27 18:44:28 +00:00
|
|
|
|
///
|
1999-11-04 01:40:20 +00:00
|
|
|
|
enum LyXAlignment {
|
|
|
|
|
///
|
|
|
|
|
LYX_ALIGN_NONE = 0,
|
1999-09-27 18:44:28 +00:00
|
|
|
|
///
|
|
|
|
|
LYX_ALIGN_BLOCK = 1,
|
|
|
|
|
///
|
|
|
|
|
LYX_ALIGN_LEFT = 2,
|
|
|
|
|
///
|
|
|
|
|
LYX_ALIGN_RIGHT = 4,
|
|
|
|
|
///
|
|
|
|
|
LYX_ALIGN_CENTER = 8,
|
|
|
|
|
///
|
|
|
|
|
LYX_ALIGN_LAYOUT = 16,
|
|
|
|
|
///
|
2001-11-26 11:08:43 +00:00
|
|
|
|
LYX_ALIGN_SPECIAL = 32
|
1999-09-27 18:44:28 +00:00
|
|
|
|
};
|
1999-12-16 06:43:25 +00:00
|
|
|
|
|
2000-08-07 20:58:24 +00:00
|
|
|
|
///
|
2000-03-07 01:14:37 +00:00
|
|
|
|
inline
|
|
|
|
|
void operator|=(LyXAlignment & la1, LyXAlignment la2) {
|
1999-11-04 01:40:20 +00:00
|
|
|
|
la1 = static_cast<LyXAlignment>(la1 | la2);
|
|
|
|
|
}
|
1999-09-27 18:44:28 +00:00
|
|
|
|
|
2001-11-26 11:08:43 +00:00
|
|
|
|
|
1999-09-27 18:44:28 +00:00
|
|
|
|
/// The different LaTeX-Types
|
|
|
|
|
enum LYX_LATEX_TYPES {
|
|
|
|
|
///
|
2000-02-29 02:19:17 +00:00
|
|
|
|
LATEX_PARAGRAPH = 1,
|
1999-09-27 18:44:28 +00:00
|
|
|
|
///
|
|
|
|
|
LATEX_COMMAND,
|
|
|
|
|
///
|
|
|
|
|
LATEX_ENVIRONMENT,
|
|
|
|
|
///
|
|
|
|
|
LATEX_ITEM_ENVIRONMENT,
|
|
|
|
|
///
|
2003-02-17 15:16:14 +00:00
|
|
|
|
LATEX_BIB_ENVIRONMENT,
|
|
|
|
|
///
|
1999-09-27 18:44:28 +00:00
|
|
|
|
LATEX_LIST_ENVIRONMENT
|
|
|
|
|
};
|
|
|
|
|
|
2001-11-26 11:08:43 +00:00
|
|
|
|
|
2003-02-13 17:49:09 +00:00
|
|
|
|
/// The different title types
|
|
|
|
|
enum LYX_TITLE_LATEX_TYPES {
|
|
|
|
|
///
|
|
|
|
|
TITLE_COMMAND_AFTER = 1,
|
|
|
|
|
///
|
|
|
|
|
TITLE_ENVIRONMENT
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
1999-09-27 18:44:28 +00:00
|
|
|
|
/// The different label types
|
|
|
|
|
enum LYX_LABEL_TYPES {
|
|
|
|
|
///
|
|
|
|
|
LABEL_NO_LABEL,
|
|
|
|
|
///
|
|
|
|
|
LABEL_MANUAL,
|
|
|
|
|
///
|
2001-11-26 11:08:43 +00:00
|
|
|
|
LABEL_BIBLIO,
|
1999-09-27 18:44:28 +00:00
|
|
|
|
///
|
|
|
|
|
LABEL_TOP_ENVIRONMENT,
|
|
|
|
|
///
|
|
|
|
|
LABEL_CENTERED_TOP_ENVIRONMENT,
|
|
|
|
|
|
|
|
|
|
// the flushright labels following now must start with LABEL_STATIC
|
|
|
|
|
///
|
|
|
|
|
LABEL_STATIC,
|
|
|
|
|
///
|
|
|
|
|
LABEL_SENSITIVE,
|
|
|
|
|
///
|
2003-09-12 17:13:22 +00:00
|
|
|
|
LABEL_COUNTER,
|
1999-09-27 18:44:28 +00:00
|
|
|
|
///
|
2003-09-12 17:13:22 +00:00
|
|
|
|
LABEL_ENUMERATE,
|
1999-09-27 18:44:28 +00:00
|
|
|
|
///
|
2003-09-12 17:13:22 +00:00
|
|
|
|
LABEL_ITEMIZE
|
1999-09-27 18:44:28 +00:00
|
|
|
|
};
|
|
|
|
|
|
2001-11-26 11:08:43 +00:00
|
|
|
|
|
2000-08-07 20:58:24 +00:00
|
|
|
|
///
|
2000-03-10 13:22:20 +00:00
|
|
|
|
enum LYX_END_LABEL_TYPES {
|
|
|
|
|
///
|
|
|
|
|
END_LABEL_NO_LABEL,
|
|
|
|
|
///
|
|
|
|
|
END_LABEL_BOX,
|
|
|
|
|
///
|
|
|
|
|
END_LABEL_FILLED_BOX,
|
|
|
|
|
///
|
2000-05-12 13:11:20 +00:00
|
|
|
|
END_LABEL_STATIC,
|
|
|
|
|
///
|
2000-03-10 13:22:20 +00:00
|
|
|
|
END_LABEL_ENUM_FIRST = END_LABEL_NO_LABEL,
|
|
|
|
|
///
|
2000-05-12 13:11:20 +00:00
|
|
|
|
END_LABEL_ENUM_LAST = END_LABEL_STATIC
|
2000-03-10 13:22:20 +00:00
|
|
|
|
};
|
2002-03-21 17:27:08 +00:00
|
|
|
|
|
|
|
|
|
/* Fix labels are printed flushright, manual labels flushleft.
|
1999-11-04 01:40:20 +00:00
|
|
|
|
* MARGIN_MANUAL and MARGIN_FIRST_DYNAMIC are *only* for LABEL_MANUAL,
|
2002-03-21 17:27:08 +00:00
|
|
|
|
* MARGIN_DYNAMIC and MARGIN_STATIC are *not* for LABEL_MANUAL.
|
1999-11-04 01:40:20 +00:00
|
|
|
|
* This seems a funny restriction, but I think other combinations are
|
2002-03-21 17:27:08 +00:00
|
|
|
|
* not needed, so I will not change it yet.
|
1999-11-04 01:40:20 +00:00
|
|
|
|
* Correction: MARGIN_FIRST_DYNAMIC also usable with LABEL_STATIC
|
|
|
|
|
*/
|
1999-09-27 18:44:28 +00:00
|
|
|
|
|
|
|
|
|
|
2002-03-21 17:27:08 +00:00
|
|
|
|
/* There is a parindent and a parskip. Which one is used depends on the
|
|
|
|
|
* paragraph_separation-flag of the text-object.
|
1999-11-04 01:40:20 +00:00
|
|
|
|
* BUT: parindent is only thrown away, if a parskip is defined! So if you
|
2002-03-21 17:27:08 +00:00
|
|
|
|
* want a space between the paragraphs and a parindent at the same time,
|
1999-11-04 01:40:20 +00:00
|
|
|
|
* you should set parskip to zero and use topsep, parsep and bottomsep.
|
2002-03-21 17:27:08 +00:00
|
|
|
|
*
|
|
|
|
|
* The standard layout is an exception: its parindent is only set, if the
|
1999-11-04 01:40:20 +00:00
|
|
|
|
* previous paragraph is standard too. Well, this is LateX and it is good!
|
2002-03-21 17:27:08 +00:00
|
|
|
|
*/
|
1999-09-27 18:44:28 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|