我有一个包含部分/标签的 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