我在 lualatex 中设置了一个宏,想将其用作~
不间断空格字符。但是,它在第一个和最后一个之间产生了一个新行。
\documentclass{scrartcl}
\usepackage{luacode}
\begin{document}
Note tilde is fine in luacode*.\\
\begin{luacode*}
token.set_macro('NAME','First~Last','global')
\end{luacode*}
\NAME
\end{document}
答案1
这可能是 luatex 的一个功能...
如果我使用纯文本和\directlua
原始文本来避免任何来自宏包的干扰,那么
\directlua{
token.set_macro('NAME','First\string~Last','global')
}
\show \NAME
\def\zz#1{\show#1\ifx!#1\else\expandafter\zz\fi}
\expandafter\zz\NAME!
\bye
\show\NAME
显示的位置~1
而不是仅在产生换行符的~
位置。~1
> \NAME=macro:
->First~1Last.
l.6 \show \NAME
然后循环显示每个标记,您将获得:
> the letter F.
> the letter i.
> the letter r.
> the letter s.
> the letter t.
> [unknown command code! (13, -1113986)].
> the letter L.
> the letter a.
> the letter s.
> the letter t.
所以基本上令牌库并不想添加活动角色。