是否不可能将字符串重新转换为宏?我知道lualatex
我们可以用宏做很多有趣的事情。我从未见过不使用宏进行字符串转换的情况。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\newcommand{\dosthfunny}{\foreach \x in {1,...,5} {\x\\}}
\def\Macro{\dosthfunny}
\makeatletter
\edef\String{\expandafter\strip@prefix\meaning\Macro}
\makeatother
\begin{document}
\String %change it to \dosthfunny macro
\end{document}
答案1
目前还不是很清楚这种间接方法的原因。您可以使用\scantokens
:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\newcommand{\dosthfunny}{\foreach \x in {1,...,5} {\x\\}}
\def\Macro{\dosthfunny}
\makeatletter
\edef\String{\expandafter\strip@prefix\meaning\Macro}
\makeatother
\begin{document}
\noindent
\scantokens\expandafter{\String} %change it to \dosthfunny macro
\end{document}