我尝试访问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)。
有人知道这个错误是什么意思吗?
有没有想过为什么这个错误现在出现了,而之前却没有?自从更新 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
显然解决了这个问题。