skipSpaces();
docstring res;
if (nextToken().character() == '[') {
- for (Token t = getToken(); t.character() != ']' && good(); t = getToken()) {
+ Token t = getToken();
+ for (t = getToken(); t.character() != ']' && good(); t = getToken()) {
if (t.cat() == catBegin) {
putback();
res += '{' + parse_verbatim_item() + '}';
skipSpaces();
docstring res;
if (nextToken().cat() == catBegin) {
- for (Token t = getToken(); t.cat() != catEnd && good(); t = getToken()) {
+ Token t = getToken();
+ for (t = getToken(); t.cat() != catEnd && good(); t = getToken()) {
if (t.cat() == catBegin) {
putback();
res += '{' + parse_verbatim_item() + '}';
parse(ar, FLAG_OPTION, mode);
if (!ar.empty()) {
cell->push_back(MathAtom(new InsetMathRoot(buf)));
- cell->back().nucleus()->cell(0) = ar;
- parse(cell->back().nucleus()->cell(1), FLAG_ITEM, mode);
- } else {
+ cell->back().nucleus()->cell(1) = ar;
+ } else
cell->push_back(MathAtom(new InsetMathSqrt(buf)));
- parse(cell->back().nucleus()->cell(0), FLAG_ITEM, mode);
- }
+ parse(cell->back().nucleus()->cell(0), FLAG_ITEM, mode);
}
else if (t.cs() == "cancelto") {
cell->push_back(MathAtom(new InsetMathStackrel(buf, !ar.empty())));
if (!ar.empty())
cell->back().nucleus()->cell(2) = ar;
- parse(cell->back().nucleus()->cell(0), FLAG_ITEM, mode);
parse(cell->back().nucleus()->cell(1), FLAG_ITEM, mode);
+ parse(cell->back().nucleus()->cell(0), FLAG_ITEM, mode);
}
else if (t.cs() == "xrightarrow" || t.cs() == "xleftarrow") {
}
else if (t.cs() == "ref" || t.cs() == "eqref" || t.cs() == "prettyref"
- || t.cs() == "pageref" || t.cs() == "vpageref" || t.cs() == "vref") {
+ || t.cs() == "nameref" || t.cs() == "pageref"
+ || t.cs() == "vpageref" || t.cs() == "vref") {
cell->push_back(MathAtom(new InsetMathRef(buf, t.cs())));
docstring const opt = parse_verbatim_option();
docstring const ref = parse_verbatim_item();
new InsetMathBig(t.cs(), delim)));
else {
cell->push_back(createInsetMath(t.cs(), buf));
- putback();
+ // For some reason delim.empty()
+ // is always false here
+ if (delim.at(0))
+ putback();
}
}
putback();
}
+ else if (l->inset == "underset" || l->inset == "overset") {
+ cell->push_back(createInsetMath(t.cs(), buf));
+ parse(cell->back().nucleus()->cell(1), FLAG_ITEM, mode);
+ parse(cell->back().nucleus()->cell(0), FLAG_ITEM, mode);
+ }
+
else {
MathAtom at = createInsetMath(t.cs(), buf);
for (InsetMath::idx_type i = 0; i < at->nargs(); ++i)