相当于 \show,用于在文档中显示 LaTeX 代码

相当于 \show,用于在文档中显示 LaTeX 代码

我正在寻找一个命令类似于显示,但希望在文档本身中输出。我发现的所有示例都在终端中产生输出,而不是在文档中产生输出。

\show因此,我想用下面的适当的宏来替换的使用:

\documentclass{article}

\newcommand*{\MyFrac}{\ensuremath{\frac{\pi}{4}}}

\begin{document}
The macro \textbackslash MyFrac is set to \show\MyFrac.
\end{document}

我想要产生的输出是

The macro \MyFrac is set to \ensuremath{\frac{\pi}{4}}

我可能可以使用 verbatim 包,但我认为如果要更新它,就需要我在两个地方更改定义。我希望能够在一个地方定义宏并能够根据需要使用它,同时还能够显示与其关联的 LaTeX 代码。

答案1

对于零近似值,您可以使用\meaning

The macro \textbackslash MyFrac is set to {\ttfamily\meaning\MyFrac}

产量

The macro \MyFrac is set to macro:->\ensuremath {\frac {\pi }{4}}.

如果你知道你无论如何都只能在宏上调用它,那么你可以扩展它以剥离宏:->位(它还将列出参数等),就像这样,使用 LaTeX 内核命令:

\makeatletter
\newcommand\meaningbody[1]{%
  {\ttfamily
    \expandafter\strip@prefix\meaning#1}%
}
\makeatother

\begin{document}
The macro \textbackslash MyFrac is set to \meaningbody\MyFrac.
\end{document}

答案2

\textbackslash您还可以避免

\usepackage{shortvrb}
\AtBeginDocument{\MakeShortVerb{\|}} 

现在你可以写|\MyFrac|。分隔符的字符也可以有其他选择

相关内容