最近,我从使用 MiKTeX 改为使用 TeX Live,以便更轻松地在网络中的 PC 之间共享设置。大多数设置都运行良好,但在尝试迁移设置时,dvipdfmx
我遇到了一些奇怪的图像缓存问题。
我I 120
在文件中有一个指令,dvipdfmx.cfg
用于保存 GhostScript 从 eps 文件生成的 pdf。这曾经工作正常,现在在大多数情况下仍然工作正常,但有些图像似乎会导致构建失败。这会导致在日志中xelatex
报告Error -1073741819 (driver return code) generating output;
(在第二次和后续运行中,当使用缓存时)。
xelatex
通过先运行生成dvi
文件,然后手动创建 pdf,缩小范围后dvipdfmx
,我发现dvipdfmx
似乎崩溃了,但只在一小部分路径上。我还没有找到哪些路径似乎崩溃的明确原因。
平均能量损失
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\includegraphics{test_test}
\end{document}
似乎也失败了的路径:
C:/Users/<User>/Documents/test_test
我尝试过的与缓存配合良好的路径:
- 相对路径
test
,test__
,test___
,test_test_test
C:/LaTeX/test_test
C:/Users/<User>/Documents/test
C:/Users/<User>/Documents/testtesttest
C:/Windows/some_really_really_really_really_really_really_really_really_long_file_name
输出
xelatex tex > dvi:
>> xelatex -no-pdf "simple".tex
This is XeTeX, Version 3.141592653-2.6-0.999994 (TeX Live 2022) (preloaded format=xelatex)
restricted \write18 enabled.
entering extended mode
(./simple.tex
LaTeX2e <2021-11-15> patch level 1
L3 programming layer <2022-05-04>
(//servername/latex/texlive/2022/texmf-dist/tex/latex/base/article.cls
Document Class: article 2021/10/04 v1.4n Standard LaTeX document class
(//servername/latex/texlive/2022/texmf-dist/tex/latex/base/size10.clo))
(//servername/latex/texlive/2022/texmf-dist/tex/latex/graphics/graphicx.sty
(//servername/latex/texlive/2022/texmf-dist/tex/latex/graphics/keyval.sty)
(//servername/latex/texlive/2022/texmf-dist/tex/latex/graphics/graphics.sty
(//servername/latex/texlive/2022/texmf-dist/tex/latex/graphics/trig.sty)
(//servername/latex/texlive/2022/texmf-dist/tex/latex/graphics-cfg/graphics.cfg)
(//servername/latex/texlive/2022/texmf-dist/tex/latex/graphics-def/xetex.def)))
(//servername/latex/texlive/2022/texmf-dist/tex/latex/l3backend/l3backend-xetex.d
ef) (./simple.aux)
(//servername/latex/texlive/2022/texmf-dist/tex/latex/base/ts1cmr.fd)
Overfull \hbox (185.92749pt too wide) in paragraph at lines 7--8
[][]
[1] (./simple.aux) )
(see the transcript file for additional information)
Output written on simple.xdv (1 page, 512 bytes).
Transcript written on simple.log.
dvipdfmx dvi > pdf(第一次运行):
>> dvipdfmx -vv -o simple.pdf simple.xdv
DVI Comment: XeTeX output 2022.05.20:1649
simple.xdv -> simple.pdf
<AGL:texglyphlist.txt><AGL:pdfglyphlist.txt><AGL:glyphlist.txt>[1(Image:test_test.eps[./test_test.eps][UNKNOWN]
pdf_image>> Converting file "./test_test.eps" --> "C:/Users/<User>/AppData/Local/Temp/dvipdfm-x.45ecbe5f03d4fb86cdf0de8b3107c654" via:
pdf_image>> rungs -q -dPDFSETTINGS=/prepress -dEmbedAllFonts=true -dSAFER -dNOPAUSE -dBATCH -dEPSCrop -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCompatibilityLevel=%v -dAutoFilterGrayImages=false -dGrayImageFilter=/FlateEncode -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode -dAutoRotatePages=/None -sOutputFile='%o' '%i' -c quit
pdf_image>> ...,Page:1)<//servername/latex/texlive/2022/texmf-dist/fonts/opentype/public/lm/[email protected]<NATIVE-FONTMAP://servername/latex/texlive/2022/texmf-dist/fonts/opentype/public/lm/lmroman10-regular.otf/0/H/65536/0/0>
fontmap: //servername/latex/texlive/2022/texmf-dist/fonts/opentype/public/lm/lmroman10-regular.otf/0/H/65536/0/0 -> //servername/latex/texlive/2022/texmf-dist/fonts/opentype/public/lm/lmroman10-regular.otf(Identity-H)
(CID:LMRoman10-Regular)
pdf_font>> Type0 font "//servername/latex/texlive/2022/texmf-dist/fonts/opentype/public/lm/lmroman10-regular.otf" cmap_id=<Identity-H,0> font_id=<//servername/latex/texlive/2022/texmf-dist/fonts/opentype/public/lm/lmroman10-regular.otf/0/H/65536/0/0,1>.
>][Type0]
otf_cmap>> Creating ToUnicode CMap for "//servername/latex/texlive/2022/texmf-dist/fonts/opentype/public/lm/lmroman10-regular.otf"...
://servername/latex/texlive/2022/texmf-dist/fonts/opentype/public/lm/lmroman10-regular.otf[LMRoman10-Regular][CIDFontType0][2 glyphs][553 bytes]
Compression saved 16271 bytes
20959 bytes written
dvipdfmx dvi > pdf(第二次运行尝试使用缓存,崩溃):
>> dvipdfmx -vv -o simple.pdf simple.xdv
DVI Comment: XeTeX output 2022.05.20:1649
simple.xdv -> simple.pdf
<AGL:texglyphlist.txt><AGL:pdfglyphlist.txt><AGL:glyphlist.txt>[1(Image:test_test.eps[./test_test.eps][UNKNOWN]
版本信息:
>>xelatex --version
XeTeX 3.141592653-2.6-0.999994 (TeX Live 2022)
kpathsea version 6.3.4
Copyright 2022 SIL International, Jonathan Kew and Khaled Hosny.
There is NO warranty. Redistribution of this software is
covered by the terms of both the XeTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the XeTeX source.
Primary author of XeTeX: Jonathan Kew.
Compiled with ICU version 70.1; using 70.1
Compiled with zlib version 1.2.11; using 1.2.11
Compiled with FreeType2 version 2.11.1; using 2.11.1
Compiled with Graphite2 version 1.3.14; using 1.3.14
Compiled with HarfBuzz version 3.4.0; using 3.4.0
Compiled with libpng version 1.6.37; using 1.6.37
Compiled with pplib version v2.05 less toxic i hope
Compiled with fontconfig version 2.13.96; using 2.13.96
>>dvipdfmx --version
This is dvipdfmx Version 20211117 by the DVIPDFMx project team,
modified for TeX Live,
an extended version of dvipdfm-0.13.2c developed by Mark A. Wicks.
Copyright (C) 2002-2021 the DVIPDFMx project team
Copyright (C) 2006-2021 SIL International.
This is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
>> systeminfo
...
OS Name: Microsoft Windows 11 Home
OS Version: 10.0.22000 N/A Build 22000
...
问题
有谁知道可能的原因吗?有没有什么方法可以解决这个问题?我有点搞不清楚哪些文件会受到影响,我该如何解决这个问题,或者这是否是某种错误。
更新 2022/06/07:问题似乎仅限于 Windows 11 机器。
答案1
似乎是 dvipdfmx 源代码中的一个错误,最近已解决。
也可以看看https://tug.org/pipermail/dvipdfmx/2022-June/000342.html和https://www.tug.org/svn/texlive?view=revision&revision=63566。