Fix wrong parsing of \framebox[3in][s]{...}

s is a valid horizontal position for framebox (as well as for makebox, which
was already parsed correctly). There was even a test case, but with a wrong
reference.
This commit is contained in:
Georg Baum 2012-10-06 15:23:36 +02:00
parent e119ba6094
commit 269a942294
2 changed files with 14 additions and 4 deletions

View File

@ -131,7 +131,7 @@ status collapsed
\begin_inset Box Boxed
position "c"
hor_pos "c"
hor_pos "s"
has_inner_box 0
inner_pos "c"
use_parbox 0

View File

@ -814,8 +814,18 @@ void parse_box(Parser & p, ostream & os, unsigned outer_flags,
if (inner_type != "makebox") {
latex_height = p.getArg('[', ']');
translate_box_len(latex_height, height_value, height_unit, height_special);
} else
hor_pos = p.getArg('[', ']');
} else {
string const opt = p.getArg('[', ']');
if (!opt.empty()) {
hor_pos = opt;
if (hor_pos != "l" && hor_pos != "c" &&
hor_pos != "r" && hor_pos != "s") {
cerr << "invalid hor_pos " << hor_pos
<< " for " << inner_type << endl;
hor_pos = "c";
}
}
}
if (p.hasOpt()) {
inner_pos = p.getArg('[', ']');
@ -839,7 +849,7 @@ void parse_box(Parser & p, ostream & os, unsigned outer_flags,
if (!opt.empty()) {
hor_pos = opt;
if (hor_pos != "l" && hor_pos != "c" &&
hor_pos != "r") {
hor_pos != "r" && hor_pos != "s") {
cerr << "invalid hor_pos " << hor_pos
<< " for " << outer_type << endl;
hor_pos = "c";