mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-22 10:00:33 +00:00
Factor out tex2lyx warnings and add -q option (#11328)
This commit is contained in:
parent
9047d60c5a
commit
9ecc30174a
@ -98,8 +98,8 @@ Context::Context(bool need_layout_,
|
||||
Context::~Context()
|
||||
{
|
||||
if (!par_extra_stuff.empty())
|
||||
cerr << "Bug: Ignoring par-level extra stuff '"
|
||||
<< par_extra_stuff << '\'' << endl;
|
||||
warning_message("Bug: Ignoring par-level extra stuff '"
|
||||
+ par_extra_stuff + '\'');
|
||||
}
|
||||
|
||||
|
||||
|
@ -12,6 +12,8 @@
|
||||
|
||||
#include "Parser.h"
|
||||
|
||||
#include "tex2lyx.h"
|
||||
|
||||
#include "Encoding.h"
|
||||
#include "support/lstrings.h"
|
||||
#include "support/textutils.h"
|
||||
@ -142,7 +144,7 @@ iparserdocstream & iparserdocstream::get(char_type &c)
|
||||
if (s_.empty())
|
||||
is_.get(c);
|
||||
else {
|
||||
//cerr << "unparsed: " << to_utf8(s_) <<endl;
|
||||
//warning_message("unparsed: " + to_utf8(s_));
|
||||
c = s_[0];
|
||||
s_.erase(0,1);
|
||||
}
|
||||
@ -206,7 +208,7 @@ bool Parser::setEncoding(std::string const & e, int p)
|
||||
// instead. Therefore, we cannot misparse high bytes as {, } or \\.
|
||||
Encoding const * const enc = encodings.fromLaTeXName(e, p, true);
|
||||
if (!enc) {
|
||||
cerr << "Unknown encoding " << e << ". Ignoring." << std::endl;
|
||||
warning_message("Unknown encoding " + e + ". Ignoring.");
|
||||
return false;
|
||||
}
|
||||
return setEncoding(enc->iconvName());
|
||||
@ -268,7 +270,7 @@ void Parser::setCatcodes(cat_type t)
|
||||
|
||||
bool Parser::setEncoding(std::string const & e)
|
||||
{
|
||||
//cerr << "setting encoding to " << e << std::endl;
|
||||
//warning_message("setting encoding to " + e);
|
||||
encoding_iconv_ = e;
|
||||
// If the encoding is fixed, we must not change the stream encoding
|
||||
// (because the whole input uses that encoding, e.g. if it comes from
|
||||
@ -341,8 +343,8 @@ Token const Parser::get_token()
|
||||
if (pos_ >= tokens_.size())
|
||||
return dummy;
|
||||
}
|
||||
// cerr << "looking at token " << tokens_[pos_]
|
||||
// << " pos: " << pos_ << '\n';
|
||||
// warning_message("looking at token " + tokens_[pos_]
|
||||
// + " pos: " + pos_ <<);
|
||||
return tokens_[pos_++];
|
||||
}
|
||||
|
||||
@ -387,8 +389,7 @@ bool Parser::skip_spaces(bool skip_comments)
|
||||
// If positions_ is not empty we are doing some kind
|
||||
// of look ahead
|
||||
if (!positions_.empty())
|
||||
cerr << " Ignoring comment: "
|
||||
<< curr_token().asInput();
|
||||
warning_message("Ignoring comment: " + curr_token().asInput());
|
||||
} else {
|
||||
putback();
|
||||
break;
|
||||
@ -409,8 +410,7 @@ void Parser::unskip_spaces(bool skip_comments)
|
||||
// If positions_ is not empty we are doing some kind
|
||||
// of look ahead
|
||||
if (!positions_.empty())
|
||||
cerr << "Unignoring comment: "
|
||||
<< curr_token().asInput();
|
||||
warning_message("Unignoring comment: " + curr_token().asInput());
|
||||
putback();
|
||||
}
|
||||
else
|
||||
@ -555,7 +555,7 @@ Parser::Arg Parser::getFullArg(char left, char right, bool allow_escaping, char
|
||||
// Ignore comments
|
||||
if (t.cat() == catComment) {
|
||||
if (!t.cs().empty())
|
||||
cerr << "Ignoring comment: " << t.asInput();
|
||||
warning_message("Ignoring comment: " + t.asInput());
|
||||
continue;
|
||||
}
|
||||
if (allow_escaping) {
|
||||
@ -657,14 +657,14 @@ string const Parser::ertEnvironment(string const & name)
|
||||
} else if (t.asInput() == "\\end") {
|
||||
string const end = getArg('{', '}');
|
||||
if (end != name)
|
||||
cerr << "\\end{" << end
|
||||
<< "} does not match \\begin{" << name
|
||||
<< "}." << endl;
|
||||
warning_message("\\end{" + end
|
||||
+ "} does not match \\begin{"
|
||||
+ name + "}.");
|
||||
return os.str();
|
||||
} else
|
||||
os << t.asInput();
|
||||
}
|
||||
cerr << "unexpected end of input" << endl;
|
||||
warning_message("unexpected end of input");
|
||||
return os.str();
|
||||
}
|
||||
|
||||
@ -685,7 +685,7 @@ string const Parser::plainEnvironment(string const & name)
|
||||
} else
|
||||
os << t.asInput();
|
||||
}
|
||||
cerr << "unexpected end of input" << endl;
|
||||
warning_message("unexpected end of input");
|
||||
return os.str();
|
||||
}
|
||||
|
||||
@ -697,7 +697,7 @@ string const Parser::plainCommand(char left, char right, string const & name)
|
||||
// check if first token is really the start character
|
||||
Token tok = get_token();
|
||||
if (tok.character() != left) {
|
||||
cerr << "first character does not match start character of command \\" << name << endl;
|
||||
warning_message("first character does not match start character of command \\" + name);
|
||||
return string();
|
||||
}
|
||||
ostringstream os;
|
||||
@ -707,7 +707,7 @@ string const Parser::plainCommand(char left, char right, string const & name)
|
||||
} else
|
||||
os << t.asInput();
|
||||
}
|
||||
cerr << "unexpected end of input" << endl;
|
||||
warning_message("unexpected end of input");
|
||||
return os.str();
|
||||
}
|
||||
|
||||
@ -751,7 +751,7 @@ Parser::Arg Parser::verbatimStuff(string const & end_string, bool const allow_li
|
||||
break;
|
||||
} else {
|
||||
if (!allow_linebreak && t.asInput() == "\n") {
|
||||
cerr << "unexpected end of input" << endl;
|
||||
warning_message("unexpected end of input");
|
||||
popPosition();
|
||||
setCatcodes(NORMAL_CATCODES);
|
||||
return Arg(false, string());
|
||||
@ -766,7 +766,7 @@ Parser::Arg Parser::verbatimStuff(string const & end_string, bool const allow_li
|
||||
}
|
||||
|
||||
if (!good()) {
|
||||
cerr << "unexpected end of input" << endl;
|
||||
warning_message("unexpected end of input");
|
||||
popPosition();
|
||||
setCatcodes(NORMAL_CATCODES);
|
||||
return Arg(false, string());
|
||||
@ -895,14 +895,14 @@ void Parser::tokenize_one()
|
||||
}
|
||||
|
||||
case catIgnore: {
|
||||
cerr << "ignoring a char: " << static_cast<uint32_t>(c) << "\n";
|
||||
warning_message("ignoring a char: " + static_cast<uint32_t>(c));
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
push_back(Token(docstring(1, c), catcode(c)));
|
||||
}
|
||||
//cerr << tokens_.back();
|
||||
//warning_message(tokens_.back());
|
||||
}
|
||||
|
||||
|
||||
|
@ -1696,8 +1696,7 @@ void Preamble::handle_package(Parser &p, string const & name,
|
||||
encoding, Encoding::inputenc, true);
|
||||
if (!enc) {
|
||||
if (!detectEncoding)
|
||||
cerr << "Unknown encoding " << encoding
|
||||
<< ". Ignoring." << std::endl;
|
||||
warning_message("Unknown encoding " + encoding + ". Ignoring.");
|
||||
} else {
|
||||
if (!enc->unsafe() && options.size() == 1 && one_language == true) {
|
||||
h_inputencoding = enc->name();
|
||||
@ -1833,8 +1832,7 @@ void Preamble::handle_package(Parser &p, string const & name,
|
||||
|| opt == "subsection")
|
||||
h_multibib = opt;
|
||||
else
|
||||
cerr << "Ignoring unknown refsection value '"
|
||||
<< opt << "'.";
|
||||
warning_message("Ignoring unknown refsection value '" + opt + "'.");
|
||||
}
|
||||
opt = process_keyval_opt(options, "bibencoding");
|
||||
if (!opt.empty())
|
||||
@ -1908,8 +1906,8 @@ void Preamble::handle_package(Parser &p, string const & name,
|
||||
|
||||
// We need to do something with the options...
|
||||
if (!options.empty() && !detectEncoding)
|
||||
cerr << "Ignoring options '" << join(options, ",")
|
||||
<< "' of package " << name << '.' << endl;
|
||||
warning_message("Ignoring options '" + join(options, ",")
|
||||
+ "' of package " + name + '.');
|
||||
|
||||
// remove the whitespace
|
||||
p.skip_spaces();
|
||||
@ -2236,7 +2234,7 @@ void Preamble::parse(Parser & p, string const & forceclass,
|
||||
&& comment.substr(0, magicXeLaTeX.size()) == magicXeLaTeX
|
||||
&& h_inputencoding == "auto-legacy") {
|
||||
if (!detectEncoding)
|
||||
cerr << "XeLaTeX comment found, switching to UTF8\n";
|
||||
warning_message("XeLaTeX comment found, switching to UTF8");
|
||||
h_inputencoding = "utf8";
|
||||
}
|
||||
smatch sub;
|
||||
@ -2829,8 +2827,7 @@ void Preamble::parse(Parser & p, string const & forceclass,
|
||||
encoding, Encoding::inputenc, true);
|
||||
if (!enc) {
|
||||
if (!detectEncoding)
|
||||
cerr << "Unknown encoding " << encoding
|
||||
<< ". Ignoring." << std::endl;
|
||||
warning_message("Unknown encoding " + encoding + ". Ignoring.");
|
||||
} else {
|
||||
if (!enc->unsafe())
|
||||
h_inputencoding = enc->name();
|
||||
@ -3064,8 +3061,8 @@ void Preamble::parse(Parser & p, string const & forceclass,
|
||||
if (makeAbsPath(filename, path).exists())
|
||||
fix_child_filename(filename);
|
||||
else
|
||||
cerr << "Warning: Could not find included file '"
|
||||
<< filename << "'." << endl;
|
||||
warning_message("Warning: Could not find included file '"
|
||||
+ filename + "'.");
|
||||
outname = changeExtension(filename, "lyx");
|
||||
h_includeonlys.push_back(outname);
|
||||
}
|
||||
|
@ -18,6 +18,7 @@
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include "tex2lyx.h"
|
||||
#include "LaTeXFeatures.h"
|
||||
#include "LyXRC.h"
|
||||
#include "output_xhtml.h"
|
||||
@ -40,7 +41,7 @@ namespace frontend {
|
||||
namespace Alert {
|
||||
void warning(docstring const & title, docstring const & message, bool)
|
||||
{
|
||||
cerr << to_utf8(title) << "\n" << to_utf8(message) << endl;
|
||||
warning_message(to_utf8(title) + "\n" + to_utf8(message));
|
||||
}
|
||||
} // namespace Alert
|
||||
} // namespace frontend
|
||||
|
@ -227,8 +227,7 @@ void parse_math(Parser & p, ostream & os, unsigned flags, const mode_type mode)
|
||||
|
||||
else if (t.cs() == "cr") {
|
||||
// lyx can't handle \\cr
|
||||
cerr << "Warning: Converting TeX '\\cr' to LaTeX '\\\\'."
|
||||
<< endl;
|
||||
warning_message("Converting TeX '\\cr' to LaTeX '\\\\'.");
|
||||
os << "\\\\";
|
||||
}
|
||||
|
||||
|
@ -346,9 +346,8 @@ void handle_colalign(Parser & p, vector<ColInfo> & colinfo,
|
||||
ColInfo const & start)
|
||||
{
|
||||
if (p.get_token().cat() != catBegin)
|
||||
cerr << "Wrong syntax for table column alignment.\n"
|
||||
"Expected '{', got '" << p.curr_token().asInput()
|
||||
<< "'.\n";
|
||||
warning_message("Wrong syntax for table column alignment.\n"
|
||||
"Expected '{', got '" + p.curr_token().asInput()+ "'");
|
||||
|
||||
ColInfo next = start;
|
||||
for (Token t = p.get_token(); p.good() && t.cat() != catEnd;
|
||||
@ -363,7 +362,7 @@ void handle_colalign(Parser & p, vector<ColInfo> & colinfo,
|
||||
// "%\n" combination
|
||||
p.skip_spaces();
|
||||
} else
|
||||
cerr << "Ignoring comment: " << t.asInput();
|
||||
warning_message("Ignoring comment: " + t.asInput());
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -472,8 +471,7 @@ void handle_colalign(Parser & p, vector<ColInfo> & colinfo,
|
||||
string const s = trimSpaceAndEol(p.verbatim_item());
|
||||
if (colinfo.empty())
|
||||
// This is not possible in LaTeX.
|
||||
cerr << "Ignoring separator '<{"
|
||||
<< s << "}'." << endl;
|
||||
warning_message("Ignoring separator '<{" + s + "}'.");
|
||||
else {
|
||||
ColInfo & ci = colinfo.back();
|
||||
ci2special(ci);
|
||||
@ -497,9 +495,8 @@ void handle_colalign(Parser & p, vector<ColInfo> & colinfo,
|
||||
handle_colalign(p2, colinfo, next);
|
||||
next = ColInfo();
|
||||
} else {
|
||||
cerr << "Ignoring column specification"
|
||||
" '*{" << num << "}{"
|
||||
<< arg << "}'." << endl;
|
||||
warning_message("Ignoring column specification"
|
||||
" '*{" + num + "}{" + arg + "}'.");
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -734,13 +731,12 @@ void parse_table(Parser & p, ostream & os, bool is_long_tabular,
|
||||
t.cs() == "\\" ||
|
||||
t.cs() == "cr") {
|
||||
if (t.cs() == "cr")
|
||||
cerr << "Warning: Converting TeX "
|
||||
"'\\cr' to LaTeX '\\\\'."
|
||||
<< endl;
|
||||
warning_message("Warning: Converting TeX "
|
||||
"'\\cr' to LaTeX '\\\\'.");
|
||||
// stuff before the line break
|
||||
os << comments << HLINE << hlines << HLINE
|
||||
<< LINE;
|
||||
//cerr << "hlines: " << hlines << endl;
|
||||
//warning_message("hlines: " + hlines);
|
||||
hlines.erase();
|
||||
comments.erase();
|
||||
pos = ROW_START;
|
||||
@ -798,8 +794,7 @@ void parse_table(Parser & p, ostream & os, bool is_long_tabular,
|
||||
if (support::contains(hlines, "\\hline") ||
|
||||
support::contains(hlines, "\\cline") ||
|
||||
support::contains(hlines, "\\newpage"))
|
||||
cerr << "Ignoring '" << hlines
|
||||
<< "' in a cell" << endl;
|
||||
warning_message("Ignoring '" + hlines + "' in a cell");
|
||||
else
|
||||
os << hlines;
|
||||
hlines.erase();
|
||||
@ -853,7 +848,7 @@ void parse_table(Parser & p, ostream & os, bool is_long_tabular,
|
||||
else if (t.cat() == catEnd) {
|
||||
if (flags & FLAG_BRACE_LAST)
|
||||
return;
|
||||
cerr << "unexpected '}'\n";
|
||||
warning_message("unexpected '}'");
|
||||
}
|
||||
|
||||
else if (t.cat() == catAlign) {
|
||||
@ -912,8 +907,7 @@ void parse_table(Parser & p, ostream & os, bool is_long_tabular,
|
||||
// We can have hline stuff if the last line is incomplete
|
||||
if (!hlines.empty()) {
|
||||
// this does not work in LaTeX, so we ignore it
|
||||
cerr << "Ignoring '" << hlines << "' at end of tabular"
|
||||
<< endl;
|
||||
warning_message("Ignoring '" + hlines + "' at end of tabular");
|
||||
}
|
||||
}
|
||||
|
||||
@ -1013,8 +1007,8 @@ void handle_tabular(Parser & p, ostream & os, string const & name,
|
||||
else if (posopts == "[b]")
|
||||
tabularvalignment = "bottom";
|
||||
else
|
||||
cerr << "vertical tabular positioning '"
|
||||
<< posopts << "' ignored\n";
|
||||
warning_message("vertical tabular positioning '"
|
||||
+ posopts + "' ignored");
|
||||
}
|
||||
|
||||
vector<ColInfo> colinfo;
|
||||
@ -1040,7 +1034,7 @@ void handle_tabular(Parser & p, ostream & os, string const & name,
|
||||
ltType endlastfoot;
|
||||
|
||||
// split into rows
|
||||
//cerr << "// split into rows\n";
|
||||
//warning_message("// split into rows");
|
||||
for (size_t row = 0; row < rowinfo.size();) {
|
||||
|
||||
// init row
|
||||
@ -1049,7 +1043,7 @@ void handle_tabular(Parser & p, ostream & os, string const & name,
|
||||
|
||||
// split row
|
||||
vector<string> dummy;
|
||||
//cerr << "\n########### LINE: " << lines[row] << "########\n";
|
||||
//warning_message("########### LINE: " << lines[row] << "########");
|
||||
split(lines[row], dummy, HLINE);
|
||||
|
||||
// handle horizontal line fragments
|
||||
@ -1057,22 +1051,22 @@ void handle_tabular(Parser & p, ostream & os, string const & name,
|
||||
if (dummy.size() != 3) {
|
||||
if ((dummy.size() != 1 && dummy.size() != 2) ||
|
||||
row != rowinfo.size() - 1)
|
||||
cerr << "unexpected dummy size: " << dummy.size()
|
||||
<< " content: " << lines[row] << "\n";
|
||||
warning_message("unexpected dummy size: " + convert<string>(dummy.size())
|
||||
+ " content: " + lines[row]);
|
||||
dummy.resize(3);
|
||||
}
|
||||
lines[row] = dummy[1];
|
||||
|
||||
//cerr << "line: " << row << " above 0: " << dummy[0] << "\n";
|
||||
//cerr << "line: " << row << " below 2: " << dummy[2] << "\n";
|
||||
//cerr << "line: " << row << " cells 1: " << dummy[1] << "\n";
|
||||
//warning_message("line: " + row + " above 0: " + dummy[0]);
|
||||
//warning_message("line: " + row + " below 2: " + dummy[2]);
|
||||
//warning_message("line: " + row + " cells 1: " + dummy[1]);
|
||||
|
||||
for (int i = 0; i <= 2; i += 2) {
|
||||
//cerr << " reading from line string '" << dummy[i] << "'\n";
|
||||
//warning_message(" reading from line string '" + dummy[i]);
|
||||
Parser p1(dummy[size_type(i)]);
|
||||
while (p1.good()) {
|
||||
Token t = p1.get_token();
|
||||
//cerr << "read token: " << t << "\n";
|
||||
//warning_message("read token: " + t);
|
||||
if (t.cs() == "hline" || t.cs() == "toprule" ||
|
||||
t.cs() == "midrule" ||
|
||||
t.cs() == "bottomrule") {
|
||||
@ -1083,15 +1077,14 @@ void handle_tabular(Parser & p, ostream & os, string const & name,
|
||||
if (row > 0) // extra bottomline above
|
||||
handle_hline_below(rowinfo[row - 1], cellinfo[row - 1]);
|
||||
else
|
||||
cerr << "dropping extra "
|
||||
<< t.cs() << '\n';
|
||||
//cerr << "below row: " << row-1 << endl;
|
||||
warning_message("dropping extra " + t.cs());
|
||||
//warning_message("below row: " + row-1);
|
||||
} else {
|
||||
handle_hline_above(rowinfo[row], cellinfo[row]);
|
||||
//cerr << "above row: " << row << endl;
|
||||
//warning_message("above row: " + row);
|
||||
}
|
||||
} else {
|
||||
//cerr << "below row: " << row << endl;
|
||||
//warning_message("below row: " + row);
|
||||
handle_hline_below(rowinfo[row], cellinfo[row]);
|
||||
}
|
||||
} else if (t.cs() == "cline" || t.cs() == "cmidrule") {
|
||||
@ -1101,40 +1094,34 @@ void handle_tabular(Parser & p, ostream & os, string const & name,
|
||||
trim = p1.getFullParentheseArg();
|
||||
}
|
||||
string arg = p1.verbatim_item();
|
||||
//cerr << "read " << t.cs() << " arg: '" << arg << "', trim: '" << trim << "'\n";
|
||||
//warning_message("read " + t.cs() + " arg: '" + arg + "', trim: '" + trim);
|
||||
vector<string> cols;
|
||||
split(arg, cols, '-');
|
||||
cols.resize(2);
|
||||
size_t from = convert<unsigned int>(cols[0]);
|
||||
if (from == 0)
|
||||
cerr << "Could not parse "
|
||||
<< t.cs() << " start column."
|
||||
<< endl;
|
||||
warning_message("Could not parse " + t.cs() + " start column.");
|
||||
else
|
||||
// 1 based index -> 0 based
|
||||
--from;
|
||||
if (from >= colinfo.size()) {
|
||||
cerr << t.cs() << " starts at "
|
||||
"non existing column "
|
||||
<< (from + 1) << endl;
|
||||
warning_message(t.cs() + " starts at "
|
||||
"non existing column " + convert<string>(from + 1));
|
||||
from = colinfo.size() - 1;
|
||||
}
|
||||
size_t to = convert<unsigned int>(cols[1]);
|
||||
if (to == 0)
|
||||
cerr << "Could not parse "
|
||||
<< t.cs() << " end column."
|
||||
<< endl;
|
||||
warning_message("Could not parse " + t.cs() + " end column.");
|
||||
else
|
||||
// 1 based index -> 0 based
|
||||
--to;
|
||||
if (to >= colinfo.size()) {
|
||||
cerr << t.cs() << " ends at "
|
||||
"non existing column "
|
||||
<< (to + 1) << endl;
|
||||
warning_message(t.cs() + " ends at non existing column "
|
||||
+ convert<string>(to + 1));
|
||||
to = colinfo.size() - 1;
|
||||
}
|
||||
for (size_t col = from; col <= to; ++col) {
|
||||
//cerr << "row: " << row << " col: " << col << " i: " << i << endl;
|
||||
//warning_message("row: " + row + " col: " + col + " i: " + i);
|
||||
if (i == 0) {
|
||||
rowinfo[row].topline = true;
|
||||
cellinfo[row][col].topline = true;
|
||||
@ -1233,14 +1220,13 @@ void handle_tabular(Parser & p, ostream & os, string const & name,
|
||||
rowinfo[row - 1].newpage = true;
|
||||
else
|
||||
// This does not work in LaTeX
|
||||
cerr << "Ignoring "
|
||||
warning_message("Ignoring "
|
||||
"'\\newpage' "
|
||||
"before rows."
|
||||
<< endl;
|
||||
"before rows.");
|
||||
} else
|
||||
rowinfo[row].newpage = true;
|
||||
} else {
|
||||
cerr << "unexpected line token: " << t << endl;
|
||||
warning_message("unexpected line token: " + t.cs());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1292,11 +1278,10 @@ void handle_tabular(Parser & p, ostream & os, string const & name,
|
||||
split(lines[row], cells, TAB);
|
||||
for (size_t col = 0, cell = 0; cell < cells.size();
|
||||
++col, ++cell) {
|
||||
//cerr << "cell content: '" << cells[cell] << "'\n";
|
||||
//warning_message("cell content: '" + cells[cell]);
|
||||
if (col >= colinfo.size()) {
|
||||
// This does not work in LaTeX
|
||||
cerr << "Ignoring extra cell '"
|
||||
<< cells[cell] << "'." << endl;
|
||||
warning_message("Ignoring extra cell '" + cells[cell] + "'.");
|
||||
continue;
|
||||
}
|
||||
string cellcont = cells[cell];
|
||||
@ -1312,8 +1297,8 @@ void handle_tabular(Parser & p, ostream & os, string const & name,
|
||||
if (parse.hasOpt()) {
|
||||
string const vpos = parse.getArg('[', ']');
|
||||
parse.skip_spaces(true);
|
||||
cerr << "Ignoring multirow's vpos arg '"
|
||||
<< vpos << "'!" << endl;
|
||||
warning_message("Ignoring multirow's vpos arg '"
|
||||
+ vpos + "'!");
|
||||
}
|
||||
// how many cells?
|
||||
parse.get_token();
|
||||
@ -1323,8 +1308,8 @@ void handle_tabular(Parser & p, ostream & os, string const & name,
|
||||
if (parse.hasOpt()) {
|
||||
string const bs = parse.getArg('[', ']');
|
||||
parse.skip_spaces(true);
|
||||
cerr << "Ignoring multirow's bigstrut arg '"
|
||||
<< bs << "'!" << endl;
|
||||
warning_message("Ignoring multirow's bigstrut arg '"
|
||||
+ bs + "'!");
|
||||
}
|
||||
// the width argument
|
||||
string const width = parse.getArg('{', '}');
|
||||
@ -1354,11 +1339,10 @@ void handle_tabular(Parser & p, ostream & os, string const & name,
|
||||
// This may or may not work in LaTeX,
|
||||
// but it does not work in LyX.
|
||||
// FIXME: Handle it correctly!
|
||||
cerr << "Moving cell content '"
|
||||
<< cells[cell]
|
||||
<< "' into a multirow cell. "
|
||||
"This will probably not work."
|
||||
<< endl;
|
||||
warning_message("Moving cell content '"
|
||||
+ cells[cell]
|
||||
+ "' into a multirow cell. "
|
||||
"This will probably not work.");
|
||||
}
|
||||
cellinfo[row][col].content += os2.str();
|
||||
} else if (parse.next_token().cs() == "multicolumn") {
|
||||
@ -1395,11 +1379,10 @@ void handle_tabular(Parser & p, ostream & os, string const & name,
|
||||
// This may or may not work in LaTeX,
|
||||
// but it does not work in LyX.
|
||||
// FIXME: Handle it correctly!
|
||||
cerr << "Moving cell content '"
|
||||
<< cells[cell]
|
||||
<< "' into a multicolumn cell. "
|
||||
"This will probably not work."
|
||||
<< endl;
|
||||
warning_message("Moving cell content '"
|
||||
+ cells[cell]
|
||||
+ "' into a multicolumn cell. "
|
||||
"This will probably not work.");
|
||||
}
|
||||
cellinfo[row][col].content += os2.str();
|
||||
|
||||
@ -1407,15 +1390,14 @@ void handle_tabular(Parser & p, ostream & os, string const & name,
|
||||
for (size_t i = 0; i < ncells - 1; ++i) {
|
||||
++col;
|
||||
if (col >= colinfo.size()) {
|
||||
cerr << "The cell '"
|
||||
<< cells[cell]
|
||||
<< "' specifies "
|
||||
<< convert<string>(ncells)
|
||||
<< " columns while the table has only "
|
||||
<< convert<string>(colinfo.size())
|
||||
<< " columns!"
|
||||
<< " Therefore the surplus columns will be ignored."
|
||||
<< endl;
|
||||
warning_message("The cell '"
|
||||
+ cells[cell]
|
||||
+ "' specifies "
|
||||
+ convert<string>(ncells)
|
||||
+ " columns while the table has only "
|
||||
+ convert<string>(colinfo.size())
|
||||
+ " columns!"
|
||||
+ " Therefore the surplus columns will be ignored.");
|
||||
break;
|
||||
}
|
||||
cellinfo[row][col].multi = CELL_PART_OF_MULTICOLUMN;
|
||||
@ -1436,11 +1418,10 @@ void handle_tabular(Parser & p, ostream & os, string const & name,
|
||||
rowinfo[row].caption = true;
|
||||
for (size_t c = 1; c < cells.size(); ++c) {
|
||||
if (!cells[c].empty()) {
|
||||
cerr << "Moving cell content '"
|
||||
<< cells[c]
|
||||
<< "' into the caption cell. "
|
||||
"This will probably not work."
|
||||
<< endl;
|
||||
warning_message("Moving cell content '"
|
||||
+ cells[c]
|
||||
+ "' into the caption cell. "
|
||||
"This will probably not work.");
|
||||
cells[0] += cells[c];
|
||||
}
|
||||
}
|
||||
@ -1467,11 +1448,10 @@ void handle_tabular(Parser & p, ostream & os, string const & name,
|
||||
rowinfo[row].caption = true;
|
||||
for (size_t c = 1; c < cells.size(); ++c) {
|
||||
if (!cells[c].empty()) {
|
||||
cerr << "Moving cell content '"
|
||||
<< cells[c]
|
||||
<< "' into the caption cell. "
|
||||
"This will probably not work."
|
||||
<< endl;
|
||||
warning_message("Moving cell content '"
|
||||
+ cells[c]
|
||||
+ "' into the caption cell. "
|
||||
"This will probably not work.");
|
||||
cells[0] += cells[c];
|
||||
}
|
||||
}
|
||||
@ -1496,10 +1476,10 @@ void handle_tabular(Parser & p, ostream & os, string const & name,
|
||||
}
|
||||
}
|
||||
|
||||
//cerr << "// handle almost empty last row what we have\n";
|
||||
//warning_message("// handle almost empty last row what we have");
|
||||
// handle almost empty last row
|
||||
if (row && lines[row].empty() && row + 1 == rowinfo.size()) {
|
||||
//cerr << "remove empty last line\n";
|
||||
//warning_message("remove empty last line");
|
||||
if (rowinfo[row].topline)
|
||||
rowinfo[row - 1].bottomline = true;
|
||||
for (size_t col = 0; col < colinfo.size(); ++col)
|
||||
@ -1584,7 +1564,7 @@ void handle_tabular(Parser & p, ostream & os, string const & name,
|
||||
else if (name == "tabularx")
|
||||
preamble.registerAutomaticallyLoadedPackage("tabularx");
|
||||
|
||||
//cerr << "// output what we have\n";
|
||||
//warning_message("output what we have");
|
||||
// output what we have
|
||||
size_type cols = colinfo.size();
|
||||
for (auto const & col : colinfo) {
|
||||
@ -1615,7 +1595,7 @@ void handle_tabular(Parser & p, ostream & os, string const & name,
|
||||
|
||||
os << write_attribute("tabularwidth", tabularwidth) << ">\n";
|
||||
|
||||
//cerr << "// after header\n";
|
||||
//warning_message("after header");
|
||||
for (auto const & col : colinfo) {
|
||||
if (col.decimal_point != '\0' && col.align != 'd')
|
||||
continue;
|
||||
@ -1630,7 +1610,7 @@ void handle_tabular(Parser & p, ostream & os, string const & name,
|
||||
<< write_attribute("varwidth", col.varwidth)
|
||||
<< ">\n";
|
||||
}
|
||||
//cerr << "// after cols\n";
|
||||
//warning_message("after cols");
|
||||
|
||||
for (size_t row = 0; row < rowinfo.size(); ++row) {
|
||||
os << "<row"
|
||||
@ -1675,11 +1655,11 @@ void handle_tabular(Parser & p, ostream & os, string const & name,
|
||||
<< write_attribute("rightline", cell.rightlines > 0)
|
||||
<< write_attribute("rotate", cell.rotate)
|
||||
<< write_attribute("mroffset", cell.mroffset);
|
||||
//cerr << "\nrow: " << row << " col: " << col;
|
||||
//warning_message("\nrow: " + row + " col: " + col);
|
||||
//if (cell.topline)
|
||||
// cerr << " topline=\"true\"";
|
||||
// warning_message(" topline=\"true\"");
|
||||
//if (cell.bottomline)
|
||||
// cerr << " bottomline=\"true\"";
|
||||
// warning_message(" bottomline=\"true\"");
|
||||
os << " usebox=\"none\""
|
||||
<< write_attribute("width", translate_len(cell.width));
|
||||
if (cell.multi != CELL_NORMAL)
|
||||
|
@ -64,6 +64,9 @@ changing commands in the input.
|
||||
Specify the encoding using the LaTeX name as defined in the encodings file.
|
||||
\fBtex2lyx\fR will ignore any encoding changing commands in the input.
|
||||
.TP
|
||||
.BI \-q
|
||||
Quite mode. \fBtex2lyx\fR will not output any warning messages.
|
||||
.TP
|
||||
.BI \-n
|
||||
Noweb. Translate a noweb (aka literate programming) file. This should be
|
||||
(almost?) equivalent to running \*[lq]noweb2lyx foo.tex foo.lyx\*[rq]. This option
|
||||
|
@ -57,12 +57,12 @@ string const trimSpaceAndEol(string const & a)
|
||||
|
||||
void split(string const & s, vector<string> & result, char delim)
|
||||
{
|
||||
//cerr << "split 1: '" << s << "'\n";
|
||||
//warning_message("split 1: '" + s + "'");
|
||||
istringstream is(s);
|
||||
string t;
|
||||
while (getline(is, t, delim))
|
||||
result.push_back(t);
|
||||
//cerr << "split 2\n";
|
||||
//warning_message("split 2");
|
||||
}
|
||||
|
||||
|
||||
@ -215,12 +215,12 @@ bool addModule(string const & module, LayoutFile const & baseClass, LayoutModule
|
||||
vector<string>::const_iterator const vb = visited.begin();
|
||||
vector<string>::const_iterator const ve = visited.end();
|
||||
if (find(vb, ve, module) != ve) {
|
||||
cerr << "Circular dependency detected for module " << module << '\n';
|
||||
warning_message("Circular dependency detected for module " + module);
|
||||
return false;
|
||||
}
|
||||
LyXModule const * const lm = theModuleList[module];
|
||||
if (!lm) {
|
||||
cerr << "Could not find module " << module << " in module list.\n";
|
||||
warning_message("Could not find module " + module + " in module list.");
|
||||
return false;
|
||||
}
|
||||
bool foundone = false;
|
||||
@ -260,7 +260,7 @@ bool addModule(string const & module, LayoutFile const & baseClass, LayoutModule
|
||||
}
|
||||
}
|
||||
if (!foundone) {
|
||||
cerr << "Could not add required modules for " << module << ".\n";
|
||||
warning_message("Could not add required modules for " + module + ".");
|
||||
return false;
|
||||
}
|
||||
if (!m.moduleCanBeAdded(module, &baseClass))
|
||||
@ -556,8 +556,8 @@ bool read_syntaxfile(FileName const & file_name)
|
||||
{
|
||||
ifdocstream is(file_name.toFilesystemEncoding().c_str());
|
||||
if (!is.good()) {
|
||||
cerr << "Could not open syntax file \"" << file_name
|
||||
<< "\" for reading." << endl;
|
||||
cerr << "Could not open syntax file \""
|
||||
<< file_name << "\" for reading." << std::endl;
|
||||
return false;
|
||||
}
|
||||
// We can use our TeX parser, since the syntax of the layout file is
|
||||
@ -594,6 +594,7 @@ bool fixed_encoding = false;
|
||||
string syntaxfile;
|
||||
bool copy_files = false;
|
||||
bool overwrite_files = false;
|
||||
bool no_warnings = false;
|
||||
bool skip_children = false;
|
||||
int error_code = 0;
|
||||
|
||||
@ -650,10 +651,11 @@ int parse_help(string const &, string const &)
|
||||
"\t-fixedenc encoding Like -e, but ignore encoding changing commands while parsing.\n"
|
||||
"\t-f Force overwrite of .lyx files.\n"
|
||||
"\t-help Print this message and quit.\n"
|
||||
"\t-n translate literate programming (noweb, sweave,... ) file.\n"
|
||||
"\t-n Translate literate programming (noweb, sweave,... ) file.\n"
|
||||
"\t-q Omit warnings.\n"
|
||||
"\t-roundtrip Re-export created .lyx file infile.lyx.lyx to infile.lyx.tex.\n"
|
||||
"\t-skipchildren Do not translate included child documents.\n"
|
||||
"\t-roundtrip re-export created .lyx file infile.lyx.lyx to infile.lyx.tex.\n"
|
||||
"\t-s syntaxfile read additional syntax file.\n"
|
||||
"\t-s syntaxfile Read additional syntax file.\n"
|
||||
"\t-sysdir SYSDIR Set system directory to SYSDIR.\n"
|
||||
"\t Default: " << package().system_support() << "\n"
|
||||
"\t-userdir USERDIR Set user directory to USERDIR.\n"
|
||||
@ -763,6 +765,13 @@ int parse_force(string const &, string const &)
|
||||
}
|
||||
|
||||
|
||||
int parse_quite(string const &, string const &)
|
||||
{
|
||||
no_warnings = true;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int parse_noweb(string const &, string const &)
|
||||
{
|
||||
noweb_mode = true;
|
||||
@ -811,6 +820,7 @@ void TeX2LyXApp::easyParse()
|
||||
cmdmap["-skipchildren"] = parse_skipchildren;
|
||||
cmdmap["-sysdir"] = parse_sysdir;
|
||||
cmdmap["-userdir"] = parse_userdir;
|
||||
cmdmap["-q"] = parse_quite;
|
||||
cmdmap["-roundtrip"] = parse_roundtrip;
|
||||
cmdmap["-copyfiles"] = parse_copyfiles;
|
||||
|
||||
@ -1053,15 +1063,14 @@ bool tex2lyx(string const & infilename, FileName const & outfilename,
|
||||
}
|
||||
if (outfilename.isReadableFile()) {
|
||||
if (overwrite_files) {
|
||||
cerr << "Overwriting existing file "
|
||||
<< outfilename << endl;
|
||||
warning_message("Overwriting existing file " + outfilename.absFileName());
|
||||
} else {
|
||||
cerr << "Not overwriting existing file "
|
||||
<< outfilename << endl;
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
cerr << "Creating file " << outfilename << endl;
|
||||
warning_message("Creating file " + outfilename.absFileName());
|
||||
}
|
||||
ofstream os(outfilename.toFilesystemEncoding().c_str());
|
||||
if (!os.good()) {
|
||||
@ -1103,6 +1112,13 @@ bool tex2tex(string const & infilename, FileName const & outfilename,
|
||||
}
|
||||
|
||||
|
||||
void warning_message(string const & message)
|
||||
{
|
||||
if (!no_warnings)
|
||||
cerr << "tex2lyx warning: " << message << endl;
|
||||
}
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
int TeX2LyXApp::run()
|
||||
|
@ -215,6 +215,8 @@ bool tex2lyx(std::string const & infilename,
|
||||
support::FileName const & outfilename,
|
||||
std::string const & encoding);
|
||||
|
||||
/// A general warning message that can be silenced with -q
|
||||
void warning_message(std::string const & message);
|
||||
|
||||
} // namespace lyx
|
||||
|
||||
|
@ -1129,8 +1129,8 @@ void parse_box(Parser & p, ostream & os, unsigned outer_flags,
|
||||
position = "t";
|
||||
}
|
||||
if (position != "t" && position != "c" && position != "b") {
|
||||
cerr << "invalid position " << position << " for "
|
||||
<< inner_type << endl;
|
||||
warning_message("invalid position " + position
|
||||
+ " for " + inner_type);
|
||||
position = "c";
|
||||
}
|
||||
if (p.hasOpt()) {
|
||||
@ -1143,8 +1143,9 @@ void parse_box(Parser & p, ostream & os, unsigned outer_flags,
|
||||
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;
|
||||
warning_message("invalid hor_pos "
|
||||
+ hor_pos + " for "
|
||||
+ inner_type);
|
||||
hor_pos = "c";
|
||||
}
|
||||
}
|
||||
@ -1154,9 +1155,9 @@ void parse_box(Parser & p, ostream & os, unsigned outer_flags,
|
||||
inner_pos = p.getArg('[', ']');
|
||||
if (inner_pos != "c" && inner_pos != "t" &&
|
||||
inner_pos != "b" && inner_pos != "s") {
|
||||
cerr << "invalid inner_pos "
|
||||
<< inner_pos << " for "
|
||||
<< inner_type << endl;
|
||||
warning_message("invalid inner_pos "
|
||||
+ inner_pos + " for "
|
||||
+ inner_type);
|
||||
inner_pos = position;
|
||||
}
|
||||
}
|
||||
@ -1176,8 +1177,9 @@ void parse_box(Parser & p, ostream & os, unsigned outer_flags,
|
||||
hor_pos = opt;
|
||||
if (hor_pos != "l" && hor_pos != "c" &&
|
||||
hor_pos != "r" && hor_pos != "s") {
|
||||
cerr << "invalid hor_pos " << hor_pos
|
||||
<< " for " << outer_type << endl;
|
||||
warning_message("invalid hor_pos "
|
||||
+ hor_pos + " for "
|
||||
+ outer_type);
|
||||
hor_pos = "c";
|
||||
}
|
||||
} else {
|
||||
@ -1451,8 +1453,8 @@ void parse_outer_box(Parser & p, ostream & os, unsigned flags, bool outer,
|
||||
if (p.next_token().cat() == catBegin)
|
||||
p.get_token();
|
||||
else
|
||||
cerr << "Warning: Ignoring missing '{' after \\"
|
||||
<< outer_type << '.' << endl;
|
||||
warning_message("Ignoring missing '{' after \\"
|
||||
+ outer_type + '.');
|
||||
eat_whitespace(p, os, parent_context, false);
|
||||
}
|
||||
string inner;
|
||||
@ -2808,24 +2810,24 @@ void copy_file(FileName const & src, string const & dstname)
|
||||
return;
|
||||
if (!dstpath.isDirectory()) {
|
||||
if (!dstpath.createPath()) {
|
||||
cerr << "Warning: Could not create directory for file `"
|
||||
<< dst.absFileName() << "´." << endl;
|
||||
warning_message("Could not create directory for file `"
|
||||
+ dst.absFileName() + "´.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (dst.isReadableFile()) {
|
||||
if (overwriteFiles())
|
||||
cerr << "Warning: Overwriting existing file `"
|
||||
<< dst.absFileName() << "´." << endl;
|
||||
warning_message("Overwriting existing file `"
|
||||
+ dst.absFileName() + "´.");
|
||||
else {
|
||||
cerr << "Warning: Not overwriting existing file `"
|
||||
<< dst.absFileName() << "´." << endl;
|
||||
warning_message("Not overwriting existing file `"
|
||||
+ dst.absFileName() + "´.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (!src.copyTo(dst))
|
||||
cerr << "Warning: Could not copy file `" << src.absFileName()
|
||||
<< "´ to `" << dst.absFileName() << "´." << endl;
|
||||
warning_message("Could not copy file `" + src.absFileName()
|
||||
+ "´ to `" + dst.absFileName() + "´.");
|
||||
}
|
||||
|
||||
|
||||
@ -2860,7 +2862,7 @@ bool parse_chunk(Parser & p, ostream & os, Context & context)
|
||||
p.putback();
|
||||
p.deparse();
|
||||
|
||||
//cerr << "params=[" << params.second << "], code=[" << code.second << "]" <<endl;
|
||||
//warning_message("params=[" + params.second + "], code=[" + code.second + "]");
|
||||
// We must have a valid layout before outputting the Chunk inset.
|
||||
context.check_layout(os);
|
||||
Context chunkcontext(true, context.textclass);
|
||||
@ -3261,7 +3263,8 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
|
||||
}
|
||||
|
||||
if (t.cat() == catSuper || t.cat() == catSub) {
|
||||
cerr << "catcode " << t << " illegal in text mode\n";
|
||||
string const cc = (t.cat() == catSuper) ? "catSuper" : "catSub";
|
||||
warning_message("catcode " + cc + " illegal in text mode");
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -3363,8 +3366,7 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
|
||||
if (p.next_token().character() == ']')
|
||||
p.get_token();
|
||||
else
|
||||
cerr << "Warning: Inserting missing ']' in '"
|
||||
<< s << "'." << endl;
|
||||
warning_message("Inserting missing ']' in '" + s + "'.");
|
||||
output_ert_inset(os, s, context);
|
||||
continue;
|
||||
}
|
||||
@ -3556,7 +3558,7 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
|
||||
if (flags & FLAG_BRACE_LAST) {
|
||||
return;
|
||||
}
|
||||
cerr << "stray '}' in text\n";
|
||||
warning_message("stray '}' in text");
|
||||
output_ert_inset(os, "}", context);
|
||||
continue;
|
||||
}
|
||||
@ -3598,8 +3600,8 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
|
||||
// eat environment name
|
||||
string const name = p.getArg('{', '}');
|
||||
if (name != active_environment())
|
||||
cerr << "\\end{" + name + "} does not match \\begin{"
|
||||
+ active_environment() + "}\n";
|
||||
warning_message("\\end{" + name + "} does not match \\begin{"
|
||||
+ active_environment() + "}");
|
||||
return;
|
||||
}
|
||||
p.error("found 'end' unexpectedly");
|
||||
@ -3724,8 +3726,7 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
|
||||
fix_child_filename(name);
|
||||
copy_file(absname, name);
|
||||
} else
|
||||
cerr << "Warning: Could not find file '"
|
||||
<< name << "'." << endl;
|
||||
warning_message("Could not find file '" + name + "'.");
|
||||
context.check_layout(os);
|
||||
begin_inset(os, "External\n\ttemplate ");
|
||||
os << "GnumericSpreadsheet\n\tfilename "
|
||||
@ -3959,19 +3960,17 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
|
||||
known_pdftex_graphics_formats);
|
||||
if (!dvips_name.empty()) {
|
||||
if (!pdftex_name.empty()) {
|
||||
cerr << "This file contains the "
|
||||
warning_message("This file contains the "
|
||||
"latex snippet\n"
|
||||
"\"\\includegraphics{"
|
||||
<< name << "}\".\n"
|
||||
"\"\\includegraphics{" + name + "}\".\n"
|
||||
"However, files\n\""
|
||||
<< dvips_name << "\" and\n\""
|
||||
<< pdftex_name << "\"\n"
|
||||
+ dvips_name + "\" and\n\""
|
||||
+ pdftex_name + "\"\n"
|
||||
"both exist, so I had to make a "
|
||||
"choice and took the first one.\n"
|
||||
"Please move the unwanted one "
|
||||
"someplace else and try again\n"
|
||||
"if my choice was wrong."
|
||||
<< endl;
|
||||
"if my choice was wrong.");
|
||||
}
|
||||
name = dvips_name;
|
||||
} else if (!pdftex_name.empty()) {
|
||||
@ -3985,8 +3984,7 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
|
||||
fix_child_filename(name);
|
||||
copy_file(absname, name);
|
||||
} else
|
||||
cerr << "Warning: Could not find graphics file '"
|
||||
<< name << "'." << endl;
|
||||
warning_message("Could not find graphics file '" + name + "'.");
|
||||
|
||||
context.check_layout(os);
|
||||
begin_inset(os, "Graphics ");
|
||||
@ -4030,7 +4028,7 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
|
||||
if (!ss.str().empty())
|
||||
os << "\trotateOrigin " << ss.str() << '\n';
|
||||
else
|
||||
cerr << "Warning: Ignoring unknown includegraphics origin argument '" << opt << "'\n";
|
||||
warning_message("Ignoring unknown includegraphics origin argument '" + opt + "'");
|
||||
}
|
||||
if (opts.find("keepaspectratio") != opts.end())
|
||||
os << "\tkeepAspectRatio\n";
|
||||
@ -4055,7 +4053,7 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
|
||||
<< opts["bbllx"] << " " << opts["bblly"] << " "
|
||||
<< opts["bburx"] << " " << opts["bbury"] << '\n';
|
||||
else if (numberOfbbOptions > 0)
|
||||
cerr << "Warning: Ignoring incomplete includegraphics boundingbox arguments.\n";
|
||||
warning_message("Ignoring incomplete includegraphics boundingbox arguments.");
|
||||
numberOfbbOptions = 0;
|
||||
if (opts.find("natwidth") != opts.end())
|
||||
numberOfbbOptions++;
|
||||
@ -4065,7 +4063,7 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
|
||||
os << "\tBoundingBox 0bp 0bp "
|
||||
<< opts["natwidth"] << " " << opts["natheight"] << '\n';
|
||||
else if (numberOfbbOptions > 0)
|
||||
cerr << "Warning: Ignoring incomplete includegraphics boundingbox arguments.\n";
|
||||
warning_message("Ignoring incomplete includegraphics boundingbox arguments.");
|
||||
ostringstream special;
|
||||
if (opts.find("hiresbb") != opts.end())
|
||||
special << "hiresbb,";
|
||||
@ -4327,8 +4325,8 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
|
||||
// time in the text language.
|
||||
time_t ptime = from_asctime_utc(localtime);
|
||||
if (ptime == static_cast<time_t>(-1)) {
|
||||
cerr << "Warning: Could not parse time `" << localtime
|
||||
<< "´ for change tracking, using current time instead.\n";
|
||||
warning_message("Could not parse time `" + localtime
|
||||
+ "´ for change tracking, using current time instead.");
|
||||
ptime = current_time();
|
||||
}
|
||||
if (t.cs() == "lyxadded")
|
||||
@ -4877,13 +4875,13 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
|
||||
|
||||
string const citation = p.verbatim_item();
|
||||
if (!before.empty() && argumentOrder == '\0') {
|
||||
cerr << "Warning: Assuming argument order "
|
||||
warning_message("Assuming argument order "
|
||||
"of jurabib version 0.6 for\n'"
|
||||
<< command << before << after << '{'
|
||||
<< citation << "}'.\n"
|
||||
+ command + before + after + '{'
|
||||
+ citation + "}'.\n"
|
||||
"Add 'jurabiborder' to the jurabib "
|
||||
"package options if you used an\n"
|
||||
"earlier jurabib version." << endl;
|
||||
"earlier jurabib version.");
|
||||
}
|
||||
bool literal = false;
|
||||
pair<bool, string> aft;
|
||||
@ -5297,7 +5295,7 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
|
||||
output_ert_inset(os, "\\verb" + delim
|
||||
+ arg.second + delim, context);
|
||||
else
|
||||
cerr << "invalid \\verb command. Skipping" << endl;
|
||||
warning_message("invalid \\verb command. Skipping");
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -5493,8 +5491,7 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
|
||||
copy_file(abssrc, outname);
|
||||
}
|
||||
} else {
|
||||
cerr << "Warning: Could not find included file '"
|
||||
<< filename << "'." << endl;
|
||||
warning_message("Could not find included file '" + filename + "'.");
|
||||
outname = filename;
|
||||
}
|
||||
if (external) {
|
||||
@ -5615,8 +5612,8 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
|
||||
Encoding const * const enc = encodings.fromIconvName(
|
||||
p.getEncoding(), Encoding::inputenc, true);
|
||||
if (!enc) {
|
||||
cerr << "Unknown bib encoding " << p.getEncoding()
|
||||
<< ". Ignoring." << std::endl;
|
||||
warning_message("Unknown bib encoding " + p.getEncoding()
|
||||
+ ". Ignoring.");
|
||||
} else
|
||||
os << "encoding " << '"' << enc->name() << '"' << "\n";
|
||||
}
|
||||
@ -5664,8 +5661,8 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
|
||||
Encoding const * const enc = encodings.fromLaTeXName(
|
||||
preamble.bibencoding, Encoding::inputenc, true);
|
||||
if (!enc) {
|
||||
cerr << "Unknown bib encoding " << preamble.bibencoding
|
||||
<< ". Ignoring." << std::endl;
|
||||
warning_message("Unknown bib encoding " + preamble.bibencoding
|
||||
+ ". Ignoring.");
|
||||
} else
|
||||
os << "encoding " << '"' << enc->name() << '"' << "\n";
|
||||
}
|
||||
@ -6142,7 +6139,7 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
|
||||
p.setCatcodes(VERBATIM_CATCODES);
|
||||
string delim = p.get_token().asInput();
|
||||
if (delim != "{")
|
||||
cerr << "Warning: bad delimiter for command " << t.asInput() << endl;
|
||||
warning_message("bad delimiter for command " + t.asInput());
|
||||
//FIXME: handle error condition
|
||||
string const arg = p.verbatimStuff("}").second;
|
||||
Context newcontext(true, context.textclass);
|
||||
@ -6190,7 +6187,7 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
|
||||
p.setCatcodes(VERBATIM_CATCODES);
|
||||
string delim = p.get_token().asInput();
|
||||
if (delim != "{")
|
||||
cerr << "Warning: bad delimiter for command " << t.asInput() << endl;
|
||||
warning_message("bad delimiter for command " + t.asInput());
|
||||
//FIXME: handle error condition
|
||||
string const arg = p.verbatimStuff("}").second;
|
||||
Context newcontext(true, context.textclass);
|
||||
@ -6235,8 +6232,7 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
|
||||
fix_child_filename(name);
|
||||
copy_file(absname, name);
|
||||
} else
|
||||
cerr << "Warning: Could not find file '"
|
||||
<< name << "'." << endl;
|
||||
warning_message("Could not find file '" + name + "'.");
|
||||
// write output
|
||||
context.check_layout(os);
|
||||
begin_inset(os, "External\n\ttemplate ");
|
||||
@ -6265,7 +6261,7 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
|
||||
if (!ss.str().empty())
|
||||
os << "\trotateOrigin " << ss.str() << '\n';
|
||||
else
|
||||
cerr << "Warning: Ignoring unknown includegraphics origin argument '" << opt << "'\n";
|
||||
warning_message("Ignoring unknown includegraphics origin argument '" + opt + "'");
|
||||
}
|
||||
if (opts.find("width") != opts.end())
|
||||
os << "\twidth "
|
||||
@ -6302,8 +6298,7 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
|
||||
fix_child_filename(name);
|
||||
copy_file(absname, name);
|
||||
} else
|
||||
cerr << "Warning: Could not find file '"
|
||||
<< name << "'." << endl;
|
||||
warning_message("Could not find file '" + name + "'.");
|
||||
context.check_layout(os);
|
||||
begin_inset(os, "External\n\ttemplate ");
|
||||
os << "ChessDiagram\n\tfilename "
|
||||
@ -6431,17 +6426,17 @@ void parse_text(Parser & p, ostream & os, unsigned flags, bool outer,
|
||||
for (set<string>::const_iterator it = req.begin(); it != req.end(); ++it)
|
||||
preamble.registerAutomaticallyLoadedPackage(*it);
|
||||
}
|
||||
//cerr << "#: " << t << " mode: " << mode << endl;
|
||||
//warning_message("#: " + t + " mode: " + mode);
|
||||
// heuristic: read up to next non-nested space
|
||||
/*
|
||||
string s = t.asInput();
|
||||
string z = p.verbatim_item();
|
||||
while (p.good() && z != " " && !z.empty()) {
|
||||
//cerr << "read: " << z << endl;
|
||||
//warning_message("read: " + z);
|
||||
s += z;
|
||||
z = p.verbatim_item();
|
||||
}
|
||||
cerr << "found ERT: " << s << endl;
|
||||
warning_message("found ERT: " + s);
|
||||
output_ert_inset(os, s + ' ', context);
|
||||
*/
|
||||
else {
|
||||
|
Loading…
Reference in New Issue
Block a user