链接到独立 PDF 文件中的章节/标签

链接到独立 PDF 文件中的章节/标签

我有一个包含部分/标签的 LaTeX 文档,我想从 SVG 图像创建指向这些部分的链接。此 SVG 文件是在 Inkscape 中创建的,并导出为 PDF,我对导出选项“忽略 PDF 中的文本并创建 LaTeX 文件”不满意(因为结果必须作为图形包含,而不是作为背景或独立页面,而且我还想保留 SVG 中的字体)。

使用 LuaLaTeX 和新人,我能够包含 PDF(\includepdf[pages=-]{svg.pdf})。如果我创建了URL 链接在 SVG(导出为svg.pdf)中,LuaLaTeX 编译的 pdf 将包含这些可点击的 URL 链接。这些链接都很好。

但是我如何才能从 SVG 中引用文档中的部分/标签(或者我可以吗?),也就是说,从我的图像中创建内部可点击链接?是否有可以在 Inkscape 中使用的命名方案href:?我尝试在 Inkscape 中使用#my-latex-label,但没有创建链接,甚至没有突出显示框。独立版本也是如此svg.pdf

答案1

我尝试使用带有内部链接的简单 svg:

 <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"  version="1.1" 
 width="100%" height="100%">
     <a xlink:href="#target">
       <text x="10" y="25">Zoom in on shape below</text>
     </a>
   
     <view id="target" viewBox="600 600 50 50"/>
     <rect x="600" y="600" width="50" height="50"/>
   </svg>

当我使用 inkscape 1.3.2 将其导出为 PDF 并解压缩该 PDF 时,有一个链接,但它有一个 URI 操作而不是所需的 GoTo 操作(目标也丢失了,但如果您想链接到 PDF 中的其他位置,这与您无关):

/A << /S /URI /Type /Action /URI (#target) >>

这意味着如果将 newpax 应用于 PDF,您会在 newpax 文件中得到以下内容:

\[{annot}{1}{Link}{7 91.5 111 101.5}{URI}{
  BS={<</W 0>>},
  URI={(#target)},
}\\

但对于内部链接,你需要这样的东西

\[{annot}{1}{Link}{7 91.5 111 101.5}{GoTo}{
  DestLabel={1},
  DestName={target},
}\\

理论上可以对 newpax 文件进行后期处理,例如替换所有以 GoTo 开头的 URI 条目,但如果 inkscape 能够改进其 PDF 导出并从此类内部目标创建 GoTo 链接(并且如果有.,也添加目的地),#那就更好了。id

相关内容