Utilice iconos creados por Tikz en TOC

Utilice iconos creados por Tikz en TOC

ingrese la descripción de la imagen aquí

Esta imagen proporciona una aproximación aproximada de algo que me gustaría hacer en la ToC de mi libro. Me gustaría que las secciones dentro de solo uno de mis capítulos utilicen un ícono único, en lugar de un número de sección.

Actualmente, estoy usando las sugerencias que recibí enesta pregunta. Sin embargo, es difícil trabajar con las imágenes .png y siempre aparecen borrosas. Me gustaría intentar usar TikZ para crear estas imágenes para que se mantengan nítidas en cualquier tamaño.

Por razones de tiempo, solo proporcioné un ejemplo para la primera sección. Sin embargo, me gustaría que se utilizara un ícono único para cada una de las secciones dentro de un capítulo. Estos iconos serían muy básicos: sólo un círculo con una letra dentro. Quiero usarTikZpara esto evitar tener que hacer estos íconos como imágenes.

No sé cómo hacer esto. Se agradece cualquier ayuda. Gracias.

Respuesta1

En general, el uso del paquete tikzscalemodifica el \includegraphicscomando para poder leer y componer tikzgráficos. Por lo tanto podrías hacer algo como

  • crea tus imágenes con tikz
  • guardar cada imagen en un archivo individual
  • use el código de la respuesta vinculada y cargue el tikzscalepaquete
  • utilizar \includegraphics[height=10pt]{mytikzimage}en los lugares apropiados.

Este enfoque tiene la ventaja adicional de que tikzscaleescala automáticamente las tikzimágenes a un tamaño absoluto, lo cual creo que es crucial para esta idea. Es posible que desees consultar tikzla externalizebiblioteca de, porque tikzscalecompone cada imagen un par de veces para lograr esta escala. de lo contrario, el uso de varios íconos en su ToC podría ralentizar significativamente la compilación de su documento.

Vea el siguiente código que tomé prestadoaquí, que ya vinculaste:

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

Aquí, utilicé el archivo adicional image.tikzcon el siguiente contenido:

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

Como muestra la siguiente captura de pantalla, esto funciona de maravilla:

ingrese la descripción de la imagen aquí

Para completar: si desea imágenes individuales para secciones individuales, debe cambiar el código interno \iconsectioninToC(este no es mi cerebro funcionando, copiado de la respuesta vinculada). Cambie la parte comentada a:

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

y nombrar tus imágenes image-1.tikz, image-2.tikzetc.

información relacionada