X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Foutput_latex.h;h=9a7de7ed69d12714ac07b5c5f162b0c97408fca7;hb=c393abbe12c360eec07a3dcbb5929e6b7c0ad329;hp=ca6618c7a727bc707999895de5598eb628b28167;hpb=500a5f959fa713c2106855c64fac55739f8a93ff;p=lyx.git diff --git a/src/output_latex.h b/src/output_latex.h index ca6618c7a7..9a7de7ed69 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,9 +12,12 @@ #ifndef OUTPUT_LATEX_H #define OUTPUT_LATEX_H -#include "ParagraphList_fwd.h" +#include #include "support/docstream.h" +#include "Paragraph.h" +#include "ParIterator.h" +#include "ParagraphList.h" namespace lyx { @@ -22,13 +25,19 @@ 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(Buffer const & buf, Paragraph const & par, - odocstream & os, OutputParams const & runparams, - int number); +/// 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); /** Export \p paragraphs of buffer \p buf to LaTeX. Don't use a temporary stringstream for \p os if the final output is @@ -36,16 +45,29 @@ int latexOptArgInsets(Buffer const & buf, Paragraph const & par, \sa Buffer::writeLaTeXSource for the reason. */ void latexParagraphs(Buffer const & buf, - ParagraphList const & paragraphs, + Text const & text, odocstream & ofs, TexRow & texrow, OutputParams const &, std::string const & everypar = std::string()); -/// Switch the encoding of \p os from \p oldEnc to \p newEnc if needed. -/// \return the number of characters written to \p os. -int switchEncoding(odocstream & os, BufferParams const & bparams, - Encoding const & oldEnc, Encoding const & newEnc); +/** 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. +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); } // namespace lyx