gpt4 book ai didi

Latex - 提取子字符串/忽略字符

转载 作者:行者123 更新时间:2023-12-04 13:55:46 26 4
gpt4 key购买 nike

我有以下问题。我定义了一个宏,\func如下

\newcommand{\func}[1]{% do something with #1  
X #1 Y
}

我现在想定义另一个宏
\newcommand{\MyFunc}[1]{  
% parse #1 and if it contains "\func{....}", ignore all except this part
% otherwise ignore #1
}

有人能告诉我如何实现 \MyFunc ?

这是应该发生的事情:
\MyFunc{123abcdefg}              % should print nothing
\MyFunc{123\func{abcd}efg} % should print X abcd Y

我只能改 \MyFunc的代码. \func应该保持原样。

最佳答案

这可以通过标准的 LaTeX 编程来完成。就像是:

\documentclass{文章}
\newcommand\func[1]{X #1 Y}
\makeatletter
\newcommand\MyFunc[1]{%
\in@{\func}{#1}%
\ifin@
\ignore@all@but@func#1\@nil
\fi
}
\def\ignore@all@but@func#1\func#2#3\@nil{\func{#2}}
\makeatother
\begin{文档}
[\MyFunc{123abcdefg}] % 不应该打印任何内容
[\MyFunc{123\func{abcd}efg}] % 应该打印 X abcd Y
\end{文档}

关于Latex - 提取子字符串/忽略字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1999810/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com