任意字符串分配给变量?

任意字符串分配给变量?

我怎样才能将任意字符串(可能包含特殊字符甚至宏名)原封不动地分配给变量?例如像这样:\newcommand{\mystring}{\assignstring{abc{}\w'\macroname \\}}结果必须为(至少为\meaning\mystring):“abc{}\w'\macroname \”

答案1

您可以存储任意字符串逐字变成使用\verbdefverbdef包)或\Verbdefnewsverb包)。

两者的区别在于,前者定义的宏包括打印文档中的文本所需的所有字体命令。后者仅存储字符,因此它们也可以打印到辅助文件中,而这在包含字体命令的情况下是无法实现的。

\documentclass{article}
\usepackage{verbdef}
\usepackage{newsverb}

\begin{document}

% In preamble or body
\verbdef\mystringprintable|abc{}\w'\macroname \\|
\Verbdef\mystringplain|abc{}\w'\macroname \\|

% To print:
\mystringprintable
\texttt{\mystringplain}

\end{document}

答案2

不清楚你的意思(部分原因是术语,Tex 没有字符串或变量)但我怀疑你想要这样的东西

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{verbdef}

\verbdef\mystring|{abc{}\w'\macroname \\###|

\begin{document}

\mystring

\end{document}

相关内容