X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Foutput_latex.h;h=cf37173604b2b03bd4daa4447fd774f16532ba72;hb=c7d29be153debac82e3d2e8865fcc849f0a5f40d;hp=84bd800a8aadac963572407a46f13e38ba389d8a;hpb=4209cbc631e92edd02f4558e75d085eeea210d17;p=lyx.git diff --git a/src/output_latex.h b/src/output_latex.h index 84bd800a8a..cf37173604 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" @@ -25,16 +24,46 @@ namespace lyx { class Buffer; class BufferParams; class Encoding; +class Layout; class Paragraph; class OutputParams; -class TexRow; class Text; -/// Export up to \p number optarg insets -int latexOptArgInsets(Paragraph const & par, - odocstream & os, OutputParams const & runparams, - int number); +/** Register a language switch when using polyglossia or begin/end commands. + Set \p localswitch to true if a local command switch is used. + */ +void pushLanguageName(std::string const & lang, bool localswitch = false); + +/** Unregister the last language switch when using polyglossia + or begin/end commands. + */ +void popLanguageName(); +/** Return a reference to the last active language opened with + polyglossia or when using begin/end commands. If none or when + using babel with only a begin command, return a reference to + an empty string. + */ +std::string const & openLanguageName(); + +/** 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 merged environments +void latexArgInsets(ParagraphList const & pars, + ParagraphList::const_iterator pit, + otexstream & os, OutputParams const & runparams, + Layout::LaTeXArgMap const & latexargs, + std::string const & prefix = std::string()); +/// Same for InsetLayouts +void latexArgInsetsForParent(ParagraphList const & pars, 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. @@ -42,8 +71,7 @@ int latexOptArgInsets(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()); @@ -57,13 +85,14 @@ std::pair switchEncoding(odocstream & os, bool force = false); /// FIXME: this should not be visible. -ParagraphList::const_iterator TeXOnePar(Buffer const & buf, - Text const & text, - ParagraphList::const_iterator pit, - odocstream & os, TexRow & texrow, - OutputParams const & runparams, - std::string const & everypar = std::string(), - int start_pos = -1, int end_pos = -1); +void TeXOnePar(Buffer const & buf, + Text const & text, + pit_type pit, + otexstream & os, + OutputParams const & runparams, + std::string const & everypar = std::string(), + int start_pos = -1, int end_pos = -1, + bool const force = false); } // namespace lyx