Use ícones feitos pelo Tikz no TOC

Use ícones feitos pelo Tikz no TOC

insira a descrição da imagem aqui

Esta imagem fornece uma aproximação aproximada de algo que eu gostaria de fazer no ToC do meu livro. Gostaria que as seções de apenas um dos meus capítulos utilizassem um ícone exclusivo, em vez de um número de seção.

Atualmente, estou usando as sugestões que recebi emessa questão. No entanto, as imagens .png são difíceis de trabalhar e sempre ficam confusas. Eu gostaria de tentar usar o TikZ para fazer essas imagens para que fiquem nítidas em qualquer tamanho.

Por uma questão de tempo, forneci apenas um exemplo para a primeira seção. No entanto, gostaria que um ícone exclusivo fosse usado para cada uma das seções de um capítulo. Esses ícones seriam muito básicos: apenas um círculo com uma letra dentro. Eu quero usarTikZpara isso evite ter que transformar esses ícones em imagens.

Estou perdido sobre como fazer isso. Qualquer ajuda é apreciada. Obrigado.

Responder1

Em geral, usar o pacote tikzscalealtera o \includegraphicscomando para poder ler e compor tikzgráficos. Portanto, você poderia fazer algo como

  • crie suas imagens com tikz
  • salve cada imagem em um arquivo individual
  • use o código da resposta vinculada e carregue o tikzscalepacote
  • use \includegraphics[height=10pt]{mytikzimage}nos locais apropriados.

Essa abordagem tem o bônus adicional de tikzscaledimensionar automaticamente as tikzimagens para um tamanho absoluto, o que acredito ser crucial para essa ideia. Você pode querer dar uma olhada na biblioteca tikzdo externalize, porque tikzscalecompõe cada imagem algumas vezes para atingir esse dimensionamento. caso contrário, usar vários ícones em seu ToC poderá retardar significativamente a compilação do seu documento.

Veja o seguinte código que peguei emprestadoaqui, que você já vinculou:

\documentclass{book}
\usepackage{titletoc}
\usepackage{graphicx}
\usepackage{tikz}      % to draw the symbols
\usepackage{tikzscale} % to include tikz graphics as image files and scale them

\makeatletter
\newcommand\stdsectioninToC{
\titlecontents{section}
  [3.8em]
  {}
  {\contentslabel{2.3em}}
  {\hspace*{-2.3em}}
  {\titlerule*[1em]{.}\contentspage}
}
\newcommand\iconsectioninToC{
\titlecontents{section}
  [3.8em]
  {}
  {\contentslabel{2.3em}%
    \smash{\includegraphics[height=10pt]{image}}\hspace{0.5em}% change here 
  }
  {\hspace*{-2.3em}}
  {\titlerule*[1em]{.}\contentspage}
}
\AtBeginDocument{\stdsectioninToC}
\makeatother

\begin{document}

\tableofcontents

\chapter{A test chapter}
\section{First test section}
\section{Second test section}
\section{Third test section}
\section{Fourth test section}

\iconsectioninToC
\chapter{A test chapter}
\section{First test section}
\section{Second test section}
\section{Third test section}
\section{Fourth test section}

\stdsectioninToC
\chapter{A test chapter}
\section{First test section}
\section{Second test section}
\section{Third test section}
\section{Fourth test section}

\end{document}

Aqui, usei o arquivo adicional image.tikzcom o seguinte conteúdo:

% image.tikz
\begin{tikzpicture}
    \draw [fill=red!30] (-1,0) -- (0,1) -- (1,0) -- (0,-1) -- cycle;
\end{tikzpicture}

Como mostra a captura de tela abaixo, isso funciona perfeitamente:

insira a descrição da imagem aqui

Para completar: se você quiser imagens individuais para seções individuais, terá que alterar o código interno \iconsectioninToC(este não é o meu cérebro funcionando, copiado da resposta vinculada). Altere a parte comentada para:

\stepcounter{mysecimage}
\smash{\includegraphics[height=10pt]{image-\the\value{mysecimage}}}\hspace{0.5em}

e nomeie suas imagens image-1.tikze image-2.tikzassim por diante.

informação relacionada