lua 中的波浪线 ~ 添加了一行

lua 中的波浪线 ~ 添加了一行

我在 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.

所以基本上令牌库并不想添加活动角色。

相关内容