Hintergrund

Hintergrund

Hintergrund

Ich habe versucht, mithilfe der Bibliothek eine Mindmap zu zeichnen, tikz mindmapum sie möglicherweise in einer beamerPräsentation zu verwenden.

Das Problem

Abhängig von meiner Farbwahl stimmt die Farbe der Knoten nicht mit den Farben der Konnektoren überein, die sie mit anderen Knoten verbinden. Dies gilt unabhängig davon, ob die Verbindungen automatisch anhand der Hierarchie der Mindmap erstellt werden oder ob die Verbindungen nachträglich in einem \pathVorgang manuell hinzugefügt werden.

MWE

Dieser Code veranschaulicht das Problem. Die erste Karte stammt direkt von Seite 662 des Handbuchs und funktioniert einwandfrei. Die zweite Karte ist genau wie die erste, außer dass die verwendeten Farben anders sind.

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{mindmap}

\begin{document}

  \tikz[mindmap,concept color=blue!80]
    \node [concept] {Root concept}
    child[concept color=red,grow=30] {node[concept] {Child concept}}
    child[concept color=orange,grow=0] {node[concept] {Child concept}};

  \tikz[mindmap,concept color=magenta]
    \node [concept] {Root concept}
    child[concept color=cyan,grow=30] {node[concept] {Child concept}}
    child[concept color=yellow,grow=0] {node[concept] {Child concept}};

\end{document}

Kuriositäten beim Ausmalen von Mindmaps

Es gibt zwei Probleme:

  1. Die Knotenfarben entsprechen nicht den Erwartungen. Bei Gelb ist dies weniger offensichtlich, bei Cyan und Magenta jedoch sehr deutlich.
  2. Die Farben sind nichtkonsistent. Das heißt, die Konnektoren scheinen die Farben zu verwenden, die ich erwarten würde, obwohl die Knoten dies nicht tun. Die Konnektoren fließen also nicht reibungslos zu/von den Knoten.

Untersuchung

Die Farben, die konsistent funktionieren, werden alle mithilfe des RGB-Modells definiert. Die Farben, die inkonsistente Ergebnisse liefern, werden alle mithilfe des CMYK-Modells definiert. Eine Problemumgehung besteht darin, alternative Farben im RGB-Modell zu definieren. Beispielsweise können Sie eine neue Farbe rgbmagentagenau wie definieren, magentajedoch in Bezug auf rgbstatt cmyk.

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{mindmap}
\definecolor{rgbmagenta}{rgb}{1,0,1}
\definecolor{rgbcyan}{rgb}{0,1,1}
\definecolor{rgbyellow}{rgb}{1,1,0}
\begin{document}

  \tikz[mindmap,concept color=rgbmagenta]
    \node [concept] {Root concept}
    child[concept color=rgbcyan,grow=30] {node[concept] {Child concept}}
    child[concept color=rgbyellow,grow=0] {node[concept] {Child concept}};

\end{document}

Mindmap mit alternativen Farbdefinitionen

Frage

Warum genau passiert das? Kann es vermieden werden, ohne die Farben neu zu definieren, wie ich es in der Problemumgehung getan habe?

Ich fürchte, diese Frage ist sicherlich ein Duplikat, aber die Suche hat bisher nichts besonders Erhellendes ergeben. Ich habe Threads gefunden, die darauf hindeuten, dass TikZ Farben vom CMYK-Modell in RGB konvertiert. Das könnte zwar erklären, warum die Farben nicht ganz wie erwartet sind, aber es erklärt nicht die Inkonsistenzen.

Antwort1

Aktualisieren

Seit Version 3.1.3 tikzwerden CMYK-Schattierungen unterstützt, sodass das folgende MWE ohne Laden funktioniert pgf-cmykshadings.


Es gibt ein neues Paket, das CMYK-Schattierungen in und pgf-cmykshadingsunterstützt . Es ist möglich, RGB- und CMYK-Schattierungen im selben Dokument zu erzeugen, indem man das Farbmodell einstellt. Laden Sie einfachpgftikzxcolorpgf-cmykshadings Vor tikz.

Im folgenden MWE ist die erste Mindmap in RGB und die zweite in CMYK. Beide haben einheitliche Farben!

\documentclass{standalone}
\usepackage{pgf-cmykshadings}
\usepackage{tikz}
\usetikzlibrary{mindmap}

\begin{document}

  \selectcolormodel{rgb}
  \tikz[mindmap,concept color=blue!80]
    \node [concept] {Root concept}
    child[concept color=red,grow=30] {node[concept] {Child concept}}
    child[concept color=orange,grow=0] {node[concept] {Child concept}};

  \selectcolormodel{cmyk}
  \tikz[mindmap,concept color=magenta]
    \node [concept] {Root concept}
    child[concept color=cyan,grow=30] {node[concept] {Child concept}}
    child[concept color=yellow,grow=0] {node[concept] {Child concept}};

\end{document}

Bildbeschreibung hier eingeben

Antwort2

TikZ (vor Version 3.1.3) verwendet RGB-Farben für Farbverläufe.

Mit dem Paket xcolor(erforderlich für tikzund beamer) können Sie:

  1. Konvertieren einer CMYK-Farbe in eine RGB-Farbe:

    \colorlet{yellow}[rgb]{yellow}
    
  2. Konvertieren einer RGB-Farbe in eine CMYK-Farbe:

    \colorlet{red}[cmyk]{red}
    

Um immer RGB-Farben zu verwenden, übergeben Sie die rgbOption an xcolor:

\usepackage[rgb]{xcolor}

Wie beamererforderlich xcolormüssen Sie diese Option vor Folgendem übergeben:

\PassOptionsToPackage{rgb}{xcolor}
\documentclass{beamer}

verwandte Informationen