在阅读文档和搜索此网站至少两个小时后interface3
,我仍然无法完成这件最简单的事情。我需要排版包含反斜杠的控制序列的名称。在 中这很简单,LaTeX2e
但我显然遗漏了一些东西expl3
。
% !TEX program = lualatexmk
% !TEX encoding = UTF-8 Unicode
\documentclass{article}
\ExplSyntaxOn
\NewDocumentCommand{\doit}{ m }{%
\cs_if_exist_use:N #1
%\tl_new:N \l_my_tl
%\tl_set:Nn \l_my_tl {#1}
%\token_to_str:N \l_my_tl
}%
\ExplSyntaxOff
\begin{document}
% I want to do this in expl3.
\expandafter\string\csname foo\endcsname
\doit{foo}
\end{document}
答案1
只需使用\token_to_str:N
有问题的令牌:
% !TEX program = lualatexmk
% !TEX encoding = UTF-8 Unicode
\documentclass{article}
\ExplSyntaxOn
\NewDocumentCommand{\doit}{ m m }{%
\token_to_str:N #1 % If you already have a token
\token_to_str:c { #2 } % If you first want to build the csname
}%
\ExplSyntaxOff
\begin{document}
% I want to do this in expl3.
% \expandafter\string\csname foo\endcsname
\doit \foo {bar}
\end{document}