El diámetro de un círculo es diferente de otros dentro de una serie de círculos.

El diámetro de un círculo es diferente de otros dentro de una serie de círculos.

Quiero construir una serie de círculos que se alineen hombro con hombro en cada pie de página. El número de círculos es solo el número de páginas totales, es decir, cada círculo representa una página. En el centro de cada círculo está el número de página actual.

Es fácil lograr esto \foreachsi pgflos diámetros de todos estos círculos son iguales. Sin embargo, quiero que el círculo que representa la página actual tenga un diámetro mayor.

La composición tipográfica es como la figura adjunta producida por el siguiente MWE. ¿Alguien puede ayudarme con esto?

MWE:

\documentclass{article}
\usepackage{fancyhdr,geometry,color,tikz}
\geometry{showframe}

\begin{document}
\pagestyle{fancy}
\fancyhf{}
\renewcommand{\footrulewidth}{0.4pt}
some text...

\cfoot{
\begin{tikzpicture}
  \draw[fill=gray,text=white,radius=0.5](0,0)circle node{1};
  \draw[fill=red,text=white,radius=1](1.5,0)circle node{2};
  \draw[fill=gray,text=white,radius=0.5](3,0)circle node{3};  
\end{tikzpicture}
}
\end{document}

ingrese la descripción de la imagen aquí

Respuesta1

¿Algo como eso?

\documentclass{article}
\usepackage{fancyhdr,geometry,lastpage,refcount,lipsum,tikz}
\geometry{showframe}
\usetikzlibrary{positioning}
\begin{document}
\pagestyle{fancy}
\fancyhf{}
\renewcommand{\footrulewidth}{0.4pt}
some text...
\newcounter{lastpagenumber}%
\setcounter{lastpagenumber}{\getrefbykeydefault{LastPage}{page}{1}}%

\cfoot{\begin{tikzpicture}
\coordinate (cn-0);
\foreach \X [remember=\X as \LastX (initially 0)] in {1,...,\thelastpagenumber}
{\ifnum\X=\thepage
 \node[circle,fill=red,text=white,minimum size=1cm,right=0pt of cn-\LastX] (cn-\X) {\X};
 \else
 \node[circle,fill=gray,text=white,minimum size=0.5cm,right=0pt of cn-\LastX] (cn-\X) {\X};
 \fi
}
\end{tikzpicture}
}
\lipsum[1-31]
\end{document}

ingrese la descripción de la imagen aquí

Por supuesto, se puede personalizar la salida de muchas maneras.

\documentclass{article}
\usepackage{fancyhdr,geometry,lastpage,refcount,lipsum,tikz}
\geometry{showframe}
\usetikzlibrary{positioning}
\begin{document}
\pagestyle{fancy}
\fancyhf{}
\renewcommand{\footrulewidth}{0.4pt}
some text...
\newcounter{lastpagenumber}%
\setcounter{lastpagenumber}{\getrefbykeydefault{LastPage}{page}{1}}%

\cfoot{\begin{tikzpicture}
\coordinate (cn-0);
\foreach \X [remember=\X as \LastX (initially 0)] in {1,...,\thelastpagenumber}
{\ifnum\X=\thepage
 \node[circle,draw,thick,font=\sffamily\Large\bfseries,fill=red,text=white,minimum size=1cm,right=0pt of cn-\LastX] (cn-\X) {\X};
 \else
 \node[circle,draw,font=\sffamily\bfseries,fill=gray,text=white,minimum size=0.5cm,right=0pt of cn-\LastX] (cn-\X) {\X};
 \fi
}
\end{tikzpicture}
}
\lipsum[1-31]
\end{document}

ingrese la descripción de la imagen aquí

Y si encuentras los círculos un poco aburridos, puedes hacer

\documentclass{article}
\usepackage{fancyhdr,geometry,lastpage,refcount,lipsum,tikzducks,tikzlings}
\geometry{showframe}
\usetikzlibrary{positioning,backgrounds}
\begin{document}
\pagestyle{fancy}
\fancyhf{}
\renewcommand{\footrulewidth}{0.4pt}
some text...
\newcounter{lastpagenumber}%
\setcounter{lastpagenumber}{\getrefbykeydefault{LastPage}{page}{1}}%

\cfoot{\begin{tikzpicture}
\coordinate (cn-0);
\foreach \X [remember=\X as \LastX (initially 0)] in {1,...,\thelastpagenumber}
{\ifnum\X=\thepage
 \node[font=\sffamily\Large\bfseries,text=white,minimum size=1cm,right=0pt of cn-\LastX] (cn-\X) {\X};
 \begin{scope}[scale=0.4,on background layer,shift={(cn-\X.center)},yshift=-3em]
 \marmot
 \end{scope}
 \else
 \node[font=\sffamily\bfseries,text=black,minimum size=0.5cm,right=0pt of cn-\LastX] (cn-\X) {\X};
 \begin{scope}[scale=0.3,on background layer,shift={(cn-\X.center)},yshift=-3em]
 \koala
 \end{scope}
 \fi
}
\end{tikzpicture}
}
\lipsum[1-31]
\end{document}

ingrese la descripción de la imagen aquí

información relacionada