
Mientras creaba un diagrama de máquina de estados con tikz, noté que parece estar descentrado. Este resultado me parece contrario a la intuición debido a la forma en que se creó el diagrama, utilizando una construcción foreach con todos los nodos que tienen el mismo radio y ángulos variables. También coloqué un solo nodo en la coordenada (0,0), pero parece no estar centrado. A continuación proporciono un ejemplo práctico que muestra el problema. Estoy seguro de que debe haber una explicación lógica que me falta de alguna manera, y tal vez alguien aquí pueda explicar lo que está pasando.
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{cmbright}
\usepackage{pgf}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,automata,positioning,calc}
\begin{document}
Indented text
\noindent Unindented text
\begin{figure}[h]
\centering
\begin{tikzpicture}[-Stealth,shorten >=1pt,semithick]
\tikzstyle{every state}=[fill=blue!20,draw=blue!50,very thick,text=black,minimum size=1cm]
\def \n {8}
\def \radius {6cm}
\node[state] (c) at (0,0) {};
\foreach \s/\stext in {1/1,2/2\_1,3/3,4/4,5/5,6/6,7/7,8/8}
{
\node[state] (\s) at ({-360/\n * (\s - 1)+90}:\radius) {\stext};
}
\end{tikzpicture}
\end{figure}
\end{document}
Respuesta1
Si compilo su código, recibo la siguiente advertencia: Overfull \hbox (26.08575pt too wide)
lo que significa que su imagen es más ancha que el ancho del texto y por lo tanto parece no estar centrada con respecto a los márgenes. Para hacer la imagen más pequeña puedes agregar la scale=0.9
opción a \begin{tikzpicture}
.
También debe reemplazar el \tikzstyle
comando por, \tikzset{every state/.append style={fill=blue!20,draw=blue!50,very thick,text=black,minimum size=1cm}}
ya que el primero está obsoleto.