當「apt」安裝其他一些 texlive-* 時,「texdoc」失敗

當「apt」安裝其他一些 texlive-* 時,「texdoc」失敗

我已經在 Ubuntu 20.04 中正確安裝了“texlive2020-20200406.iso”中的 TexLive,並且我已經用它來編寫報告一段時間了。最近,我透過終端命令找到了一些軟體包apt search texlive並安裝了其中一些。從那時起,該命令texdoc將無法再搜尋文件。我確信該命令以前運行良好。

範例:該命令texdoc beamer之前打開“beameruserguide.pdf”,但現在它在另一個路徑中打開一個投影機範例。

似乎透過apt覆蓋從“iso”文件安裝的軟體包的路徑來安裝軟體包。

apt list --installed | grep texlive給出以下列表:

texlive-base/focal,focal,now 2019.20200218-1 all [installed,automatic]
texlive-binaries/focal,now 2019.20190605.51237-3build2 amd64 [installed,automatic]
texlive-font-utils/focal,focal,now 2019.202000218-1 all [installed,automatic]
texlive-fonts-extra-links/focal,focal,now 2019.202000218-1 all [installed,automatic]
texlive-fonts-extra/focal,focal,now 2019.202000218-1 all [installed]
texlive-fonts-recommended/focal,focal,now 2019.20200218-1 all [installed,automatic]
texlive-lang-chinese/focal,focal,now 2019.20200218-1 all [installed]
texlive-lang-cjk/focal,focal,now 2019.20200218-1 all [installed,automatic]
texlive-lang-japanese/focal,focal,now 2019.20200218-1 all [installed,automatic]
texlive-lang-korean/focal,focal,now 2019.20200218-1 all [installed,automatic]
texlive-lang-other/focal,focal,now 2019.20200218-1 all [installed,automatic]
texlive-latex-base/focal,focal,now 2019.20200218-1 all [installed,automatic]
texlive-latex-extra/focal,focal,now 2019.202000218-1 all [installed,automatic]
texlive-latex-recommended/focal,focal,now 2019.20200218-1 all [installed,automatic]
texlive-pictures/focal,focal,now 2019.20200218-1 all [installed,automatic]
texlive-plain-generic/focal,focal,now 2019.202000218-1 all [installed,automatic]

如果您能幫我解決這個問題,我將非常感激。


新增:路徑透過編輯“~/.bashrc”設定如下(從“.iso”安裝後)

export MANPATH=${MANPATH}:/usr/local/texlive/2020/texmf-dist/doc/man
export INFOPATH=${INFOPATH}:/usr/local/texlive/2020/texmf-dist/doc/info
export PATH=${PATH}:/usr/local/texlive/2020/bin/x86_64-linux

新增:命令which texdocecho $PATH輸出:

# which texdoc
/usr/bin/texdoc

我換行以便於閱讀

# echo $PATH
/home/xiaocy/.local/bin:
/usr/local/sbin:
/usr/local/bin:
/usr/sbin:/usr/bin:
/sbin:
/bin:
/usr/games:
/usr/local/games:
/snap/bin:
/usr/local/texlive/2020/bin/x86_64-linux:
/usr/local/texlive/2020/bin/x86_64-linux:
/usr/local/texlive/2020/bin/x86_64-linux

結論

該問題是由路徑覆蓋引起的。修改~/.bashrc如下~/.profile即可解決此問題。

export MANPATH=/usr/local/texlive/2020/texmf-dist/doc/man:${MANPATH}
export INFOPATH=/usr/local/texlive/2020/texmf-dist/doc/info:${INFOPATH}
export PATH=/usr/local/texlive/2020/bin/x86_64-linux:${PATH}

我不知道我自己下這個結論是否可以。結論是在@daleif的幫助下得出的(見評論)。非常感謝!

答案1

這是一個常見的錯誤。首先,作業系統從左到右搜尋 PATH。 (這裡路徑用冒號分隔)。然後,它將每個路徑片段附加到函數呼叫中,直到找到第一個路徑片段。這裡有兩個 Latex 安裝,一個是 apt,另一個是透過 ISO 的 TL2020。由於 apt 安裝以透過 找到的方式新增 texlive 內容/usr/bin/,因此我們必須將 TL2020 部分設定為前面的路徑/usr/bin/。標準方法是確保前置TL2020 路徑。

因此使用

export MANPATH=/usr/local/texlive/2020/texmf-dist/doc/man:${MANPATH}
export INFOPATH=/usr/local/texlive/2020/texmf-dist/doc/info:${INFOPATH}
export PATH=/usr/local/texlive/2020/bin/x86_64-linux:${PATH}

不是

export MANPATH=${MANPATH}:/usr/local/texlive/2020/texmf-dist/doc/man
export INFOPATH=${INFOPATH}:/usr/local/texlive/2020/texmf-dist/doc/info
export PATH=${PATH}:/usr/local/texlive/2020/bin/x86_64-linux

此外,請確保也將其新增至.profile(您需要登出並再次登入才能.profile使編輯生效)。這是因為任何透過選單或雙擊檔案啟動的編輯器都不會看到任何與 Bash 相關的內容,因此也不會看到變更。

相關內容