// -*- C++ -*- /* This file is part of * ====================================================== * * LyX, The Document Processor * * Copyright (C) 1995 Matthias Ettrich *
*======================================================*/
/// The different LaTeX-Types enum LYX_LATEX_TYPES { ///
LATEX_PARAGRAPH, ///
LATEX_COMMAND, ///
LATEX_ENVIRONMENT, ///
LATEX_ITEM_ENVIRONMENT, ///
LATEX_LIST_ENVIRONMENT
};
/// The different label types enum LYX_LABEL_TYPES { ///
LABEL_NO_LABEL, ///
LABEL_MANUAL, ///
LABEL_BIBLIO, ///
LABEL_TOP_ENVIRONMENT, ///
LABEL_CENTERED_TOP_ENVIRONMENT,
// the flushright labels following now must start with LABEL_STATIC ///
LABEL_STATIC, ///
LABEL_SENSITIVE, ///
LABEL_COUNTER_CHAPTER, ///
LABEL_COUNTER_SECTION, ///
LABEL_COUNTER_SUBSECTION, ///
LABEL_COUNTER_SUBSUBSECTION, ///
LABEL_COUNTER_PARAGRAPH, ///
LABEL_COUNTER_SUBPARAGRAPH, ///
LABEL_COUNTER_ENUMI, ///
LABEL_COUNTER_ENUMII, ///
LABEL_COUNTER_ENUMIII, ///
LABEL_COUNTER_ENUMIV, ///
LABEL_FIRST_COUNTER = LABEL_COUNTER_CHAPTER
};
/* Fix labels are printed flushright, manual labels flushleft. * MARGIN_MANUAL and MARGIN_FIRST_DYNAMIC are *only* for LABEL_MANUAL, * MARGIN_DYNAMIC and MARGIN_STATIC are *not* for LABEL_MANUAL. * This seems a funny restriction, but I think other combinations are * not needed, so I will not change it yet.
* Correction: MARGIN_FIRST_DYNAMIC also usable with LABEL_STATIC */
/* There is a parindent and a parskip. Which one is used depends on the * paragraph_separation-flag of the text-object. * BUT: parindent is only thrown away, if a parskip is defined! So if you * want a space between the paragraphs and a parindent at the same time, * you should set parskip to zero and use topsep, parsep and bottomsep. * * The standard layout is an exception: its parindent is only set, if the
* previous paragraph is standard too. Well, this is LateX and it is good! */
/// Attributes of a layout/paragraph environment class LyXLayoutList; /// class LyXLayout { public: ///
LyXLayout ();
///
~LyXLayout ();
/// void Copy (LyXLayout const &l);
/// bool Read (LyXLex&, LyXLayoutList *);
/// Name of the layout/paragraph environment
LString name;
/// Name of an layout that has replaced this layout. /** This is used to rename a layout, while keeping backward compatibility
*/
LString obsoleted_by;
/// Default font for this layout/environment /** The main font for this kind of environment. If an attribute has LyXFont::INHERITED_*, it means that the value is specified by the defaultfont for the entire layout. If we are nested, the font is inherited from the font in the environment one level up until the font is resolved. The values LyXFont::IGNORE_* and LyXFont::TOGGLE are illegal here.
*/
LyXFont font;
/// Default font for labels /** Interpretation the same as for font above */
LyXFont labelfont;
/// Resolved version of the font for this layout/environment /** This is a resolved version the default font. The font is resolved
against the defaultfont of the entire layout. */
LyXFont resfont;
/// Resolved version of the font used for labels /** This is a resolved version the label font. The font is resolved
against the defaultfont of the entire layout. */
LyXFont reslabelfont;
/// Text that dictates how wide the left margin is on the screen
LString leftmargin;
/// Text that dictates how wide the right margin is on the screen
LString rightmargin;
/// Text that dictates how much space to leave after a potential label
LString labelsep;
/// Text that dictates how much space to leave before a potential label
LString labelindent;
/// Text that dictates the width of the indentation of indented paragraphs
LString parindent;
/// LaTeX parameter for environment
LString latexparam; //arrae970411
/// Macro definitions needed for this layout
LString preamble;
/// float parskip;
/// float itemsep;
/// float topsep;
/// float bottomsep;
/// float labelbottomsep;
/// float parsep;
///
Spacing spacing;
/// char align; // add approp. signedness
/// char alignpossible; // add approp. signedness
/// char labeltype; // add approp. signedness
/// char margintype; // add approp. signedness
/// bool fill_top;
/// bool fill_bottom;
/// bool newline_allowed;
/// bool nextnoindent;
/// bool free_spacing; /// true when the fragile commands in the paragraph need to be /// \protect'ed. bool needprotect; /// true when empty paragraphs should be kept. bool keepempty; /// bool isParagraph() const { return latextype == LATEX_PARAGRAPH;
} /// bool isCommand() const { return latextype == LATEX_COMMAND;
} /// bool isEnvironment() const { return (latextype == LATEX_ENVIRONMENT
|| latextype == LATEX_ITEM_ENVIRONMENT
|| latextype == LATEX_LIST_ENVIRONMENT);
} /// Type of LaTeX object
LYX_LATEX_TYPES latextype; /// Does this object belong in the title part of the document? bool intitle;
};
/// Specific class options
LString opt_fontsize; ///
LString opt_pagestyle; ///
LString options;
/// Base font. This one has to be fully instantiated. /** Base font. The paragraph and layout fonts are resolved against this font. Attributes LyXFont::INHERIT, LyXFont::IGNORE, and LyXFont::TOGGLE are extremely illegal.
*/
LyXFont defaultfont; /// Array of styles in this textclass
LyXLayout* style; /// unsignedchar number_of_defined_layouts; /// unsignedchar columns; /// unsignedchar sides; /// signedchar secnumdepth; /// signedchar tocdepth; ///
LString pagestyle; ///
LString preamble; /// /// Text that dictates how wide the left margin is on the screen
LString leftmargin; /// /// Text that dictates how wide the right margin is on the screen
LString rightmargin; /// char maxcounter; // add approp. signedness private: /// Has this layout file been loaded yet? bool loaded;
};
/// class LyXTextClassList { public: ///
LyXTextClassList();
///
~LyXTextClassList();
/// Gets layout structure from layout number and textclass number
LyXLayout *Style(char textclass, char layout);
/// Gets layout number from textclass number and layout name char NumberOfLayout(char textclass, LString const & name); // add approp. signedness
/// Gets a layout name from layout number and textclass number
LString NameOfLayout(char textclass, char layout); // add approp. signedness
/// Gets textclass number from name /** Returns -1 if textclass name does not exist */ signedchar NumberOfClass(LString const & textclass);
/// After reading, this arrays holds the textclasses
LyXTextClass * ar;
/// Add a textclass to list void Add (LyXTextClass *l);
/// Convert final linked list to array /** We read the textclasses into a linked list. After the reading,
the list is converted to an array, and the linked list is nuked. */ void ToAr();
};
/// Should not be declared here!! (Lgb) Why not? (Asger) extern LyXTextClassList lyxstyle;
#endif
Messung V0.5
¤ Dauer der Verarbeitung: 0.1 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.