
Ich verwende den folgenden Tikz-basierten Befehl, um einen Kreis um einen Buchstaben zu erstellen.
\newcommand*\circled[1]{\tikz[baseline=(char.base)]{
\node[shape=circle,draw,minimum size=4mm, inner sep=0pt] (char)
{#1};}}
Es funktioniert einwandfrei, aber wenn ich mehrere Buchstaben in derselben Zeile verwende, werden sie nicht ausgerichtet.
Ich vermute, es hat etwas mit der Grundlinie zu tun, da der Kreis in Bezug auf den Schwerpunkt erstellt wird. Beachten Sie, dass b und d etwas höher sind als a und c. Wie könnte ich das beheben?
AKTUALISIEREN
Ich habe die Ratschläge aus den Kommentaren befolgt (danke an alle) und konnte die Kreise aneinander ausrichten (was ich wollte), aber leider nicht am Text:
Ich habe den anderen Beitrag gesehen, in dem dies vorgeschlagen wurde propnode
(das rosafarbene „a“), und ich habe versucht, es mit dem ersten Argument überall hinzuverschieben, aber es hatte keine Wirkung.
\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}
}
Tatsächlich propnode
ist etwas zu hoch und der Kreis ist etwas zu niedrig. Dies ist der Code, der alles aufruft:
(\circled{b},\circled{a},\circled{c},\circled{d},\propnode{0,4}{n05}{fill=pink,text=black}{0.15}{a}).
Antwort1
Hier ist ein Beispiel mit einer Strebe:
\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}
Antwort2
Dabei wird ein Mittelwertalgorithmus verwendet:
\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}
Man kann es glatter machen, je nachdem, wie viele Quadrierungsberechnungen man durchführen möchte.