使用 LaTex Workshop 时,VSCode 中由于 *.pfb 文件为空而导致 pdflatex 错误

使用 LaTex Workshop 时,VSCode 中由于 *.pfb 文件为空而导致 pdflatex 错误

我正在与jupyter 笔记本将文件vscode导出到。这很有效,但我对生成的输出不满意。所以我决定创建一个文件,将其格式化为我独特的格式。*.ipynb*.pdf*.tex

我用

$ code --version
1.82.2
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 12 (bookworm)
Release:    12
Codename:   bookworm

和 Visual Studio Code LaTeX Workshop 扩展,版本 v9.13.4

$ jupyter-nbconvert --to latex pdf_test.ipynb

我得到pdf_test.tex并可以删除不必要的东西。之后我运行

$ latexmk -f pdf_test.tex

从而产生暂时的 pdf_test.pdfvscode安装LaTex Workshop扩展程序后,我可以通过单击查看查看 LaTex PDF->在 VSCode 选项卡中查看使用所需的格式。

从这一步开始,我想通过点击来构建一个 PDF 文件vscode 构建 LaTex 项目,但这会失败。如果我查看 LaTex 编译器日志,我会得到提示

Package rerunfilecheck Warning: File `pdf_test.out' has changed. 
(rerunfilecheck)                Rerun to get outlines right
(rerunfilecheck)                or use package `bookmark'.

){/usr/share/texmf/fonts/enc/dvips/cm-super/cm-super-t1.enc} 
</usr/share/texmf/fonts/type1/public/cm-super/sfrm1095.pfb
!pdfTeX error: pdflatex (file /usr/share/texmf/fonts/type1/public/cm-super/sfrm1095.pfb): unexpected end of file
==> Fatal error occurred, no output PDF file produced!

然后pdf_test.pdf就消失了。所以我尝试了

$ pdflatex pdf_test.tex 

以类似的信息结尾

(/usr/share/texlive/texmf-dist/tex/latex/greek-fontenc/puenc-greek.def
(/usr/share/texlive/texmf-dist/tex/latex/greek-fontenc/greek-fontenc.def))
(/usr/share/texlive/texmf-dist/tex/latex/greek-fontenc/alphabeta-lgr.def)
(./pdf_test.out) (./pdf_test.out)
(/usr/share/texlive/texmf-dist/tex/latex/base/t1cmtt.fd)
(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd)
(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd)
(/usr/share/texlive/texmf-dist/tex/latex/jknapltx/ursfs.fd) [1{/var/lib/texmf/f
onts/map/pdftex/updmap/pdftex.map}] (./pdf_test.aux) ){/usr/share/texmf/fonts/e
nc/dvips/cm-super/cm-super-t1.enc}</usr/share/texmf/fonts/type1/public/cm-super
/sfrm1095.pfb
!pdfTeX error: pdflatex (file /usr/share/texmf/fonts/type1/public/cm-super/sfrm
1095.pfb): unexpected end of file

sfrm1095.pfb当我看到/usr/share/texmf/fonts/type1/public/cm-super

$ ls -l sfrm1095.pfb 
-rw-r--r-- 1 root root 0  5. Nov 2021  sfrm1095.pfb

我看到一个空文件,就像之前写的错误信息一样。

如果我检查,pdftex.map我会发现

$ pwd && ls -l && grep 'sfrm1095.pfb' pdftex_dl14.map
/var/lib/texmf/fonts/map/pdftex/updmap
insgesamt 9040
-rw-r--r-- 1 root root 4623455  9. Sep 16:46 pdftex_dl14.map
lrwxrwxrwx 1 root root      15  9. Sep 16:46 pdftex.map -> pdftex_dl14.map
-rw-r--r-- 1 root root 4621790  9. Sep 16:46 pdftex_ndl14.map
ecrm1095 SFRM1095 " T1Encoding ReEncodeFont " <cm-super-t1.enc <sfrm1095.pfb
larm1095 SFRM1095 " T2AEncoding ReEncodeFont " <cm-super-t2a.enc <sfrm1095.pfb
lbrm1095 SFRM1095 " T2BEncoding ReEncodeFont " <cm-super-t2b.enc <sfrm1095.pfb
lcrm1095 SFRM1095 " T2CEncoding ReEncodeFont " <cm-super-t2c.enc <sfrm1095.pfb
tcrm1095 SFRM1095 " TS1Encoding ReEncodeFont " <cm-super-ts1.enc <sfrm1095.pfb
rxrm1095 SFRM1095 " X2Encoding ReEncodeFont " <cm-super-x2.enc <sfrm1095.pfb

如果我跑

$ cp pdf_test.pdf pdf_test_2.pdf

在我构建之前vscodepdf_test_2.pdf重新测试并且能够在任何查看器中看到它。

但是,使用pdftex会给我一个混乱的pdf文件。

任何有关如何从终端或vscode以适当方式进行构建的提示都值得赞赏。

答案1

作为乌尔丽克·菲舍尔说明,重新安装 cm-super 包

$ sudo aptitude reinstall cm-super

解决了问题。

现在sfrm1095.pfb不再是空的,并且所有其他文件/usr/share/texmf/fonts/type1/public/cm-super也都已在内。

$ pwd && ls -l sfrm1095.pfb
/usr/share/texmf/fonts/type1/public/cm-super
-rw-r--r-- 1 root root 145929 19. Sep 06:11 sfrm1095.pfb

相关内容