在两个支架中间画结(结包)

在两个支架中间画结(结包)

我正在尝试在两个支架中间画一个结。我目前的想法是:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{knots}
\begin{document}
$\left\langle \left\langle {\begin{tikzpicture}[domain=-2:2, scale=0.3]\begin{knot} 
\strand (-1.3,1.3) to [out=right, in=right, looseness=2.2] (-1.3,-1.3);
\strand (1.3,1.3) to [out=left, in=left, looseness=2.2] (1.3,-1.3);
\end{knot}
\draw[dashed] (0,0) circle (2cm);
\end{tikzpicture}}\right\rangle\right\rangle $
\end{document}

现在我尝试将范围从 -2 调整到 2,但没有任何变化。也许有人可以给我提示一下,如何在两个括号中间精确绘制 tikz 图片?

提前致谢。

答案1

您可以使用baseline来调整 TiKZ 图片的基线(手册第 125 页)。默认情况下,图片的底部位于基线上。通过传递baselinex-axis(其中y=0)与周围文本的基线对齐。通过baseline=value,进行调整,将 对应的水平线y=value与基线对齐,从而有效地将图片相对于该线居中。这可以与适当的 一起使用,value以有效地将图片相对于数学分隔符居中。

最初,我使用了-.5ex。但是,感谢 Manuel 和 egreg 提供了正确的字体尺寸值:\dimexpr-\fontdimen22\textfont2。这将使用当前活动字体的适当尺寸将图片相对于分隔符居中 --- 也就是说,此方法直接使用与相对于文本基线排版数学公式相同的信息。

一个对比:

基线变化

\documentclass{article}
\usepackage{tikz,amsmath,mathtools}
\usetikzlibrary{knots}
\begin{document}
  \noindent abc   $\left\langle \sum_{i=1}^n \sqrt{f(x^{\sqrt[3]{i^x}})} \right\rangle$
  $\left\langle \left\langle{%
      \begin{tikzpicture}[domain=-2:2, scale=0.3]
        \begin{knot}
          \strand (-1.3,1.3) to [out=right, in=right, looseness=2.2] (-1.3,-1.3);
          \strand (1.3,1.3) to [out=left, in=left, looseness=2.2] (1.3,-1.3);
        \end{knot}
        \draw[dashed] (0,0) circle (2cm);
      \end{tikzpicture}%
    }\right\rangle\right\rangle$
  abc
  $\left\langle \left\langle{%
      \begin{tikzpicture}[baseline, domain=-2:2, scale=0.3]
        \begin{knot}
          \strand (-1.3,1.3) to [out=right, in=right, looseness=2.2] (-1.3,-1.3);
          \strand (1.3,1.3) to [out=left, in=left, looseness=2.2] (1.3,-1.3);
        \end{knot}
        \draw[dashed] (0,0) circle (2cm);
      \end{tikzpicture}%
    }\right\rangle\right\rangle$
  abc
  $\left\langle \left\langle{%
      \begin{tikzpicture}[baseline=\dimexpr-\fontdimen22\textfont2, domain=-2:2, scale=0.3]
        \begin{knot}
          \strand (-1.3,1.3) to [out=right, in=right, looseness=2.2] (-1.3,-1.3);
          \strand (1.3,1.3) to [out=left, in=left, looseness=2.2] (1.3,-1.3);
        \end{knot}
        \draw[dashed] (0,0) circle (2cm);
      \end{tikzpicture}%
    }\right\rangle\right\rangle$
\end{document}

答案2

这是一个使用\vcenter和约束的解决方案\hbox

在此处输入图片描述

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{knots}
\begin{document}
Try it like this:
$\left\langle \left\langle \vcenter{\hbox to 1.6cm{\hss\begin{tikzpicture}[domain=-2:2, scale=0.3]\begin{knot} 
\strand (-1.3,1.3) to [out=right, in=right, looseness=2.2] (-1.3,-1.3);
\strand (1.3,1.3) to [out=left, in=left, looseness=2.2] (1.3,-1.3);
\end{knot}
\draw[dashed] (0,0) circle (2cm);
\end{tikzpicture}\hss}}\right\rangle\right\rangle$
\end{document}

相关内容