LuaTeX 零值错误

LuaTeX 零值错误

我尝试访问lualatex一个文档并收到以下错误:

! LuaTeX error ./luasseq.lua:377: attempt to index field 'wd' (a nil value)
stack traceback:
    ./luasseq.lua:377: in function 'sseq_register_size'
    <\directlua >:1: in main chunk.
l.2 \directlua0{sseq_register_size()}

l.373 \end{sseq}}
                 \end{center}

当我在五月初编译该文档时,并没有出现这个错误,从那时起我就没有再编辑过它(尽管在此期间我确实从 Ubuntu 10.10 升级到了 11.04)。

  1. 有人知道这个错误是什么意思吗?

  2. 有没有想过为什么这个错误现在出现了,而之前却没有?自从更新 Ubuntu 以来,还有其他人遇到过 LuaTeX 问题吗?(我确信之前没有这个错误,因为该文档是一篇论文,我在升级之前调试并提交了它,之后就没再看过它。)

编辑:

梅威瑟:

\documentclass{article}
\usepackage{amsmath} 
\usepackage{luasseq}
\begin{document}
\mbox{
\begin{sseq}{0...3}{0...2}
\ssdrop{Z}
\end{sseq}}
\end{document}

错误消息(上面引用)指的是 luasseq.lua 的第 377 行,内容如下

currobj.wd = tex.wd[sseqboxno]

所以如果 tex.wd 不再存在,是否意味着我需要更新版本的 luasseq.lua?我还没有找到——有人知道它是否存在吗?

哦,luatex --version还给了我

a@dell:~$ luatex --version
This is LuaTeX, Version beta-0.65.0-2011041019 (rev 4033)
Copyright 2010 Taco Hoekwater, the LuaTeX Team.

答案1

提示wd使用tex.wd,该字段在当前版本的 luatex 中不再存在。因此,看起来您现在有一个新的 luatex,但正在运行以前版本的宏。这些也应该更新。

我不知道是否有新版本luasseq.lua,但将有问题的行和以下两行替换为

currobj.wd = tex.box[sseqboxno].width
currobj.ht = (tex.box[sseqboxno].height+tex.box[sseqboxno].depth)
currobj.dp = tex.box[sseqboxno].depth

显然解决了这个问题。

相关内容