'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

이것은 일반적인 실수입니다. 우선, OS는 PATH를 왼쪽에서 오른쪽으로 검색합니다. (여기서 경로는 콜론으로 구분됩니다.) 그런 다음 첫 번째 경로 조각을 찾을 때까지 각 경로 조각을 함수 호출에 추가합니다. 여기에는 적절한 라텍스와 ISO를 통한 TL2020이라는 두 개의 라텍스 설치가 있습니다. 적절한 설치는 를 통해 발견되는 방식으로 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와 관련된 내용을 전혀 볼 수 없으므로 변경 사항도 볼 수 없기 때문입니다.

관련 정보