我正在尝试在两个支架中间画一个结。我目前的想法是:
\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 页)。默认情况下,图片的底部位于基线上。通过传递baseline
,x-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}