如何在 LaTeX3 中打印带有反斜杠的控制序列?

如何在 LaTeX3 中打印带有反斜杠的控制序列?

在阅读文档和搜索此网站至少两个小时后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}

在此处输入图片描述

相关内容