lualatex 在独立设置中使用时无法与 import/subimport 一起使用

lualatex 在独立设置中使用时无法与 import/subimport 一起使用

使用 TL 2015。我有此设置

main.tex
folderA/a.tex
        a.png

并使用 standalone 合并两个文档。文件 a.tex 有一个,includesgraphics{a.png}该文件a.pnga.tex

我使用standaloneimportsubimport将两个文件合并为一个文件,如文档所述。上面的代码使用 编译成功,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 问题针对该问题,我在其中描述了解决方法的一些细节。

相关内容