X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FPDFOptions.cpp;h=af36cf16a5eb85f759dc20a14612446024554d53;hb=d83e0022017fa6245173e55332f60b7a4a78dc31;hp=436e8f2e195e5de5e123cba0a288ff3f62ec0427;hpb=c6648aaeb9d9b870aa65a48fe649388198a0f5bd;p=lyx.git diff --git a/src/PDFOptions.cpp b/src/PDFOptions.cpp index 436e8f2e19..af36cf16a5 100644 --- a/src/PDFOptions.cpp +++ b/src/PDFOptions.cpp @@ -102,7 +102,7 @@ void PDFOptions::writeLaTeX(OutputParams & runparams, otexstream & os, // only use the hyperref settings if hyperref is enabled by the user // see bug #7052 - if(use_hyperref) { + if (use_hyperref) { // try to extract author and title from document when none is // explicitly given if (pdfusetitle && title.empty() && author.empty()) @@ -141,7 +141,6 @@ void PDFOptions::writeLaTeX(OutputParams & runparams, otexstream & os, hyperset += quoted_options; } hyperset = rtrim(hyperset,","); - } // check if the hyperref settings use an encoding that exceeds @@ -179,10 +178,14 @@ void PDFOptions::writeLaTeX(OutputParams & runparams, otexstream & os, os << "\\inputencoding{utf8}\n" << setEncoding("UTF-8"); } - // FIXME: handle the case that hyperref is loaded by the document class and - // hyperset is empty, see bug #7048 - if (!(hyperref_already_provided && hyperset.empty())) - os << from_utf8(opt); + // If hyperref is loaded by the document class, we output + // \hypersetup \AtBeginDocument, since the class might + // load hyperref late, see bug #7048. + if (hyperref_already_provided && !opt.empty()) + os << "\\AtBeginDocument{%\n"; + os << from_utf8(opt); + if (hyperref_already_provided && !opt.empty()) + os << "}"; if (need_unicode && enc && enc->iconvName() != "UTF-8" &&!runparams.isFullUnicode()) {