Adicione letras circuladas nos títulos

Adicione letras circuladas nos títulos

No meu curso, gostaria de especificar o nível de cada subparte usando os níveis indicados em círculos.

Se eu usar o comando \section{title} \trf, as letras circuladas aparecerão abaixo do título.

Se eu colocá-los no comando \section{XX} como \section{title \trf}, o documento não 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}

Como fazer com que os níveis apareçam na linha do título (e, portanto, apareçam também no índice)

Responder1

Você precisa ter cuidado ao usar macros dentro dos títulos das seções, pois esses títulos aparecerão em vários outros locais do documento, como nos marcadores do PDF ou nos cabeçalhos ou rodapés das páginas.

Ainda assim, é possível usar macros, mas você precisa fornecer uma versão alternativa do título sem macro no argumento opcional da \sectionmacro (o mesmo vale para macros semelhantes, 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}

insira a descrição da imagem aqui

Responder2

Eu evitaria a duplicação de código: seus comandos podem ser definidos em termos de um comando de dois argumentos, que fornece o Ti necessáriokInstruções Z e podem ser transformadas em algo diferente ao compor o índice analítico (a menos que você queira que as bolas também estejam lá).

Em seguida, defina esses comandos como robustos, para que sobrevivam em uma discussão movimentada.

\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}

insira a descrição da imagem aqui

Sem o negócio 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}

insira a descrição da imagem aqui

informação relacionada