使用 platex + dvipdfmx 创建可以从外部 pdf 打开的超目标

使用 platex + dvipdfmx 创建可以从外部 pdf 打开的超目标

以下链接Hyperref 到将在特定标签处打开的外部 PDF为链接单个 pdf 提供了很好的答案。但是它似乎不适用于主要用于日语文档的带有 dvipdfmx 的 platex。有没有办法用引擎创建超目标,或者有必要使用与日语不兼容的 pdflatex?

答案1

您面临的问题是 dvipdfmx 的默认设置。默认情况下,PDF 目标经过优化,因此无法从其他文件访问它们。如果您禁用优化,则超目标可以正常工作。

参考 dvipdfmx.cfg($TEXMFDIST/dvipdfmx/dvipdfmx.cfg)

%% Dvipdfmx Compatibility Flags
%%
%%   0x0002  Use semi-transparent filling for tpic shading command,
%%           instead of opaque gray color. (requires PDF 1.4)
%%   0x0004  Treat all CIDFont as fixed-pitch font.
%%           This is only for backward compatibility. Don't use that.
%%   0x0008  Do not replace duplicate fontmap entries.
%%           Dvipdfm's (not 'x') behaviour.
%%   0x0010  Do not optimize PDF destinations. Use this if you want to
%%           refer from other files to destinations in the current file.

%C  0x0000

因此,您应该按如下方式调用 dvipdfmx,以禁用目标引用的文件:

dvipdfmx -C 0x0010 fileA

或者,如果你使用的是 TeX Live 2016 或更高版本,只需添加

\special{dvipdfmx:config C 0x0010}

对 fileA.tex 具有相同的效果。

相关内容