我正在寻找一个命令类似于显示,但希望在文档本身中输出。我发现的所有示例都在终端中产生输出,而不是在文档中产生输出。
\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|
。分隔符的字符也可以有其他选择