同一变量的多重芯收缩

同一变量的多重芯收缩

我目前正在尝试写下高阶展开中的缩略结构。为此,我需要多个以相同变量结尾/开始的缩略。例如,我希望有\wick{\c1 A \c1 \c2 B \c2 C}一个在 simpler-wick 包中应该能够编写的类型的缩略。不幸的是,它不能这样编译。我甚至需要一个对象及其自身的多个缩略,本着 的精神\wick{\c1 \c2 \c2 \c1 A}。有人有一个简单的解决方案吗?提前谢谢。

答案1

这是一个部分解决方案。

在此处输入图片描述

\self我定义了一个可以在命令内部使用的命令\wick。该命令\self有两个参数。第一个参数是数字,就像在 内部使用的数字一样\wick。它应该与其他灯芯数字不同。第二个参数是要自我收缩的字符。

上面的图片是用代码创建的

\wick{\c1B\self{2}{A}\c1B}\quad\wick{\c2B\self{1}{A}\c2B}

首先,Bs 被 收缩\c1,而 又A被 收缩2。然后使用反向编号。

完整代码如下:

\documentclass{article}

\usepackage{simpler-wick}

\newlength{\wdth}
\newcommand{\self}[2]{\settowidth{\wdth}{#2}#2\hspace{-.5\wdth}\c#1{\vphantom{#2}}\c#1{\vphantom{#2}}\hspace{.5\wdth}}

\begin{document}

\begin{equation}
 \wick{\c1B\self{2}{A}\c1B}\quad\wick{\c2B\self{1}{A}\c2B}
\end{equation}

\end{document}

基本上,\self先退格字符宽度的一半,然后收缩\vphantom字符(其高度与字符相同但没有宽度),再向前移动一半宽度。

注意,不能嵌套\self。因此,此解决方案不允许多次自我收缩。

相关内容