Завязывание узлов посередине двух скобок (узел-пакет)

Завязывание узлов посередине двух скобок (узел-пакет)

Я пытаюсь нарисовать узел посередине двух скобок. Моя идея на данный момент:

\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, но ничего не изменилось. Может, кто-нибудь подскажет, как нарисовать тикз-картинку ровно посередине двух скобок?

Заранее большое спасибо.

решение1

Вы можете использовать baselineдля настройки базовой линии изображения TiKZ (стр. 125 руководства). По умолчанию нижняя часть изображения размещается на базовой линии. При передаче только baseline, x-axis(где y=0) выравнивается с базовой линией окружающего текста. При передаче baseline=valueвыполняется настройка, которая выравнивает горизонтальную линию, соответствующую y=valueбазовой линии, эффективно центрируя изображение относительно этой линии. Это можно использовать с соответствующим valueдля эффективного центрирования изображения относительно математических разделителей.

Первоначально я использовал -.5ex. Однако спасибо Мануэлю и 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}

Связанный контент