X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Foutput_latex.h;h=1f3afff17f17aecf952ef8fe2e07dbb448efde64;hb=68ee68103a77300c3aa01db9e63bd01b8243a0eb;hp=f2a47b0de31e4ca81e261b1646b0bd4f5698af44;hpb=9d6cad3fe60696d795280a886623fdc9a89f9de6;p=lyx.git diff --git a/src/output_latex.h b/src/output_latex.h index f2a47b0de3..1f3afff17f 100644 --- a/src/output_latex.h +++ b/src/output_latex.h @@ -4,7 +4,7 @@ * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * - * \author Lars Gullik Bjønnes + * \author Lars Gullik Bjønnes * * Full author contact details are available in file CREDITS. */ @@ -12,21 +12,65 @@ #ifndef OUTPUT_LATEX_H #define OUTPUT_LATEX_H -#include "ParagraphList_fwd.h" +#include -#include +#include "support/docstream.h" +#include "Layout.h" +#include "ParagraphList.h" + + +namespace lyx { class Buffer; +class BufferParams; +class Encoding; +class Layout; +class Paragraph; class OutputParams; class TexRow; +class Text; -/// Just a wrapper for the method below, first creating the ofstream. - +/** 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. + \sa Buffer::writeLaTeXSource for the reason. + */ void latexParagraphs(Buffer const & buf, - ParagraphList const & paragraphs, - std::ostream & ofs, - TexRow & texrow, + Text const & text, + otexstream & ofs, OutputParams const &, std::string const & everypar = std::string()); +/** Switch the encoding of \p os from runparams.encoding to \p newEnc if needed. + \p force forces this also within non-default or -auto encodings. + \return (did the encoding change?, number of characters written to \p os) + */ +std::pair switchEncoding(odocstream & os, + BufferParams const & bparams, + OutputParams const &, Encoding const & newEnc, + bool force = false); + +/// FIXME: this should not be visible. +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); + +} // namespace lyx + #endif