Verwenden Sie von Tikz erstellte Symbole im Inhaltsverzeichnis

Verwenden Sie von Tikz erstellte Symbole im Inhaltsverzeichnis

Bildbeschreibung hier eingeben

Dieses Bild bietet eine grobe Annäherung an etwas, was ich im Inhaltsverzeichnis meines Buches machen möchte. Ich möchte, dass die Abschnitte innerhalb nur eines meiner Kapitel ein eindeutiges Symbol anstelle einer Abschnittsnummer verwenden.

Derzeit verwende ich die Vorschläge, die ich erhalten habe indiese Frage. Allerdings sind die PNG-Bilder schwer zu bearbeiten und werden immer unscharf. Ich möchte versuchen, diese Bilder mit TikZ so zu gestalten, dass sie in jeder Größe scharf bleiben.

Aus Zeitgründen habe ich nur ein Beispiel für den ersten Abschnitt bereitgestellt. Ich möchte jedoch, dass für jeden Abschnitt innerhalb eines Kapitels ein eindeutiges Symbol verwendet wird. Diese Symbole wären sehr einfach: nur ein Kreis mit einem Buchstaben darin. Ich möchte verwendenTikZum zu vermeiden, dass diese Symbole als Bilder erstellt werden müssen.

Ich weiß nicht, wie ich das angehen soll. Für jede Hilfe bin ich dankbar. Danke.

Antwort1

Im Allgemeinen tikzscaleändert die Verwendung des Pakets den \includegraphicsBefehl, um Grafiken lesen und setzen zu können tikz. Dafür könnten Sie etwas wie

  • Erstellen Sie Ihre Bilder mit Tikz
  • jedes Bild in einer einzelnen Datei speichern
  • benutze den Code der verlinkten Antwort und lade das tikzscalePaket
  • \includegraphics[height=10pt]{mytikzimage}an den entsprechenden Stellen einsetzen .

Dieser Ansatz hat den zusätzlichen Vorteil, dass tikzscaledie Bilder automatisch tikzauf eine absolute Größe skaliert werden, was meiner Meinung nach für diese Idee entscheidend ist. Sie sollten sich jedoch tikzdie externalizeBibliothek von ansehen, da tikzscalejedes Bild mehrmals gesetzt wird, um diese Skalierung zu erreichen. Andernfalls könnte die Verwendung mehrerer Symbole in Ihrem Inhaltsverzeichnis die Kompilierung Ihres Dokuments erheblich verlangsamen.

Sehen Sie sich den folgenden Code an, den ich übernommen habe vonHier, das Sie bereits verlinkt haben:

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

Hier habe ich die Zusatzdatei image.tikzmit folgendem Inhalt verwendet:

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

Wie der Screenshot unten zeigt, funktioniert das wunderbar:

Bildbeschreibung hier eingeben

Der Vollständigkeit halber: Wenn Sie einzelne Bilder für einzelne Abschnitte möchten, müssen Sie den Code darin ändern \iconsectioninToC(das ist nicht mein Gehirn, das arbeitet, sondern wurde aus der verlinkten Antwort kopiert). Ändern Sie den kommentierten Teil in:

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

und benennen Sie Ihre Bilder image-1.tikzusw.image-2.tikz

verwandte Informationen