2 つの括弧の真ん中に結び目を描こうとしています。これまでの私のアイデアは次のとおりです。
\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 までの範囲で試してみましたが、何も変わりませんでした。2 つの括弧の真ん中に tikz 画像を正確に描画する方法を誰か教えてくれませんか?
よろしくお願いします。
答え1
を使用して、TiKZ 画像のベースラインを調整できますbaseline
(マニュアルの 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}