}
-int adjust_column_count(string const & str, int oldcol)
+void adjust_row_column(string const & str, TexRow & texrow, int & column)
{
if (!contains(str, "\n"))
- return oldcol + str.size();
+ column += str.size();
else {
string tmp;
- return rsplit(str, tmp, '\n').size();
+ texrow.newline();
+ column = rsplit(str, tmp, '\n').size();
}
}
// This could go to ParagraphParameters if we want to
int Paragraph::startTeXParParams(BufferParams const & bparams,
- odocstream & os, bool moving_arg) const
+ odocstream & os, TexRow & texrow,
+ bool moving_arg) const
{
int column = 0;
else
output = corrected_env("\\begin", "flushright", ownerCode());
os << from_ascii(output);
- column = adjust_column_count(output, column);
+ adjust_row_column(output, texrow, column);
break;
} case LYX_ALIGN_RIGHT: {
string output;
else
output = corrected_env("\\begin", "flushleft", ownerCode());
os << from_ascii(output);
- column = adjust_column_count(output, column);
+ adjust_row_column(output, texrow, column);
break;
} case LYX_ALIGN_CENTER: {
string output;
output = corrected_env("\\begin", "center", ownerCode());
os << from_ascii(output);
- column = adjust_column_count(output, column);
+ adjust_row_column(output, texrow, column);
break;
}
}
// This could go to ParagraphParameters if we want to
-int Paragraph::endTeXParParams(BufferParams const & bparams,
- odocstream & os, bool moving_arg) const
+int Paragraph::endTeXParParams(BufferParams const & bparams,
+ odocstream & os, TexRow & texrow,
+ bool moving_arg) const
{
int column = 0;
else
output = corrected_env("\n\\par\\end", "flushright", ownerCode());
os << from_ascii(output);
- column = adjust_column_count(output, column);
+ adjust_row_column(output, texrow, column);
break;
} case LYX_ALIGN_RIGHT: {
string output;
else
output = corrected_env("\n\\par\\end", "flushleft", ownerCode());
os << from_ascii(output);
- column = adjust_column_count(output, column);
+ adjust_row_column(output, texrow, column);
break;
} case LYX_ALIGN_CENTER: {
string output;
output = corrected_env("\n\\par\\end", "center", ownerCode());
os << from_ascii(output);
- column = adjust_column_count(output, column);
+ adjust_row_column(output, texrow, column);
break;
}
}
++column;
}
if (!asdefault)
- column += startTeXParParams(bparams, os,
+ column += startTeXParParams(bparams, os, texrow,
runparams.moving_arg);
}
}
if (!asdefault)
- column += startTeXParParams(bparams, os,
+ column += startTeXParParams(bparams, os,
+ texrow,
runparams.moving_arg);
}
}
if (!asdefault) {
- column += endTeXParParams(bparams, os, runparams.moving_arg);
+ column += endTeXParParams(bparams, os, texrow,
+ runparams.moving_arg);
}
lyxerr[Debug::LATEX] << "SimpleTeXOnePar...done " << this << endl;