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 tikzscale
modifica el \includegraphics
comando para poder leer y componer tikz
grá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
tikzscale
paquete - utilizar
\includegraphics[height=10pt]{mytikzimage}
en los lugares apropiados.
Este enfoque tiene la ventaja adicional de que tikzscale
escala automáticamente las tikz
imágenes a un tamaño absoluto, lo cual creo que es crucial para esta idea. Es posible que desees consultar tikz
la externalize
biblioteca de, porque tikzscale
compone 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.tikz
con 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:
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.tikz
etc.