使用 TL 2015。我有此设置
main.tex
folderA/a.tex
a.png
并使用 standalone 合并两个文档。文件 a.tex 有一个,includesgraphics{a.png}
该文件a.png
与a.tex
我使用standalone
和import
和subimport
将两个文件合并为一个文件,如文档所述。上面的代码使用 编译成功,pdflatex
但使用 编译失败lualatex
。
平均能量损失
主文本
\documentclass[12pt,notitlepage]{article}
\usepackage{standalone}%
\usepackage{import}
\usepackage{graphicx}
\begin{document}
\subimport*{folderA/}{a}
\end{document}
a.tex (在名为 folderA 的子文件夹中)
\documentclass[11pt]{article}%
\usepackage{standalone}
\standalonetrue
\usepackage{graphicx}
\begin{document}
\includegraphics{a.png}
\end{document}
结果如下:
pdflatex main.tex
....
Output written on main.pdf (1 page, 22036 bytes).
Transcript written on main.log
没有错误。现在使用 lualatex:
lualatex main.tex
This is LuaTeX, Version beta-0.80.0 (TeX Live 2015) (rev 5238)
restricted \write18 enabled.
(./main.tex
....
(/usr/local/texlive/2015/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty))
(/usr/local/texlive/2015/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg))
(./folderA/a.tex
! Package pdftex.def Error: File `folderA/a.png' not found.
See the pdftex.def package documentation for explanation.
Type H <return> for immediate help.
...
l.7 \includegraphics{a.png}
由于其他原因,我需要使用 lualatex。这样做lualatex a.tex
没有错误。但我需要将它们合并到一个文档中,然后仍然使用lualatex
这是文件列表(由 pdflatex 编译过程生成)
*File List*
article.cls 2014/09/29 v1.4h Standard LaTeX document class
size12.clo 2014/09/29 v1.4h Standard LaTeX file (size option)
standalone.sty 2099/01/01 develop Package to include TeX sub-files with prea
mbles
ifluatex.sty 2010/03/01 v1.3 Provides the ifluatex switch (HO)
ifpdf.sty 2011/01/30 v2.3 Provides the ifpdf switch (HO)
ifxetex.sty 2010/09/12 v0.6 Provides ifxetex conditional
xkeyval.sty 2014/12/03 v2.7a package option processing (HA)
xkeyval.tex 2014/12/03 v2.7a key=value parser (HA)
currfile.sty 2013/02/01 v0.7b Provides the file path elements of the current
input file
kvoptions.sty 2011/06/30 v3.11 Key value format for package options (HO)
ltxcmds.sty 2011/11/09 v1.22 LaTeX kernel commands for general use (HO)
kvsetkeys.sty 2012/04/25 v1.16 Key value parser (HO)
infwarerr.sty 2010/04/08 v1.3 Providing info/warning/error messages (HO)
etexcmds.sty 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO)
filehook.sty 2011/10/12 v0.5d Hooks for input files
gincltex.sty 2011/09/04 v0.3 Include external LaTeX files like graphics
svn-prov.sty 2010/04/24 v3.1862 Package Date/Version from SVN Keywords
adjustbox.sty 2012/05/21 v1.0 Adjusting TeX boxes (trim, clip, ...)
adjcalc.sty 2012/05/16 v1.1 Provides advanced setlength with multiple back-
ends (calc, etex, pgfmath)
trimclip.sty 2012/05/16 v1.0 Trim and clip general TeX material
graphicx.sty 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR)
graphics.sty 2014/10/28 v1.0p Standard LaTeX Graphics (DPC,SPQR)
trig.sty 1999/03/16 v1.09 sin cos tan (DPC)
graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live
pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX
collectbox.sty 2012/05/17 v0.4b Collect macro arguments as boxes
tc-pdftex.def 2012/05/13 v1.0 Clipping driver for pdftex
ifoddpage.sty 2011/09/13 v1.0 Conditionals for odd/even page detection
varwidth.sty 2009/03/30 ver 0.92; Variable-width minipages
filemod-expmin.sty 2011/09/19 v1.2 Get and compare file modification times (
expandable; minimal)
import.sty 2009/03/23 v 5.1
supp-pdf.mkii
pdftexcmds.sty 2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO)
epstopdf-base.sty 2010/02/09 v2.5 Base part for package epstopdf
grfext.sty 2010/08/19 v1.1 Manage graphics extensions (HO)
kvdefinekeys.sty 2011/04/07 v1.3 Define keys (HO)
epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Live
a.tex
folderA/a.png
问题是什么?如何修复?无法与软件包lualatex
配合使用?import
参考:
附言:为了方便起见,我将上述设置和所有文件放在这个 zip 文件中这里
答案1
原因是 luaTeX 中的 \pdftexversion 已更改。在 pdftex.def 更新之前,请尝试以下解决方法:
% main.tex
\documentclass[12pt,notitlepage]{article}
\usepackage{ifluatex}
\ifluatex\def\pdftexversion{140}\fi
... ...
答案2
Akira Kakuto 的解决方案在 TL 2015 中对我有用。然而,在 TL 2016 中,该解决方案对我不再有用。作为 TL 2016 的解决方法,我想出了以下方法来替代 Akira Kakuto 的解决方案:
% main.tex
\documentclass[12pt,notitlepage]{article}
\usepackage{ifluatex}
\makeatletter
\ifluatex\renewcommand\GPT@IfFileExists[1]{\@firstoftwo}\fi
\makeatother
...
我还创建了一个github 问题针对该问题,我在其中描述了解决方法的一些细节。