"hor_pos \"c\"\n"
"has_inner_box 0\n"
"inner_pos \"t\"\n"
+ "use_parbox 0\n"
"width \"100col%\"\n"
"special \"none\"\n"
"height \"1in\"\n"
// the two environments as one otherwise (bug 5716)
docstring const sep = from_ascii("--Separator--");
TeX2LyXDocClass const & textclass(parent_context.textclass);
- if (LYX_FORMAT >= 273 && textclass.hasLayout(sep)) {
+ if (textclass.hasLayout(sep)) {
Context newcontext(parent_context);
newcontext.layout = &(textclass[sep]);
newcontext.check_layout(os);
skip_spaces_braces(p);
}
- else if (LYX_FORMAT >= 307 && t.cs() == "slash") {
+ else if (t.cs() == "slash") {
context.check_layout(os);
os << "\\SpecialChar \\slash{}\n";
skip_spaces_braces(p);
}
- else if (LYX_FORMAT >= 307 && t.cs() == "nobreakdash") {
+ else if (t.cs() == "nobreakdash") {
context.check_layout(os);
os << "\\SpecialChar \\nobreakdash\n";
}
}
}
- else if (t.cs() == "newline") {
+ else if (t.cs() == "newline"
+ || t.cs() == "linebreak") {
context.check_layout(os);
os << "\n\\" << t.cs() << "\n";
skip_spaces_braces(p);
}
else if (t.cs() == "newpage" ||
+ t.cs() == "pagebreak" ||
t.cs() == "clearpage" ||
t.cs() == "cleardoublepage") {
context.check_layout(os);
}
}
- else if (t.cs() == "vspace") {
+ else if (t.cs() == "hspace" || t.cs() == "vspace") {
bool starred = false;
if (p.next_token().asInput() == "*") {
p.get_token();
starred = true;
}
+ string name = t.asInput();
string const length = p.verbatim_item();
string unit;
string valstring;
bool valid = splitLatexLength(length, valstring, unit);
+ bool known_hspace = false;
bool known_vspace = false;
bool known_unit = false;
double value;
istringstream iss(valstring);
iss >> value;
if (value == 1.0) {
- if (unit == "\\smallskipamount") {
- unit = "smallskip";
- known_vspace = true;
- } else if (unit == "\\medskipamount") {
- unit = "medskip";
- known_vspace = true;
- } else if (unit == "\\bigskipamount") {
- unit = "bigskip";
- known_vspace = true;
- } else if (unit == "\\fill") {
- unit = "vfill";
- known_vspace = true;
+ if (t.cs()[0] == 'h') {
+ if (unit == "\\fill") {
+ if (!starred) {
+ unit = "";
+ name = "hfill";
+ }
+ known_hspace = true;
+ }
+ } else {
+ if (unit == "\\smallskipamount") {
+ unit = "smallskip";
+ known_vspace = true;
+ } else if (unit == "\\medskipamount") {
+ unit = "medskip";
+ known_vspace = true;
+ } else if (unit == "\\bigskipamount") {
+ unit = "bigskip";
+ known_vspace = true;
+ } else if (unit == "\\fill") {
+ unit = "vfill";
+ known_vspace = true;
+ }
}
}
- if (!known_vspace) {
+ if (!known_hspace && !known_vspace) {
switch (unitFromString(unit)) {
case Length::SP:
case Length::PT:
}
}
- if (known_unit || known_vspace) {
- // Literal length or known variable
+ if (t.cs()[0] == 'h' && (known_unit || known_hspace)) {
+ // Literal horizontal length or known variable
+ context.check_layout(os);
+ begin_inset(os, "Space \\");
+ os << name;
+ if (starred)
+ os << '*';
+ os << '{';
+ if (known_hspace)
+ os << unit;
+ os << "}\n";
+ if (known_unit && !known_hspace)
+ os << "\\length "
+ << translate_len(length) << '\n';
+ end_inset(os);
+ } else if (known_unit || known_vspace) {
+ // Literal vertical length or known variable
context.check_layout(os);
begin_inset(os, "VSpace ");
if (known_unit)
os << '*';
end_inset(os);
} else {
- // LyX can't handle other length variables in Inset VSpace
- string name = t.asInput();
+ // LyX can't handle other length variables in Inset V?Space
if (starred)
name += '*';
if (valid) {