namespace lyx {
+using lyx::support::contains;
+using lyx::support::rsplit;
using support::subst;
using std::distance;
return output;
}
+
+int adjust_column_count(string const & str, int oldcol)
+{
+ if (!contains(str, "\n"))
+ return oldcol + str.size();
+ else {
+ string tmp;
+ return rsplit(str, tmp, '\n').size();
+ }
+}
+
} // namespace anon
else
output = corrected_env("\\begin", "flushright", ownerCode());
os << from_ascii(output);
- column += output.size();
+ column = adjust_column_count(output, column);
break;
} case LYX_ALIGN_RIGHT: {
string output;
else
output = corrected_env("\\begin", "flushleft", ownerCode());
os << from_ascii(output);
- column += output.size();
+ column = adjust_column_count(output, column);
break;
} case LYX_ALIGN_CENTER: {
string output;
output = corrected_env("\\begin", "center", ownerCode());
os << from_ascii(output);
- column += output.size();
+ column = adjust_column_count(output, column);
break;
}
}
else
output = corrected_env("\n\\par\\end", "flushright", ownerCode());
os << from_ascii(output);
- column += output.size();
+ column = adjust_column_count(output, column);
break;
} case LYX_ALIGN_RIGHT: {
string output;
else
output = corrected_env("\n\\par\\end", "flushleft", ownerCode());
os << from_ascii(output);
- column += output.size();
+ column = adjust_column_count(output, column);
break;
} case LYX_ALIGN_CENTER: {
string output;
output = corrected_env("\n\\par\\end", "center", ownerCode());
os << from_ascii(output);
- column += output.size();
+ column = adjust_column_count(output, column);
break;
}
}