#ifndef PDFOPTIONS_H
#define PDFOPTIONS_H
-#include "support/docstream.h"
+#include "support/strfwd.h"
+
+#include <string>
namespace lyx {
public:
///
PDFOptions() { clear(); }
- /// check for string settings
+ /// check whether user added any settings for hyperref
bool empty() const;
/// output to lyx header
void writeFile(std::ostream &) const;
/// output to tex header
- void writeLaTeX(odocstringstream &) const;
+ void writeLaTeX(odocstream &, bool hyperref_already_provided) const;
/// read tokens from lyx header
std::string readToken(Lexer &lex, std::string const & token);
- /// keep implicit hyperref settings
+ /// set implicit settings for hyperref
void clear();
///
* Level (\maxdimen) to which bookmarks are open
* bookmarksopenlevel parameter
*/
- std::string bookmarksopenlevel;
+ int bookmarksopenlevel;
/**
* Allows link text to break across lines.
* breaklinks boolean false
* dialog -> PDFOptions.pagemode .
*/
std::string pagemode;
+ /**
+ * Flag indicating whether hyperref tries to derive the values for
+ * pdftitle and pdfauthor from \title and \author.
+ * pdfusetitle boolean false
+ *
+ * Note that we use true as default value instead. The option is also
+ * used in latex output only when title and author is not filled.
+ */
+ bool pdfusetitle;
///latex string
static const std::string pagemode_fullscreen;
/**
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;
/**