Agregar letras en círculos en los títulos

Agregar letras en círculos en los títulos

En mi curso, me gustaría especificar el nivel de cada subparte usando los niveles indicados en círculos.

Si uso el comando \section{title} \trf, las letras encerradas en un círculo aparecen debajo del título.

Si los coloco en el comando \section{XX} como \section{title \trf}, el documento no se compila

\documentclass{article}
\usepackage{tikz}
 
\newcommand{\atrf}{\tikz[baseline=(letter.base)]\node[draw,circle,inner sep=1pt, shade,shading=ball,circle,ball color=black!10!red] (letter) {ATRF};}
\newcommand{\trf}{\tikz[baseline=(letter.base)]\node[draw,circle,inner sep=1pt, shade,shading=ball,circle,ball color=black!10!blue] (letter) {TRF};}
\newcommand{\asi}{\tikz[baseline=(letter.base)]\node[draw,circle,inner sep=1pt, shade,shading=ball,circle,ball color=black!10!orange] (letter) {ASI};}

\begin{document}
\section{Chapitre 1} \asi \trf
\section{Chapitre 2}
\subsection{Sous section 2.1}
\subsection{Sous section 2.2}

\end{document}

Cómo hacer que los niveles aparezcan en la línea de título (y por lo tanto aparezcan también en la tabla de contenido)

Respuesta1

Debe tener cuidado al utilizar macros dentro de los títulos de las secciones, ya que estos títulos aparecerán en otros lugares del documento, como en los marcadores de PDF o en los encabezados o pies de página.

Aun así, es posible utilizar macros, pero es necesario proporcionar una versión alternativa del título sin macros en el argumento opcional de la \sectionmacro (lo mismo se aplica a macros similares, como \chapter, \subsectionetc.):

\documentclass{article}
\usepackage{tikz}
 
\newcommand{\atrf}{\tikz[baseline=(letter.base)]\node[draw,circle,inner sep=1pt, shade,shading=ball,circle,ball color=black!10!red] (letter) {ATRF};}
\newcommand{\trf}{\tikz[baseline=(letter.base)]\node[draw,circle,inner sep=1pt, shade,shading=ball,circle,ball color=black!10!blue] (letter) {TRF};}
\newcommand{\asi}{\tikz[baseline=(letter.base)]\node[draw,circle,inner sep=1pt, shade,shading=ball,circle,ball color=black!10!orange] (letter) {ASI};}

\begin{document}
\section[Chapitre 1 (ASI) (TRF)]{Chapitre 1 \asi \trf}
\section{Chapitre 2}
\subsection{Sous section 2.1}
\subsection{Sous section 2.2}

\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

Evitaría la duplicación de código: sus comandos se pueden definir en términos de un comando de dos argumentos, que proporciona el Ti necesariokZ y se puede convertir en algo diferente al componer el índice (a menos que quieras que las bolas también estén allí).

A continuación, defina dichos comandos como robustos, para que sobrevivan en una discusión en movimiento.

\documentclass{article}
\usepackage{tikz}
 
\newcommand{\shadedball}[2]{% #1 = color, #2 = acronym
  \ifintoc
    (\textcolor{black!10!#1}{#2})%
  \else
    \begin{tikzpicture}[baseline=(letter.base)]
    \node[
      draw,
      circle,
      inner sep=1pt,
      shade,
      shading=ball,
      circle,
      ball color=black!10!#1,
      minimum width=3em,% <--- to get balls of the same width
    ] (letter) {#2};
    \end{tikzpicture}%
  \fi
}
\newif\ifintoc

\DeclareRobustCommand{\atrf}{\shadedball{red}{ARTF}}
\DeclareRobustCommand{\trf}{\shadedball{blue}{TRF}}
\DeclareRobustCommand{\asi}{\shadedball{orange}{ASI}}

\begin{document}

\intoctrue
\tableofcontents
\intocfalse

\section{Chapitre 1 \asi\ \trf\ \atrf}

\end{document}

ingrese la descripción de la imagen aquí

Sin el negocio condicional

\documentclass{article}
\usepackage{tikz}
 
\newcommand{\shadedball}[2]{% #1 = color, #2 = acronym
  \begin{tikzpicture}[baseline=(letter.base)]
    \node[
      draw,
      circle,
      inner sep=1pt,
      shade,
      shading=ball,
      circle,
      ball color=black!10!#1,
      minimum width=3em,% <--- to get balls of the same width
    ] (letter) {#2};
  \end{tikzpicture}%
}

\DeclareRobustCommand{\atrf}{\shadedball{red}{ARTF}}
\DeclareRobustCommand{\trf}{\shadedball{blue}{TRF}}
\DeclareRobustCommand{\asi}{\shadedball{orange}{ASI}}

\begin{document}

\tableofcontents

\section{Chapitre 1 \asi\ \trf\ \atrf}

\end{document}

ingrese la descripción de la imagen aquí

información relacionada