Вертикальное выравнивание текста в кружке TikZ

Вертикальное выравнивание текста в кружке TikZ

У меня проблема с вертикальным выравниванием обведенного текста с TikZ. Этот базовый код вызывает проблему, которая у меня есть.

  \texttt{some text here =}
  \tikz[remember picture] \node[draw,ellipse,fill=none,thick] (code) {\texttt{other text}};

Проблема в том, что отображаемый текст 'some text here=' не выровнен по вертикали с отображаемым текстом 'other text'. Я читал об анкерах в документации, и они выглядели многообещающе, но я пока не смог заставить их работать. Возможно, я мог бы сделать это, сделав левую сторону узлом, но я не думаю, что это необходимо? Любые предложения были бы очень признательны!

решение1

Используйте baseузел для baselineопции:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{shapes}

\begin{document}

\texttt{some text here =}
\tikz[remember picture,baseline=(code.base)] \node[draw,ellipse,fill=none,thick] (code) {\texttt{other text}};

\end{document}

введите описание изображения здесь


Под редакцией Клаудио Фиандрино

Вот возможная альтернатива:

\documentclass[11pt,a4paper]{article}
\usepackage{tikz}
\usetikzlibrary{shapes}

\begin{document}
\texttt{some text here = \tikz[baseline=-0.825ex] \node[draw,ellipse,fill=none,thick] (code) {other text};}
\end{document}

Обратите внимание: если вы вставите tikzкод внутрь первого узла, textttвы можете пропустить команду внутри узла, поскольку она автоматически отображается в пишущей машинке.

решение2

 \texttt{some text here =}
  \tikz[remember picture,baseline] 
   \node[draw,ellipse,fill=none,thick,anchor=base] (code) {\texttt{other text}};

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