#include "BufferParams.h"
#include "debug.h"
#include "Encoding.h"
+#include "InsetList.h"
#include "Language.h"
+#include "Layout.h"
#include "LyXRC.h"
#include "OutputParams.h"
#include "Paragraph.h"
#include "paragraph_funcs.h"
#include "ParagraphParameters.h"
+#include "TextClass.h"
#include "TexRow.h"
#include "VSpace.h"
#include "support/lstrings.h"
+#include <boost/next_prior.hpp>
namespace lyx {
odocstream & os, TexRow & texrow,
OutputParams const & runparams)
{
- LYXERR(Debug::LATEX) << "TeXDeeper... " << &*pit << endl;
+ LYXERR(Debug::LATEX, "TeXDeeper... " << &*pit);
ParagraphList::const_iterator par = pit;
while (par != paragraphs.end() &&
os, texrow, runparams);
}
}
- LYXERR(Debug::LATEX) << "TeXDeeper...done " << endl;
+ LYXERR(Debug::LATEX, "TeXDeeper...done ");
return par;
}
odocstream & os, TexRow & texrow,
OutputParams const & runparams)
{
- LYXERR(Debug::LATEX) << "TeXEnvironment... " << &*pit << endl;
+ LYXERR(Debug::LATEX, "TeXEnvironment... " << &*pit);
BufferParams const & bparams = buf.params();
os << '\n';
texrow.newline();
} else if (par->params().depth() > pit->params().depth()) {
- if (par->layout()->isParagraph()) {
+ if (par->layout()->isParagraph()) {
+ // Thinko!
+ // How to handle this? (Lgb)
+ //&& !suffixIs(os, "\n\n")
+ //) {
- // Thinko!
- // How to handle this? (Lgb)
- //&& !suffixIs(os, "\n\n")
- //) {
// There should be at least one '\n' already
// but we need there to be two for Standard
// paragraphs that are depth-increment'ed to be
texrow.newline();
}
- if (par != paragraphs.end()) {
- LYXERR(Debug::LATEX) << "TeXEnvironment...done " << &*par << endl;
- }
+ if (par != paragraphs.end())
+ LYXERR(Debug::LATEX, "TeXEnvironment...done " << &*par);
+
return par;
}
{
int lines = 0;
- InsetList::const_iterator it = par.insetlist.begin();
- InsetList::const_iterator end = par.insetlist.end();
+ InsetList::const_iterator it = par.insetList().begin();
+ InsetList::const_iterator end = par.insetList().end();
for (; it != end && number > 0 ; ++it) {
- if (it->inset->lyxCode() == Inset::OPTARG_CODE) {
+ if (it->inset->lyxCode() == OPTARG_CODE) {
InsetOptArg * ins =
static_cast<InsetOptArg *>(it->inset);
lines += ins->latexOptional(buf, os, runparams);
OutputParams const & runparams_in,
string const & everypar)
{
- LYXERR(Debug::LATEX) << "TeXOnePar... " << &*pit << " '"
- << everypar << "'" << endl;
+ LYXERR(Debug::LATEX, "TeXOnePar... " << &*pit << " '"
+ << everypar << "'");
BufferParams const & bparams = buf.params();
LayoutPtr style;
+ if (runparams_in.verbatim) {
+ int const dist = std::distance(paragraphs.begin(), pit);
+ Font const outerfont = outerFont(dist, paragraphs);
+
+ // No newline if only one paragraph in this lyxtext
+ if (dist > 0) {
+ os << '\n';
+ texrow.newline();
+ }
+
+ /*bool need_par = */ pit->latex(buf, bparams, outerfont,
+ os, texrow, runparams_in);
+
+ return ++pit;
+ }
+
// In an inset with unlimited length (all in one row),
// force layout to default
if (!pit->forceDefaultParagraphs())
// FIXME UNICODE
os << from_utf8(everypar);
- bool need_par = pit->simpleTeXOnePar(buf, bparams, outerfont,
+ bool need_par = pit->latex(buf, bparams, outerfont,
os, texrow, runparams);
// Make sure that \\par is done with the font of the last
bool is_command = style->isCommand();
- if (style->resfont.size() != font.size()
+ if (style->resfont.size() != font.fontInfo().size()
&& boost::next(pit) != paragraphs.end()
&& !is_command) {
if (!need_par)
texrow.newline();
}
- if (boost::next(pit) != paragraphs.end()) {
- LYXERR(Debug::LATEX) << "TeXOnePar...done " << &*boost::next(pit) << endl;
- }
+ if (boost::next(pit) != paragraphs.end())
+ LYXERR(Debug::LATEX, "TeXOnePar...done " << &*boost::next(pit));
return ++pit;
}
|| newEnc.package() == Encoding::none)
return make_pair(false, 0);
- LYXERR(Debug::LATEX) << "Changing LaTeX encoding from "
- << oldEnc.name() << " to "
- << newEnc.name() << endl;
+ LYXERR(Debug::LATEX, "Changing LaTeX encoding from "
+ << oldEnc.name() << " to " << newEnc.name());
os << setEncoding(newEnc.iconvName());
if (bparams.inputenc == "default")
return make_pair(true, 0);
- docstring const inputenc(from_ascii(newEnc.latexName()));
+ docstring const inputenc = from_ascii(newEnc.latexName());
switch (newEnc.package()) {
case Encoding::none:
// shouldn't ever reach here, see above
}
os << "\\inputencoding{" << inputenc << '}';
return make_pair(true, count + 16);
- }
+ }
case Encoding::CJK: {
int count = inputenc.length();
if (oldEnc.package() == Encoding::CJK) {