- string class_name(sub.str(2) == "" ? textclass : sub.str(2));
- string class_prereq(class_name + ".cls");
- LayoutFile * tmpl =
- new LayoutFile(textclass, class_name, textclass, class_prereq, true);
- //FIXME: The prerequisites are available from the layout file and
- // can be extracted from the above regex, but for now this
- // field is simply set to class_name + ".cls"
- // This textclass is added on request so it will definitely be
- // used. Load it now because other load() calls may fail if they
- // are called in a context without buffer path information.
- tmpl->load(path);
- // There will be only one textclass with this name, even if different
- // layout files are loaded from different directories.
- if (haveClass(textclass)) {
- LYXERR0("Existing textclass " << textclass << " is redefined by " << fullName);
- delete classmap_[textclass];
- }
- classmap_[textclass] = tmpl;
- return textclass;
+ class_name = (sub.str(2) == "" ? textclass : sub.str(2));
+ class_prereq = class_name + ".cls";
+ have_declaration = true;
+ }
+ else if (regex_match(line, sub, catreg)) {
+ category = sub.str(1);
+ }
+ if (have_declaration && !category.empty())
+ break;
+ }
+ if (have_declaration) {
+ LayoutFile * tmpl =
+ new LayoutFile(textclass, class_name, textclass, class_prereq, category, true);
+ //FIXME: The prerequisites are available from the layout file and
+ // can be extracted from the above regex, but for now this
+ // field is simply set to class_name + ".cls"
+ // This textclass is added on request so it will definitely be
+ // used. Load it now because other load() calls may fail if they
+ // are called in a context without buffer path information.
+ tmpl->load(path);
+ // There will be only one textclass with this name, even if different
+ // layout files are loaded from different directories.
+ if (haveClass(textclass)) {
+ LYXERR0("Existing textclass " << textclass << " is redefined by " << fullName);
+ delete classmap_[textclass];