// You should also run the development/tools/updatelayouts.py script,
// to update the format of all of our layout files.
//
-int const LAYOUT_FORMAT = 63; //spitz: new tags CiteFramework, MaxCiteNames, extended InsetCite syntax.
+int const LAYOUT_FORMAT = 65; //spitz: Color collapsable -> collapsible.
// Layout format for the current lyx file format. Controls which format is
return string();
}
-} // namespace anon
+} // namespace
// This string should not be translated here,
opt_enginetype_("authoryear|numerical"), opt_fontsize_("10|11|12"),
opt_pagestyle_("empty|plain|headings|fancy"), pagestyle_("default"),
columns_(1), sides_(OneSide), secnumdepth_(3), tocdepth_(3),
- outputType_(LATEX), outputFormat_("latex"),
+ outputType_(LATEX), outputFormat_("latex"), has_output_format_(false),
defaultfont_(sane_font),
titletype_(TITLE_COMMAND_AFTER), titlename_("maketitle"),
min_toclevel_(0), max_toclevel_(0), maxcitenames_(2),
{ "tocdepth", TC_TOCDEPTH }
};
-} //namespace anon
+} // namespace
bool TextClass::convertLayoutFormat(support::FileName const & filename, ReadType rt)
if (!lexrc.isOK())
return ERROR;
- // Format of files before the 'Format' tag was introduced
- int format = 1;
- bool error = false;
+ // The first usable line should be
+ // Format LAYOUT_FORMAT
+ if (lexrc.lex() != TC_FORMAT || !lexrc.next()
+ || lexrc.getInteger() != LAYOUT_FORMAT)
+ return FORMAT_MISMATCH;
// parsing
+ bool error = false;
while (lexrc.isOK() && !error) {
int le = lexrc.lex();
switch (static_cast<TextClassTags>(le)) {
case TC_FORMAT:
- if (lexrc.next())
- format = lexrc.getInteger();
+ lexrc.next();
+ lexrc.printError("Duplicate Format directive");
break;
case TC_OUTPUTFORMAT:
- if (lexrc.next())
+ if (lexrc.next()) {
outputFormat_ = lexrc.getString();
+ has_output_format_ = true;
+ }
break;
case TC_OUTPUTTYPE:
error = !readStyle(lexrc, lay);
break;
}
-
+
bool const have_layout = hasLayout(name);
-
+
// If the layout already exists, then we want to add it to
// the existing layout, as long as we are not in an ProvideStyle
// block.
error = !readOutlinerName(lexrc);
break;
} // end of switch
-
- // Note that this is triggered the first time through the loop unless
- // we hit a format tag.
- if (format != LAYOUT_FORMAT)
- return FORMAT_MISMATCH;
}
// at present, we abort if we encounter an error,
int TextClass::readCiteEngineType(Lexer & lexrc) const
{
- LATTEST(ENGINE_TYPE_DEFAULT ==
- (ENGINE_TYPE_AUTHORYEAR | ENGINE_TYPE_NUMERICAL));
+ static_assert(ENGINE_TYPE_DEFAULT ==
+ (ENGINE_TYPE_AUTHORYEAR | ENGINE_TYPE_NUMERICAL),
+ "Incorrect default engine type");
if (!lexrc.next()) {
lexrc.printError("No cite engine type given for token: `$$Token'.");
return ENGINE_TYPE_DEFAULT;
for (; lit != len; ++lit) {
int const level = lit->toclevel;
// we don't want Part or unnumbered sections
- if (level == Layout::NOT_IN_TOC || level < 0
+ if (level == Layout::NOT_IN_TOC || level < 0
|| level >= minlevel || lit->counter.empty())
continue;
lay = &*lit;