void readSpacing(Lexer &);
///
void readArgument(Lexer &);
+ /// Write a layout definition in utf8 encoding
+ void write(std::ostream &) const;
///
docstring const & name() const { return name_; }
///
std::string const & latexname() const { return latexname_; }
///
std::string const & itemcommand() const { return itemcommand_; }
- ///
- void setLatexName(std::string const & n) { latexname_ = n; }
/// The arguments of this layout
struct latexarg {
docstring labelstring;
bool mandatory;
docstring ldelim;
docstring rdelim;
+ docstring defaultarg;
docstring presetarg;
docstring tooltip;
std::string requires;
|| latextype == LATEX_ITEM_ENVIRONMENT
|| latextype == LATEX_LIST_ENVIRONMENT;
}
+ /// Is this the kind of layout in which adjacent paragraphs
+ /// are handled as one group?
+ bool isParagraphGroup() const {
+ return latextype == LATEX_ENVIRONMENT
+ || latextype == LATEX_BIB_ENVIRONMENT;
+ }
+ ///
+ bool labelIsInline() const {
+ return labeltype == LABEL_STATIC
+ || labeltype == LABEL_SENSITIVE
+ || labeltype == LABEL_ENUMERATE
+ || labeltype == LABEL_ITEMIZE;
+ }
+ bool labelIsAbove() const {
+ return labeltype == LABEL_ABOVE
+ || labeltype == LABEL_CENTERED
+ || labeltype == LABEL_BIBLIO;
+ }
///
bool operator==(Layout const &) const;
/// Is this spellchecked?
bool spellcheck;
+ /**
+ * Should this layout definition always be written to the document preamble?
+ * Possible values are:
+ * 0: Do not enforce local layout
+ * >=1: Enforce local layout with version forcelocal
+ * -1: Enforce local layout with infinite version
+ * On reading, the forced local layout is only used if its version
+ * number is greater than the version number of the same layout in the
+ * document class. Otherwise, it is ignored.
+ */
+ int forcelocal;
private:
+ /// Reads a layout definition from file
+ /// \return true on success.
+ bool readIgnoreForcelocal(Lexer &, TextClass const &);
/// generates the default CSS for this layout
void makeDefaultCSS() const;
///