#ifndef PDFOPTIONS_H
#define PDFOPTIONS_H
-#include "support/docstream.h"
+#include "support/strfwd.h"
+
+#include <string>
namespace lyx {
class Lexer;
/// Options for PDF generation
-
-/*
- Possible cleanups, left for next fileformat change:
-
- - bookmarksopenlevel is stored in .lyx as string;
- after change to spinbox it would be appropriate
- change to int.
- - store_options flag can be completely replaced by
- function store_options() doing essentialy the same
- as empty() now.
-*/
-
class PDFOptions {
public:
///
/// 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();
///
* 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;
/**