花括号用于在等式中插入内容?例如倒置的下括号

花括号用于在等式中插入内容?例如倒置的下括号

我有一个通用方程,我想在其中“插入”一些东西,以便读者可以看到我在方程中插入了什么以及在哪个点插入了什么。

例如

\documentclass{plain}

\begin{document}
\[ f = < x | R y > \]

Insert $\int d^3 p |p> <p|$ = 1 before y.
\end{document}

我想象的是水平花括号,它延伸到等式下方,其尖端略微接触到 左侧的一个点$y$,而括号中写着$\int d^3 p |p> <p|$。它看起来有点像倒置的\underbrace{foo}_{bar},但我不知道如何实现这样的效果。

在 ASCII 艺术中,它可能看起来像这样:

f = <x | R y >            (1)
        __|__
   ____|     |____
  | Insert here! | 

答案1

这是 Gonzalo 代码的一个变体,它使用\mathop{}\limits而不是\raisebox。输出几乎相同。

\documentclass{article}
\usepackage{mathtools}
\begin{document}
\[
  f = \langle x | R\mathclap{\mathop{}\limits_{\overbrace{
                   \textstyle\int d^3 p |p\rangle \langle p|}}}y
      \rangle 
\]
\end{document}

如果您想要更灵活的方法,请使用\braceinsert以下代码中的宏。它需要一个可选参数(括号应降低的量,默认为)和一个必需参数(您想要在括号下的内容)。此外,它还处理了被分隔符包围的0ex情况,如下所示:\braceinsert\left...\right

\braceinsert 示例

准确地说,你必须使用\bileft...\biright而不是\left...\right(如brace insert left 和 right)。在最外层之后\biright,只有明确的上标可以工作,因此'你必须使用^\prime。(下标无法正常工作,但我不知道什么时候需要它。)

\documentclass{article}
\usepackage{mathtools}
\setlength{\textwidth}{11cm}
\makeatletter
\newcounter{left@right}
\newcommand*\bileft[1]{\left#1\stepcounter{left@right}}
\newcommand*\biright[1]{\right#1%
    \@ifnextchar^{\with@superscript}{\without@superscript}}
\def\with@superscript^#1{^{#1}\without@superscript}
\def\without@superscript{%
    \addtocounter{left@right}{-1}%
    \ifnum\theleft@right=0
      \vphantom{\brace@insert@strut}
      \gdef\brace@insert@strut{}
    \fi
    }
\def\brace@insert@strut{}
\newcommand{\braceinsert}[2][0ex]{%
    \def\insert@material{%
        \mathop{\rule[-#1]{0pt}{0pt}}\limits_{\overbrace{#2}}%
        }%
    \expandafter\g@addto@macro\expandafter\brace@insert@strut
        \expandafter{\insert@material}
    \ifnum\theleft@right>0
      \smash{\mathclap{\insert@material}}
    \else
      \mathclap{\insert@material}
    \fi
    }
\makeatother
\begin{document}
In the formula
\[
  f = 5 \bileft( b^2 + \langle x | R
      \braceinsert[0.2ex]{\textstyle\int d^3 p |p\rangle \langle p|}
      y \rangle \biright)^2,
\]
the depth of the stuff under the brace is added only \emph{after}
\verb|\biright)^2|.
\end{document}

(也许这是韦伊太复杂?)

答案2

好吧,在人们好奇解决tikz方案发生了什么之前,这里有一个替代方法,使用,嗯...... tikz\tikzmark用于命名您想要引用的方程式中的位置。然后将此名称\Insert与各种选项一起提供给控制括号和连接它们的线的行为。

在此处输入图片描述

传递给的参数\Insert为:

#1. 应用于括号的垂直移位

#2. 控制连接线行为的选项。

#3. 方程式中的标记的名称。

#4. 需要支撑的文本,即将插入。

笔记:

  • 这确实需要两次运行。第一次确定位置,第二次进行绘图。
  • 如果插入的文本不在第一行,则可能会出现问题,因为箭头可能会与其他文本重叠。

参考:

代码:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{decorations.pathreplacing}

\newcommand{\tikzmark}[1]{\tikz[overlay,remember picture] \node (#1) {};}

\newcommand*{\BraceAmplitude}{0.5em}%
\newcommand*{\Insert}[5][0.0ex]{%
    \tikzmark{a}#5\tikzmark{b}%
    \begin{tikzpicture}[overlay,remember picture]
\draw [decoration={brace,amplitude=\BraceAmplitude},decorate,ultra thick,blue,#2]
        ($(a.north)+(0,#1)$) -- ($(b.north)+(0,#1)$);
\draw [thick, blue, #3] ($(a.north)!0.5!(b.north)+(0,#1)+(0,\BraceAmplitude+2pt)$) to (#4);
    \end{tikzpicture}%
}

\begin{document}
\[ f = < x | R \tikzmark{MyMarker} y > \]

\bigskip
In the above equation, we need to insert \Insert[1.5ex]{orange}{out=90, in=-90,->,shorten >=-1pt}{MyMarker}{$\int d^3 p |p> <p| = 1$} before $y$.

\[ f = < x | R \tikzmark{MyMarkerA} y \tikzmark{MyMarkerB}> \]

\bigskip
Insert \Insert[1.5ex]{blue}{out=90, in=-90,->,shorten >=-1pt,red}{MyMarkerA}{$\int d^3 p |p> <p| = 1$} before $y$, and some more
\Insert[1.0ex]{brown}{out=135, in=-70,->,shorten >=-2pt}{MyMarkerB}{\textbf{stuff}} after $y$.
\end{document}

答案3

这是一个可能的解决方案(在 LaTeX2e 中),使用\overbraceand \mathclap(来自mathtools包);使用 调整垂直位置\raisebox

\documentclass{article}
\usepackage{mathtools}

\begin{document}

\[
  f = < x | R\mathclap{\raisebox{-4ex}{$\overbrace{\textstyle\int d^3 p |p> <p|}$}} y > 
\]

\end{document}

在此处输入图片描述

我还建议您使用\langle\rangle而不是关系符号<>a:

\documentclass{report}
\usepackage{mathtools}

\begin{document}

\[
  f = \langle x | R\mathclap{\raisebox{-4ex}{$\overbrace{\textstyle\int d^3 p |p\rangle \langle p|}$}} y \rangle 
\]

\end{document}

在此处输入图片描述

相关内容