'texdoc' falla cuando 'apt' instala algún otro texlive-*

'texdoc' falla cuando 'apt' instala algún otro texlive-*

Instalé TexLive desde 'texlive2020-20200406.iso' correctamente en Ubuntu 20.04 y lo usé para escribir informes por un tiempo. Recientemente, encontré algunos paquetes a través del comando de terminal apt search texlivee instalé algunos de ellos. A partir de ese momento, el comando texdocya no podrá buscar documentos. Estoy seguro de que el comando funcionó bien anteriormente.

Ejemplo: el comando texdoc beamerabría 'beameruserguide.pdf' antes, pero ahora abre una muestra de proyector en otra ruta.

Parece que los paquetes instalados aptanulan la ruta de los instalados desde el archivo 'iso`.

apt list --installed | grep texliveda la lista a continuación:

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]

Estoy muy agradecido si me pueden ayudar a resolver este problema.


Además: la ruta se establece editando '~/.bashrc' como se muestra a continuación (después de la instalación desde '.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

Adición: Comando which texdocy echo $PATHsalidas:

# which texdoc
/usr/bin/texdoc

(Envuelvo líneas para facilitar la lectura.)

# 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

Conclusión

El problema se debe a la anulación de la ruta. Modifique ~/.bashrcy ~/.profilecomo se muestra a continuación puede resolver este problema.

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}

No sé si yo mismo puedo llegar a esta conclusión. La conclusión se saca con la ayuda de @daleif (ver comentarios). ¡Muchas gracias!

Respuesta1

Este es un error común. En primer lugar, los sistemas operativos buscan la RUTA de izquierda a derecha. (Aquí la ruta está separada por dos puntos). Luego agrega cada fragmento de ruta a una llamada de función hasta que se encuentra la primera. Aquí tenéis dos instalación de látex la apt y una TL2020 vía ISO. Dado que la instalación de apt agrega elementos texlive de tal manera que se encuentran a través de /usr/bin/, debemos hacer que TL2020 sea parte de la ruta antes /usr/bin/. El método estándar es asegurarse deanteponerel camino TL2020.

Por lo tanto, use

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}

no

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

Además, asegúrese de agregar esto también .profile(deberá cerrar sesión y volver a iniciarla para que la .profileedición tenga algún efecto). Esto se debe a que cualquier editor iniciado a través de un menú o haciendo doble clic en un archivo nunca ve nada relacionado con Bash y, por lo tanto, nunca ve el cambio.

información relacionada