- // "-999col%" is the code for no width
- if (from_ascii(width_string) != "-9.99\\columnwidth") {
- os << "\\framebox";
- if (!params_.inner_box) {
- // Special widths, see usrguide §3.5
- // FIXME UNICODE
- if (params_.special != "none") {
- os << "[" << params_.width.value()
- << '\\' << from_utf8(params_.special)
- << ']';
- } else
- os << '[' << from_ascii(width_string)
- << ']';
- if (params_.hor_pos != 'c')
- os << "[" << params_.hor_pos << "]";
- }
- } else
- os << "\\fbox";
+ if (thickness_string != defaultThick) {
+ os << "{\\fboxrule " << from_ascii(thickness_string);
+ if (separation_string != defaultSep)
+ os << "\\fboxsep " << from_ascii(separation_string);
+ }
+ if (separation_string != defaultSep && thickness_string == defaultThick)
+ os << "{\\fboxsep " << from_ascii(separation_string);
+ if (!params_.inner_box && !width_string.empty()) {
+ if (params_.framecolor != "black" || params_.backgroundcolor != "none") {
+ os << "\\fcolorbox{" << params_.framecolor << "}{" << params_.backgroundcolor << "}{";
+ os << "\\makebox";
+ } else
+ os << "\\framebox";
+ // Special widths, see usrguide sec. 3.5
+ // FIXME UNICODE
+ if (params_.special != "none") {
+ os << "[" << params_.width.value()
+ << '\\' << from_utf8(params_.special)
+ << ']';
+ } else
+ os << '[' << from_ascii(width_string)
+ << ']';
+ // default horizontal alignment is 'c'
+ if (params_.hor_pos != 'c')
+ os << "[" << params_.hor_pos << "]";
+ } else {
+ if (params_.framecolor != "black" || params_.backgroundcolor != "none")
+ os << "\\fcolorbox{" << params_.framecolor << "}{" << params_.backgroundcolor << "}";
+ else
+ os << "\\fbox";
+ }