如何让 texdoc(1) 识别其配置文件而不是环境变量?

如何让 texdoc(1) 识别其配置文件而不是环境变量?

我在 Debian GNU/Linux 上使用 TeX Live 2018。该texdoc(1)命令的配置文件是:

$ texdoc --files
/opt/tug/texlive/2018/texmf-dist/scripts/texdoc/texdoclib.tlu 3.0
Configuration files are:
    active  ~/opt/tug/texlive/texdoc/texdoc.cnf
    active  /opt/tug/texlive/2018/texmf-dist/texdoc/texdoc.cnf
Recommended file(s) for personal settings:
    ~/opt/tug/texlive/texdoc/texdoc.cnf

个人配置文件的内容~/opt/tug/texlive/texdoc/texdoc.cnf为:

$ cat ~/opt/tug/texlive/texdoc/texdoc.cnf 
viewer_pdf = (nohup ${PDFVIEWER:-xpdf} %s) 2> /dev/null &
$ echo $PDFVIEWER
mupdf

我预计 texdoc(1) 命令将打开如下 PDF 文件:

(nohup mupdf /opt/tug/texlive/2018/texmf-dist/doc/support/texdoc/texdoc.pdf) 2> /dev/null &

但是,当我设置环境变量时$PDFVIEWER,texdoc(1) 命令会使用它,并忽略个人配置文件。

$ texdoc --debug=config texdoc
texdoc debug-version: /opt/tug/texlive/2018/texmf-dist/scripts/texdoc/texdoclib.tlu version 3.0
texdoc debug-config: Setting 'debug_list=config' from command line option "--debug".
texdoc debug-config: Setting 'viewer_pdf=mupdf' from environment variable "PDFVIEWER".
[...]
texdoc debug-config: Ignoring 'viewer_pdf=(nohup ${PDFVIEWER:-xpdf} %s) 2> /dev/null &' in file "~/opt/tug/texlive/texdoc/texdoc.cnf" on line 1.
[...]
texdoc info: View command: mupdf "/opt/tug/texlive/2018/texmf-dist/doc/support/texdoc/texdoc.pdf"

我如何让命令识别其个人配置文件中texdoc(1)的值而不是环境变量?viewer_pdf$PDFVIEWER

答案1

您可以设置环境变量“PDFVIEWER_texdoc”;如果我这样做

> export PDFVIEWER=mupdf-gl
> export PDFVIEWER_texdoc='(nohup ${PDFVIEWER:-xpdf} %s) 2> /dev/null &'
> texdoc texdoc

然后使用 打开文档文件mupdf-gl(抱歉,我没有mupdf)。如果我取消设置PDFVIEWER,则使用 打开文件xpdf

相关内容