
我剛剛嘗試過pdfcrop
,但結果出現一條錯誤訊息,告訴我fmtutil.cnf
找不到該文件。
完整的錯誤訊息是:
pdfcrop testfile.pdf
PDFCROP 1.38, 2012/11/02 - Copyright (c) 2002-2012 by Heiko Oberdiek.
kpathsea: Running mktexfmt pdftex.fmt
/usr/local/bin/mktexfmt: 395: /usr/local/bin/mktexfmt: /texconfig/tcfmgr: not found
fmtutil: config file `fmtutil.cnf' not found.
!!! Error: pdfTeX run failed with value 1!
locate fmtutil.cnf
結果是:
/usr/local/share/man/man5/fmtutil.cnf.5
/usr/local/share/man/man5/fmtutil.cnf.man5.pdf
/usr/local/texlive/2013/texmf-dist/doc/man/man5/fmtutil.cnf.5
/usr/local/texlive/2013/texmf-dist/doc/man/man5/fmtutil.cnf.man5.pdf
/usr/local/texlive/2013/texmf-dist/web2c/fmtutil.cnf
/usr/local/texlive/2013/texmf-var/web2c/fmtutil.cnf
/var/lib/texmf/web2c/fmtutil.cnf
我在 ubuntu 13.10 上使用 texlive(手動安裝):
tlmgr --version
tlmgr revision 31673 (2013-09-16 18:03:22 +0200)
tlmgr using installation: /usr/local/texlive/2013
TeX Live (http://tug.org/texlive) version 2013
知道如何解決這個問題嗎?
echo $PATH
給出這個:
/opt/texlive/2009/bin/x86_64-linux:/home/myuser/bin/aliases:/home/myuser/bin:/bin:/usr/bin:/usr/local/bin:/usr/bin/X11:/usr/games:/var/lib/gems/1.8/bin
which pdfcrop
給出/usr/local/bin/pdfcrop
和
ls -l $(which pdfcrop)
lrwxrwxrwx 1 root root 48 Jan 1 16:03 /usr/local/bin/pdfcrop -> /usr/local/texlive/2013/bin/x86_64-linux/pdfcrop
kpsewhich pdfcrop
結果一無所獲。
答案1
您沒有正確的 PATH 變數值:
/opt/texlive/2009/bin/x86_64-linux:/home/myuser/bin/aliases:/home/myuser/bin:/bin:/usr/bin:/usr/local/bin:/usr/bin/X11:/usr/games:/var/lib/gems/1.8/bin
指向 TeX Live 的舊版本,但沒有新版本的痕跡。這很可能會讓系統感到困惑。將其更改為
/usr/local/texlive/2013/bin/x86_64-linux:/home/myuser/bin/aliases:/home/myuser/bin:/bin:/usr/bin:/usr/local/bin:/usr/bin/X11:/usr/games:/var/lib/gems/1.8/bin
如果您有 TeX Live 二進位檔案的符號鏈接/usr/local/bin
,請刪除它們:它們不會做任何好事,甚至可能做壞事。當然,這是見仁見智的問題,所以照你認為最好的去做。
我通常建議添加一個/etc/paths.d
包含唯一行的文件
/opt/texbin
並創建一個符號鏈接
ln -s /usr/local/texlive/2013/bin/x86_64-linux /opt/texbin
這樣當新版本發布時(例如 2014 年的版本),您只需要做
rm /opt/texbin
ln -s /usr/local/texlive/2014/bin/x86_64-linux /opt/texbin
(當然,具有適當的權限)並且您不必擔心更改設定檔或執行任何登入/登出過程。