请查看以下 MWE。它包含我使用过的所有包以及 2 个包含的页面和 2 个书签。如果我使用以下代码编译路拉泰克斯它在最终生成的 PDF 文件中为我提供了书签。但是,当我使用赛莱特它给我带来了问题。
在日志文件中它说:-
包书签警告:'FitV' 缺少参数(底部),(书签)在输入行 x 上使用 0。
以上警告信息会出现在每个 \bookmark[view={FitV},dest=bookmark_208.1,level=0]... 下面的声明。 我是否遗漏了任何与视图相关的参数,如果使用则必须添加‘xelatex’?
我切换到 xelatex 是因为我正在生成多个超过 40k 页的文档,而 lualatex 的容量超过了这个数字......在这种情况下 xelatex 不知何故发挥了作用。
\documentclass[10pt,a4paper,hidelinks,table]{memoir}%
\usepackage[T1]{fontenc}%
\usepackage[utf8]{inputenc}%
\usepackage{lmodern}%
\usepackage{textcomp}%
\usepackage{lastpage}%
%
\usepackage{pdfpages}%
\usepackage{fancyhdr}%
\usepackage{geometry}%
\geometry{a4paper,inner=12mm,outer=12mm,top=12.5mm,bottom=9mm,footskip=6mm}%
\pagestyle{fancy}%
\fancyhead{}%
\usepackage{hyperref}%
\hypersetup{pdfstartview={FitV}}%
\hypersetup{pdfremotestartview={FitV}}%
\hypersetup{pdfview={FitV}}%
\hypersetup{bookmarksopen=true}%
\hypersetup{bookmarksopenlevel=2}%
\usepackage[open,openlevel=2]{bookmark}%
\bookmarksetup{view=FitV}%
%
\begin{document}%
\normalsize%
\fancyhf{}%
\renewcommand{\headrulewidth}{0pt}%
\includepdf[pages=-,scale=.95,link=true,linkname=bookmark_208,linkfit=FitV,pagecommand={}]{/path/to/page/000001.pdf}%
\includepdf[pages=-,scale=.95,link=true,linkname=bookmark_209,linkfit=FitV,pagecommand={}]{/path/to/page/000002.pdf}%
\bookmark[view={FitV},dest=bookmark_208.1,level=0]{Cover Sheet}%
\bookmark[view={FitV},dest=bookmark_209.1,level=0]{Cover Sheet}%
\end{document}
答案1
正如警告所述,FitV 选项需要一个参数,但如果未提供该参数,bookmark/hyperref 将使用零。但这与缺少的书签无关:您在最后一页之后发出 \bookmark 命令,但使用 xelatex 时必须在实际创建的页面上。因此将它们移到 \includepdf 之前:
\documentclass[10pt,a4paper,hidelinks,table]{memoir}%
\usepackage{pdfpages}
\usepackage[open,openlevel=2,atend]{bookmark}
\bookmarksetup{view=FitV 0}%
\hypersetup{pdfstartview={FitV 0}}%
\hypersetup{pdfremotestartview={FitV 0}}%
\hypersetup{pdfview={FitV 0}}%
\hypersetup{bookmarksopen=true}%
\hypersetup{bookmarksopenlevel=2}%
\begin{document}%
\bookmark[view={FitV 0},dest=bookmark_208.1,level=0]{Cover Sheet}
\includepdf[pages=-,scale=.95,link=true,linkname=bookmark_208,linkfit=FitV 0,pagecommand={}]{example-image-a}%
\end{document}