![如何强制 MikTeX 的 texdoc 使用 PDF 阅读器而不是 DVI 查看器打开包手册?](https://linux22.com/image/249318/%E5%A6%82%E4%BD%95%E5%BC%BA%E5%88%B6%20MikTeX%20%E7%9A%84%20texdoc%20%E4%BD%BF%E7%94%A8%20PDF%20%E9%98%85%E8%AF%BB%E5%99%A8%E8%80%8C%E4%B8%8D%E6%98%AF%20DVI%20%E6%9F%A5%E7%9C%8B%E5%99%A8%E6%89%93%E5%BC%80%E5%8C%85%E6%89%8B%E5%86%8C%EF%BC%9F.png)
我在安装了 MikTeX 的机器上工作。当我想打开某个软件包手册时,我会输入texdoc packagename
。但是,我不想用 Yap(MiKTeX 中的 DVI 查看器)打开它。已安装 Acrobat Reader。
如何强制 MikTeXtexdoc
使用 Acrobat Reader 而不是 Yap 打开包装手册?
请注意,使用 TeXLive 时我从未发现过这个问题。
答案1
在我的 PC 上,安装了 miktex 2.9. texdoc packagename
(或别名mthelp packagename
)通常会在浏览器中打开一个网页,其中列出属于该包文档的各种文件的列表。
texdoc --view packagename
尝试打开“主”文档文件。如果此文件是,pdf
则在 pdf 查看器中打开,如果是dvi
dvi 查看器,则使用 YAP。在相当多的旧软件包中,还没有pdf
,文档仅存在,因此dvi
无法强制 texdocdvi
在 pdf 查看器中打开此类。
您可以执行以下操作:如果您发现某个包中的 miktex 文档仍然是dvi
-格式,并且 CTAN 上存在一个pdf
版本,则请在 miktex 跟踪器上发出功能请求,以更新 miktex 包。
答案2
据消息来源称,mthelp/texdoc 默认按以下顺序查找文档文件:.chm;.html;.dvi;.pdf;.ps;.txt
。因此,如果它找到 DVI 文件,则会优先选择它而不是 PDF 版本。
可以通过添加注册表项HKEY_CURRENT_USER\Software\MiKTeX.org\MiKTeX\2.9\mthelp\DocExtensions
并为其分配所需的格式序列来覆盖配置,例如.chm;.html;.pdf;.dvi;.ps;.txt
。现在,如果可用,PDF 文档应该优先于 DVI。
reg
可以使用命令行上的命令轻松添加/更改注册表项:
reg add HKCU\Software\MiKTeX.org\MiKTeX\2.9\mthelp /v DocExtensions /d ".chm;.html;.p
df;.dvi;.ps;.txt"
正如 Speravir 在下面的评论中指出的那样,文本文档可执行文件(只是帮助中心)寻找文档扩展注册表项中的条目HKEY_CURRENT_USER\Software\MiKTeX.org\MiKTeX\2.9\texdoc
,并且不使用帮助中心设置。因此,可以为这两个实用程序定义不同的查找序列。为了分配值,reg.exe
必须将上面的调用更改为
reg add HKCU\Software\MiKTeX.org\MiKTeX\2.9\texdoc /v DocExtensions /d ".chm;.html;.p
df;.dvi;.ps;.txt"
答案3
除了其他答案之外:TeXlive 中许多文档是 PDF 格式,而 MiKTeX 中则包含 DVI 格式。据我所知,PDF 格式的文档仅在软件包更新时添加,但前提是软件包作者自己提供。在编写本文时,我的 MIKTeX 安装中最新的 DVI 文件的silence-doc.dvi
文件日期为 2012 年 2 月 1 日,软件包silence
v1.4 的版本是 2011/12/06。
您始终可以自己做的是将 DVI 文件转换为 PDF:dvipdfmx <filename>
在大多数情况下应该有效,有时您必须dvips <filename>
在第二步中执行此操作ps2pdf <filename>
。然后将这些 PDF 文件保存在本地 TeXMF 树中,并结合 Martin 的回答,您应该会得到想要的行为。