* @param data input string
* @return a char representing the type of token returned
*
- * The possible return values are :
- * + stretch indicator for glue length
+ * The possible return values are :
+ * + stretch indicator for glue length
* - shrink indicator for glue length
* n a numeric value (stored in number array)
* u a unit type (stored in unit array)
if (number_index > 3) return 'E';
string buffer;
-
+
// we have found some number
if (i == string::npos) {
buffer = data;
return 'n';
} else return 'E';
}
-
+
i = data.find_first_not_of("abcdefghijklmnopqrstuvwxyz%");
if (i != 0) {
if (unit_index > 3) return 'E';
string buffer;
-
+
// we have found some alphabetical string
if (i == string::npos) {
buffer = data;
break;
}
// end of hack
-
+
int pattern_index = 0;
int table_index = 0;
char pattern[20];
if (!*table[table_index].pattern)
return false;
}
-
+
// Get the values from the appropriate places. If an index
// is zero, the corresponding array value is zero or UNIT_NONE,
// so we needn't check this.
break;
}
// end of hack
-
+
number_index = unit_index = 1; // entries at index 0 are sentinels
// construct "pattern" from "data"
pattern[pattern_index] = '\0';
// only the most basic pattern is accepted here
- if (compare(pattern, "nu") != 0) return false;
-
+ if (compare(pattern, "nu") != 0) return false;
+
// It _was_ a correct length string.
// Store away the values we found.
if (result) {
case LENGTH:
{
string const lenstr = len_.asLatexString();
-
+
ret = keep_ ? "\\vspace*{" + lenstr + '}'
: "\\vspace{" + lenstr + '}';
}
break;
}
-
+
return ret;
}
int const default_height = bv->text->defaultHeight(); // [pixels]
int retval = 0;
-
+
switch (kind_) {
case NONE:
// Value for this is already set
case DEFSKIP:
retval = bv->buffer()->params.getDefSkip().inPixels(bv);
break;
-
+
// This is how the skips are normally defined by
// LateX. But there should be some way to change
// this per document.
case SMALLSKIP:
retval = default_height / 4;
break;
-
+
case MEDSKIP:
retval = default_height / 2;
break;
-
+
case BIGSKIP:
retval = default_height;
break;
// leave space for the vfill symbol
retval = 3 * default_height;
break;
-
+
case LENGTH: {
int const default_width = bv->workWidth();
retval = len_.len().inPixels(default_width, default_height);
break;
}
-
+
}
return retval;
}