
Estou usando o seguinte comando baseado em tikz para criar um círculo ao redor de uma letra.
\newcommand*\circled[1]{\tikz[baseline=(char.base)]{
\node[shape=circle,draw,minimum size=4mm, inner sep=0pt] (char)
{#1};}}
Funciona bem, mas sempre que uso várias letras na mesma linha, elas não ficam alinhadas.
Acho que tem algo a ver com a linha de base, como se o círculo fosse criado em referência ao centro de massa. Observe que b e d são um pouco maiores que a e c. Como eu poderia consertar isso?
ATUALIZAR
Seguindo o conselho que recebi dos comentários (obrigado a todos), alinhei os círculos entre si (que era o que eu queria), mas infelizmente não ao texto:
Vi o outro post propondo isso propnode
(o a rosa) e tentei mudar tudo usando o primeiro argumento, mas não surtiu efeito.
\pgfmathsetmacro{\nodebasesize}{1} % A node with a value of one will have this diameter
\pgfmathsetmacro{\nodeinnersep}{0.05}
\newcommand{\propnode}[5]{% position, name, options, value, label
\begin{tikzpicture}
\pgfmathsetmacro{\minimalwidth}{sqrt(#4*\nodebasesize)}
\node[#3,minimum width=\minimalwidth*1cm,inner sep=\nodeinnersep*1cm,circle,draw] (#2) at (#1) {#5};
\end{tikzpicture}
}
Na verdade, propnode
é um pouco alto demais e circulado é um pouco baixo demais. Este é o código que chama tudo:
(\circled{b},\circled{a},\circled{c},\circled{d},\propnode{0,4}{n05}{fill=pink,text=black}{0.15}{a}).
Responder1
Aqui está um exemplo usando um suporte:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\newcommand*\circled[1]{\tikz[baseline=(char.base)]{
\node[shape=circle,draw,minimum size=4mm, inner sep=0pt] (char)
{\rule[-3pt]{0pt}{\dimexpr2ex+2pt}#1};}}
\begin{document}
\foreach \myn [count=\myc] in {a,b,c,d,e,p,q}
{%%
\circled{\myn}\ifnum\myc<7\relax,\fi
}%%
\end{document}
Responder2
Isso está usando um algoritmo de média:
\documentclass[]{article}\usepackage{amsmath,mathtools,amssymb,tikz}
\newlength\myheight
\newcommand*\ccircled[1]{\settowidth{\myheight}{#1}%
\raisebox{-.1\myheight}{\tikz[baseline=(char.base)]{%
\node[shape=circle,draw,minimum size=\myheight*\myheight*.4,inner sep=1pt](char){#1};}}}
\begin{document}
\ccircled{S}u\ccircled{z}u\ccircled{k}i
\end{document}
Pode-se torná-lo mais suave dependendo de quantos cálculos quadrados se deseja fazer.