如何在 LuaTex 中访问 LaTeX 长度?

如何在 LuaTex 中访问 LaTeX 长度?

我知道我可以使用 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}

相关内容