![任务包中断超链接](https://linux22.com/image/412034/%E4%BB%BB%E5%8A%A1%E5%8C%85%E4%B8%AD%E6%96%AD%E8%B6%85%E9%93%BE%E6%8E%A5.png)
我正在写一本学生书,我使用了任务包。
使用 Pdflatex 进行编译效果很好,但使用 latex+dvips+ps2pdf 进行编译会破坏目录和章节之间的链接,而且书签也不起作用。
pdf 文件可以与 Sumatrapdf 或 firefoxplugin 一起正常工作,但无法与 Adobe Acrobat Reader DC(版本 2020.006.20042)一起使用
这是一个最小的例子:
\documentclass{article}
\usepackage{tasks}
\usepackage{hyperref}
\begin{document}
\tableofcontents
\newpage
\section{One section}
Some text
\begin{tasks}(2)
\task First Task
\task Seconde Task
\end{tasks}
\end{document}
您可以下载 pdf 文件这里
有人知道发生了什么事吗?
我在 Windows 8 上使用 Miktex 2.9.7364 和 GPL Ghostscript 9.27。
答案1
Adobe Reader 就在这里:pdf 中有一个语法错误。tasks 包为 hyperref 定义了一个计数器表示,其中包含结束的)
,并且在 dvips 路由上它没有被正确转义(这样的括号在 pdf 中是一个特殊字符)。
你可以这样解决这个问题:
\documentclass{article}
\usepackage{tasks}
\usepackage{hyperref}
\ExplSyntaxOn
\AtBeginDocument{\renewcommand\theHtask{\int_use:N \g__tasks_env_int . \number\value{\l__tasks_counter_tl}}}
\ExplSyntaxOff
\begin{document}
\tableofcontents
\newpage
\section{One section}
Some text
\begin{tasks}(2)
\task First Task
\task Seconde Task
\end{tasks}
\end{document}