X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FPDFOptions.h;h=a3e3cea14b51651d8e4917f9d1b4d1c1d6c90c3d;hb=c393abbe12c360eec07a3dcbb5929e6b7c0ad329;hp=c946aacfa5df230b4e2e0247e1dd104baaab6e51;hpb=38dfe360931da8260b75b260a3d9503057d15208;p=lyx.git diff --git a/src/PDFOptions.h b/src/PDFOptions.h index c946aacfa5..a3e3cea14b 100644 --- a/src/PDFOptions.h +++ b/src/PDFOptions.h @@ -12,12 +12,20 @@ #ifndef PDFOPTIONS_H #define PDFOPTIONS_H -#include "support/docstream.h" +#include "OutputParams.h" + +#include "support/strfwd.h" + +#include namespace lyx { class Lexer; +// FIXME UNICODE +// Write functions need to use odostream instead of ostream before +// we can use docstring instead of string. + /// Options for PDF generation class PDFOptions { public: @@ -28,7 +36,8 @@ public: /// output to lyx header void writeFile(std::ostream &) const; /// output to tex header - void writeLaTeX(odocstringstream &) const; + int writeLaTeX(OutputParams &, odocstream &, + bool hyperref_already_provided) const; /// read tokens from lyx header std::string readToken(Lexer &lex, std::string const & token); /// set implicit settings for hyperref @@ -90,18 +99,14 @@ public: bool colorlinks; /** * Adds backlink text to the end of each item in the bibliography, - * as a list of section numbers. + * as a list of section/slide/page numbers. * This can only work properly if there is a blank line after each * \bibitem. - * backref boolean false - */ - bool backref; - /** - * Adds backlink text to the end of each item in the bibliography, - * as a list of page numbers. - * pagebackref boolean false + * backref string empty(="section"), "false", "section", "slide", "page" + * + * Internally we use false/section/slide/pages. See also bug 5340. */ - bool pagebackref; + std::string backref; /** * Determines how the file is opening in Acrobat; * the possibilities are None, UseThumbs (show thumbnails), UseOutlines @@ -133,8 +138,10 @@ public: std::string quoted_options; /** * Possible syntax check of users additional parameters here. + * Returns repaired string. For the time being only newlines + * are checked. */ - std::string quoted_options_get() const; + std::string quoted_options_check(std::string const str) const; /**