我知道我可以使用 Lua 访问原始 TeX dimens tex.dimen[key]
,但是如何在 Lua 中访问 LaTeX 长度?
梅威瑟:
\documentclass{article}
% This is TeX
\newdimen\boxwidth
\boxwidth=3.4ex
% end of TeX
\newlength{\boxwidthlatex}
\setlength{\boxwidthlatex}{5.8ex}
\begin{document}
\directlua{tex.print(tex.dimen['boxwidth'])}
% How to do something like this?
% \directlua{tex.print(tex.dimen['boxwidthlatex'])}
\end{document}
答案1
LaTeX 长度是跳过,而跳过不是一个简单的对象,而是一个表。因此,您需要执行如下操作:
\documentclass{article}
% This is TeX
\newdimen\boxwidth
\boxwidth=3.4ex
% end of TeX
\newlength{\boxwidthlatex}
\setlength{\boxwidthlatex}{5.8ex}
\begin{document}
\directlua{tex.print(tex.dimen['boxwidth'])}
\directlua{tex.print(tex.skip['boxwidthlatex'].width)}
\directlua{tex.print(tex.skip['boxwidthlatex'].stretch)}
\end{document}