
Ich hatte TexLive von „texlive2020-20200406.iso“ korrekt in Ubuntu 20.04 installiert und es eine Zeit lang zum Schreiben von Berichten verwendet. Vor Kurzem habe ich über einen Terminalbefehl einige Pakete gefunden apt search texlive
und einige davon installiert. Von da an texdoc
kann der Befehl nicht mehr nach Dokumenten suchen. Ich bin sicher, dass der Befehl vorher gut funktioniert hat.
Beispiel: Der Befehl texdoc beamer
hat zuvor „beameruserguide.pdf“ geöffnet, jetzt öffnet er jedoch ein Beamer-Beispiel in einem anderen Pfad.
Es scheint, dass die über die ISO-Datei installierten Pakete apt
den Pfad der aus der ISO-Datei installierten Pakete überschreiben.
apt list --installed | grep texlive
gibt die Liste unten an:
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]
Ich bin sehr dankbar, wenn Sie mir bei der Lösung dieses Problems helfen können.
Ergänzung: Der Pfad wird durch Bearbeiten von „~/.bashrc“ wie unten angegeben festgelegt (nach der Installation von „.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
Ergänzung: Befehl which texdoc
und echo $PATH
Ausgaben:
# which texdoc
/usr/bin/texdoc
(Ich umbreche Zeilen zum leichteren Lesen)
# 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
Abschluss
Das Problem wird durch die Pfadüberschreibung verursacht. Das Problem kann durch die folgenden Änderungen ~/.bashrc
behoben ~/.profile
werden.
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}
Ich weiß nicht, ob ich diese Schlussfolgerung selbst ziehen darf. Die Schlussfolgerung wurde mit Hilfe von @daleif gezogen (siehe Kommentare). Vielen Dank!
Antwort1
Dies ist ein häufiger Fehler. Zunächst durchsuchen Betriebssysteme den PATH von links nach rechts. (Hier wird der Pfad durch Doppelpunkte getrennt). Dann hängt es jedes Pfadstück an einen Funktionsaufruf an, bis das erste gefunden wird. Hier haben Sie zwei Latex-Installationen, die apt-Installation und eine TL2020 über ISO. Da die apt-Installation Texlive-Sachen so hinzufügt, dass sie über gefunden werden /usr/bin/
, müssen wir dafür sorgen, dass der TL2020-Teil des Pfads vor kommt /usr/bin/
. Die Standardmethode besteht darin, sicherzustellen, dassvoranstellender TL2020-Pfad.
Verwenden Sie daher
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}
nicht
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
Stellen Sie außerdem sicher, dass Sie dies auch hinzufügen .profile
(Sie müssen sich ab- und wieder anmelden, damit eine .profile
Bearbeitung wirksam wird). Dies liegt daran, dass ein Editor, der über ein Menü oder durch Doppelklicken auf eine Datei gestartet wird, nie etwas mit Bash zu tun hat und daher die Änderung nie sieht.