#include <sstream>
-namespace support = lyx::support;
-using lyx::support::bformat;
-using lyx::support::rtrim;
-using lyx::support::tokenPos;
+
+namespace lyx {
+
+using support::bformat;
+using support::rtrim;
+using support::tokenPos;
using std::endl;
using std::string;
using std::ostringstream;
using std::pair;
-namespace biblio = lyx::biblio;
+namespace Alert = lyx::frontend::Alert;
// Local translators
use_amsmath = AMS_AUTO;
cite_engine = biblio::ENGINE_BASIC;
use_bibtopic = false;
- tracking_changes = false;
- output_changes = false;
+ trackChanges = false;
+ outputChanges = false;
secnumdepth = 3;
tocdepth = 3;
language = default_language;
pp = textclasslist.addTextClass(classname, filepath);
if (pp.first) {
textclass = pp.second;
- } else {
+ } else {
textclass = 0;
return classname;
- }
+ }
}
// FIXME: isTeXClassAvailable will try to load the layout file, but will
// fail because of the lack of path info. Warnings will be given although
// the layout file will be correctly loaded later.
if (!getLyXTextClass().isTeXClassAvailable()) {
- string const msg =
+ docstring const msg =
bformat(_("The document uses a missing "
- "TeX class \"%1$s\".\n"), classname);
+ "TeX class \"%1$s\".\n"), from_utf8(classname));
Alert::warning(_("Document class not available"),
msg + _("LyX will not be able to produce output."));
}
} else if (token == "\\use_bibtopic") {
lex >> use_bibtopic;
} else if (token == "\\tracking_changes") {
- lex >> tracking_changes;
+ lex >> trackChanges;
} else if (token == "\\output_changes") {
- lex >> output_changes;
+ lex >> outputChanges;
} else if (token == "\\branch") {
lex.next();
string branch = lex.getString();
<< user_defined_bullet(i).getSize() << "\n";
}
else {
+ // FIXME UNICODE
os << "\\bulletLaTeX " << i << " \""
- << user_defined_bullet(i).getText()
+ << lyx::to_ascii(user_defined_bullet(i).getText())
<< "\"\n";
}
}
}
- os << "\\tracking_changes " << convert<string>(tracking_changes) << "\n";
- os << "\\output_changes " << convert<string>(output_changes) << "\n";
+ os << "\\tracking_changes " << convert<string>(trackChanges) << "\n";
+ os << "\\output_changes " << convert<string>(outputChanges) << "\n";
- if (tracking_changes) {
- AuthorList::Authors::const_iterator it = pimpl_->authorlist.begin();
- AuthorList::Authors::const_iterator end = pimpl_->authorlist.end();
- for (; it != end; ++it) {
- os << "\\author " << it->second << "\n";
- }
+ AuthorList::Authors::const_iterator a_it = pimpl_->authorlist.begin();
+ AuthorList::Authors::const_iterator a_end = pimpl_->authorlist.end();
+ for (; a_it != a_end; ++a_it) {
+ os << "\\author " << a_it->second << "\n";
}
}
-bool BufferParams::writeLaTeX(ostream & os, LaTeXFeatures & features,
+bool BufferParams::writeLaTeX(odocstream & os, LaTeXFeatures & features,
TexRow & texrow) const
{
os << "\\documentclass";
}
// custom, A3, B3 and B4 paper sizes need geometry
- bool nonstandard_papersize = (papersize == PAPER_B3) ||
- (papersize == PAPER_B4) ||
- (papersize == PAPER_A3) ||
- (papersize == PAPER_CUSTOM);
+ bool nonstandard_papersize = papersize == PAPER_B3
+ || papersize == PAPER_B4
+ || papersize == PAPER_A3
+ || papersize == PAPER_CUSTOM;
if (!use_geometry) {
switch (papersize) {
string strOptions(clsoptions.str());
if (!strOptions.empty()) {
strOptions = rtrim(strOptions, ",");
- os << '[' << strOptions << ']';
+ // FIXME UNICODE
+ os << '[' << from_utf8(strOptions) << ']';
}
- os << '{' << tclass.latexname() << "}\n";
+ os << '{' << from_ascii(tclass.latexname()) << "}\n";
texrow.newline();
// end of \documentclass defs
// font selection must be done before loading fontenc.sty
- string const fonts =
+ string const fonts =
loadFonts(features, fontsRoman, fontsSans,
fontsTypewriter, fontsSC, fontsOSF,
fontsSansScale, fontsTypewriterScale);
if (!fonts.empty()) {
- os << fonts;
+ os << from_ascii(fonts);
texrow.newline();
}
if (fontsDefaultFamily != "default")
- os << "\\renewcommand{\\familydefault}{\\"
- << fontsDefaultFamily << "}\n";
+ os << "\\renewcommand{\\familydefault}{\\"
+ << from_ascii(fontsDefaultFamily) << "}\n";
// this one is not per buffer
if (lyxrc.fontenc != "default") {
- os << "\\usepackage[" << lyxrc.fontenc
+ os << "\\usepackage[" << from_ascii(lyxrc.fontenc)
<< "]{fontenc}\n";
texrow.newline();
}
features.getEncodingSet(doc_encoding);
os << "\\usepackage[";
- std::copy(encodings.begin(), encodings.end(),
- std::ostream_iterator<string>(os, ","));
- os << doc_encoding << "]{inputenc}\n";
+ std::set<string>::const_iterator it = encodings.begin();
+ std::set<string>::const_iterator const end = encodings.end();
+ for (; it != end; ++it)
+ os << from_ascii(*it) << ',';
+ os << from_ascii(doc_encoding) << "]{inputenc}\n";
texrow.newline();
} else if (inputenc != "default") {
- os << "\\usepackage[" << inputenc
+ os << "\\usepackage[" << from_ascii(inputenc)
<< "]{inputenc}\n";
texrow.newline();
}
case PAPER_CUSTOM:
if (!paperwidth.empty())
os << ",paperwidth="
- << paperwidth;
+ << from_ascii(paperwidth);
if (!paperheight.empty())
os << ",paperheight="
- << paperheight;
+ << from_ascii(paperheight);
break;
case PAPER_USLETTER:
os << ",letterpaper";
}
}
if (!topmargin.empty())
- os << ",tmargin=" << topmargin;
+ os << ",tmargin=" << from_ascii(topmargin);
if (!bottommargin.empty())
- os << ",bmargin=" << bottommargin;
+ os << ",bmargin=" << from_ascii(bottommargin);
if (!leftmargin.empty())
- os << ",lmargin=" << leftmargin;
+ os << ",lmargin=" << from_ascii(leftmargin);
if (!rightmargin.empty())
- os << ",rmargin=" << rightmargin;
+ os << ",rmargin=" << from_ascii(rightmargin);
if (!headheight.empty())
- os << ",headheight=" << headheight;
+ os << ",headheight=" << from_ascii(headheight);
if (!headsep.empty())
- os << ",headsep=" << headsep;
+ os << ",headsep=" << from_ascii(headsep);
if (!footskip.empty())
- os << ",footskip=" << footskip;
+ os << ",footskip=" << from_ascii(footskip);
os << "}\n";
texrow.newline();
}
os << "\\usepackage{fancyhdr}\n";
texrow.newline();
}
- os << "\\pagestyle{" << pagestyle << "}\n";
+ os << "\\pagestyle{" << from_ascii(pagestyle) << "}\n";
texrow.newline();
}
break;
case VSpace::LENGTH:
os << "\\setlength\\parskip{"
- << getDefSkip().length().asLatexString()
+ << from_utf8(getDefSkip().length().asLatexString())
<< "}\n";
break;
default: // should never happen // Then delete it.
// If we use jurabib, we have to call babel here.
if (use_babel && features.isRequired("jurabib")) {
- os << babelCall(language_options.str())
+ os << from_ascii(babelCall(language_options.str()))
<< '\n'
- << features.getBabelOptions();
+ << from_ascii(features.getBabelOptions());
texrow.newline();
}
bullets_def += 'v';
break;
}
+ // FIXME UNICODE
bullets_def += '{' +
- user_defined_bullet(i).getText()
+ lyx::to_ascii(user_defined_bullet(i).getText())
+ "}\n";
}
}
lyxpreamble += "\\makeatother\n";
// dvipost settings come after everything else
- if (features.isAvailable("dvipost") && tracking_changes && output_changes) {
+ if (features.isAvailable("dvipost") && outputChanges) {
lyxpreamble +=
"\\dvipostlayout\n"
"\\dvipost{osstart color push Red}\n"
texrow.newline();
}
- os << lyxpreamble;
+ // FIXME UNICODE
+ os << from_utf8(lyxpreamble);
return use_babel;
}
if (!lex.next()) return;
int const index = lex.getInteger();
lex.next(true);
- string const temp_str = lex.getString();
+ docstring const temp_str = lex.getDocString();
user_defined_bullet(index).setText(temp_str);
temp_bullet(index).setText(temp_str);
return os.str();
}
+
+
+} // namespace lyx