我想做这样的事:如何让下牙套和上牙套重叠
给出的例子非常棒,所以我自己尝试了一下:我希望实现的是通过剪切一对场来表示四个场对 Wick 定理的贡献,所以我尝试了这个:
\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{mathtools}
\begin{document}
\begin{equation}
\begin{aligned}
\overbracket{\phi (x_1) \quad \phi (x_2)} \quad \overbracket{\phi (x_3) \quad \phi (x_4)} \\
\rlap{$\overbracket{\phantom{\phi (x_1) \quad \phi(x_2) \quad \phi (x_3)}}$} \phi(x_1) \quad
\underbracket{\phi (x_2) \quad \phi (x_3) \quad \phi (x_4)} \\
\overbracket{\phi (x_1) \quad \underbracket{\phi (x_2) \quad \phi (x_3)} \quad \phi (x_5)}
\end{aligned}
\end{equation}
\end{document}
差不多,但还不够!下括号/上括号的开始和结束位置不对,我宁愿强调x_1
括号的开始或结束点 ( , ...)。所以我尝试像这样修改它:
\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{mathtools}
\begin{document}
\begin{equation}
\begin{aligned}
\phi (x\!\!\overbracket{\,_{1}) \quad \phi (x\!}{\,}_{\!2}) \quad \phi (x\!\overbracket{_3) \quad \phi (x\!}{\,}_{\!4}) \\
\rlap{$\phi (x\!\!\overbracket{\phantom{\,_1) \quad \phi(x_2) \quad \phi (x}}_3)$} \phi(x_1) \quad
\phi (x\!\!\underbracket{\,_2) \quad \phi (x_3) \quad \phi (x\!}{\,}_{\!4}) \\
\phi (x\!\!\overbracket{\,_1) \quad \phi (x\!\!\underbracket{\,_2) \quad \phi (x\!}{\,}_{\!3}) \quad \phi (x\!}{\,}_{\!4})
\end{aligned}
\end{equation}
\end{document}
事实上,这是非常丑陋的代码,但它适用于第一种和最后一种情况 - 因为没有重叠的剪辑。比丑陋的代码更糟糕的是,这不适用于中间的情况(重叠的剪辑x1 - x3
和x2 - x4
),当数字 3 位于第一个括号下方(就在下方x_2
,第二个剪辑开始的地方)时,右括号被复制,而且,如果你仔细观察,会发现\phi (x
有点粗体,所以它也被复制并略微移位。我怎样才能实现重叠剪辑效果,并在 x 上精确定位,而不会出现这些问题?
谢谢。
PS:我在 TeXworks 中使用 pdflatex
答案1
使用更简单pst-node
:考虑您想要链接的变量\rnodes
,然后使用以下命令连接它们\ncbar
:
\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage{pst-node, auto-pst-pdf}
\begin{document}
\begin{postscript}
\begin{equation}
\begin{gathered}
\phi (\rnode{n1}{x_1}) \quad \phi (\rnode{n2}{x_2}) \quad\phi (\rnode{n3}{x_3}) \quad \phi (\rnode{n4}{x_4}) \\[1ex]
\phi (\rnode{p1}{x_1}) \quad \phi(\rnode{p2}{x_2}) \quad \phi (\rnode{p3}{x_3}) \quad\phi(\rnode{p4}{x_4}) \\[2ex]
\phi (\rnode{q1}{x_1}) \quad \phi (\rnode{q2}{x_2}) \quad \phi (\rnode{q3}{x_}3) \quad \phi (\rnode{q4}{x_4})
\end{gathered}
\end{equation}
\psset{nodesep=3pt, arm=5pt, angle=90, linejoin=1}
\ncbar{n1}{n2}\ncbar{n3}{n4}
\ncbar{p1}{p3}\ncbar[nodesep=2pt, angle=-90]{p2}{p4}
\ncbar{q1}{q4}\ncbar[nodesep=2pt, angle=-90]{q2}{q3}
\end{postscript}
\end{document}
答案2
受到 Bernard 回答的启发,仅供练习,以下是基于 TikZ 图片的解决方案:
\documentclass[tikz,
border=3mm,
preview
]{standalone}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}
\matrix (m) [matrix of math nodes,inner ysep=0pt,row sep=2ex]
{
\phi(x_1) & \phi(x_2) & \phi(x_3) & \phi(x_4) \\
\phi(x_1) & \phi(x_2) & \phi(x_3) & \phi(x_4) \\
\phi(x_1) & \phi(x_2) & \phi(x_3) & \phi(x_4) \\
};
\draw[thick,transform canvas={xshift=0.3ex}]
(m-1-1) |- ([yshift=+1mm] m-1-2.north) -- (m-1-2)
(m-1-3) |- ([yshift=+1mm] m-1-4.north) -- (m-1-4)
(m-2-1) |- ([yshift=+1mm] m-2-3.north) -- (m-2-3)
(m-2-2) |- ([yshift=-1mm] m-2-4.south) -- (m-2-4)
(m-3-1) |- ([yshift=+1mm] m-3-4.north) -- (m-3-4)
(m-3-2) |- ([yshift=-1mm] m-3-3.south) -- (m-3-3)
;
\end{tikzpicture}
\end{document}