X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Foutput_latex.h;h=fdbc38febb327ab4ea28ac822de3b2f3fd6c3930;hb=2de30c62f8d671a8c8d4d52a6a7310e2c5ca84de;hp=dee6f9f86e6d3f7f60469a47c5fac8c37f304a73;hpb=fbcbeb513068aeee20d0ad57705c534e563a2698;p=lyx.git diff --git a/src/output_latex.h b/src/output_latex.h index dee6f9f86e..fdbc38febb 100644 --- a/src/output_latex.h +++ b/src/output_latex.h @@ -15,8 +15,7 @@ #include #include "support/docstream.h" -#include "Paragraph.h" -#include "ParIterator.h" +#include "Layout.h" #include "ParagraphList.h" @@ -28,17 +27,29 @@ class Encoding; class Layout; class Paragraph; class OutputParams; -class TexRow; class Text; -/// Export up to \p reqargs required arguments and -/// \p optargs optional ones. If not enough required -/// ones are given, we'll output: {}. The optional ones -/// must all come first. -int latexArgInsets(Paragraph const & par, - odocstream & os, OutputParams const & runparams, - unsigned int reqargs, unsigned int optargs); +/** Register a language switch when using polyglossia. + Set \p localswitch to true if the \text command is used. + */ +void pushPolyglossiaLang(std::string const & lang, bool localswitch = false); + +/** Unregister the last language switch when using polyglossia. + */ +void popPolyglossiaLang(); +/** Export optional and required arguments of the paragraph \p par. + Non-existing required arguments are output empty: {}. + */ +void latexArgInsets(Paragraph const & par, + otexstream & os, OutputParams const & runparams, + Layout::LaTeXArgMap const & latexargs, + std::string const & prefix = std::string()); +/// Same for multi-par sequences (e.g. merged environments or InsetLayouts) +void latexArgInsets(ParagraphList const & pars, ParagraphList::const_iterator pit, + otexstream & os, OutputParams const & runparams, + Layout::LaTeXArgMap const & latexargs, + std::string const & prefix = std::string()); /** Export \p paragraphs of buffer \p buf to LaTeX. Don't use a temporary stringstream for \p os if the final output is supposed to go to a file. @@ -46,8 +57,7 @@ int latexArgInsets(Paragraph const & par, */ void latexParagraphs(Buffer const & buf, Text const & text, - odocstream & ofs, - TexRow & texrow, + otexstream & ofs, OutputParams const &, std::string const & everypar = std::string()); @@ -63,8 +73,8 @@ std::pair switchEncoding(odocstream & os, /// FIXME: this should not be visible. void TeXOnePar(Buffer const & buf, Text const & text, - ParagraphList::const_iterator pit, - odocstream & os, TexRow & texrow, + pit_type pit, + otexstream & os, OutputParams const & runparams, std::string const & everypar = std::string(), int start_pos = -1, int end_pos = -1);