Seite 1 von 2

circle unterschiedlich groß trotz fixem radius

Verfasst: Fr 22. Jul 2016, 12:04
von MoonKid
\documentclass{standalone}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
    \node at (0,0) [fill=blue,circle,inner sep=0em,radius=0.5em]{+};
    \node at (1,0) [fill=red,circle,inner sep=0em,radius=0.5em]{-};
    \node at (2,0) [fill=red,circle,inner sep=0em,radius=0.5em]{\(-\)};
    \node at (3,0) [fill=green,circle,inner sep=0em,radius=0.5em]{?};
    \node at (4,0) [fill=green,circle,inner sep=0em,radius=0.5em]{\(?\)};
\end{tikzpicture}
\end{document}
Hier sind zwei Probleme:

1.
Die farbigen Kreise sind nicht gleich groß. Insbesondere das Fragezeichen im Vergleich zum Rest.
Der Radius ist IMO aber eine fixe Größe (halbe Höhe des Buchstaben M). Daher verstehe ich nicht, warum es doch unterschiedlich groß ist.

2.
Das erste Minus ist relativ klein. Eine math-Umgebung löst das Problem, find ich aber übertrieben. Und evtl. ist das ja auch die Ursache für Problem 1? Gibt es ne Alternative zur math-Umgebung?

Verfasst: Fr 22. Jul 2016, 12:10
von Johannes_B
Das erste Minus ist kein Minus, sondern ein Bindestrich.

Verfasst: Fr 22. Jul 2016, 12:21
von esdd
radius ist eine Option für den Pfad circle, also zum Beispiel für
\draw (1,0) circle [radius=.5em];
Für einen Node kannst Du minimum width, minimum height oder minimum size für die Mindestabmessungen angeben. Die müssen dann natürlich ausreichend groß gewählt sein. Also beispielsweise
\documentclass{standalone}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}[nodes={circle,inner sep=0pt,minimum size=1.1em}]
    \node at (0,0) [fill=blue]{+};
    \node at (1,0) [fill=red]{-};
    \node at (2,0) [fill=red]{$-$};
    \node at (3,0) [fill=green]{?};
    \node at (4,0) [fill=green]{\(?\)};
\end{tikzpicture}
\end{document}

Verfasst: Fr 22. Jul 2016, 12:37
von MoonKid
Mal ne Grundsatzfrage (*duck*):
Ich dachte \node[circle]... ist das gleiche wie \draw () circle, nur eine andere Schreibweise.

Da hab ich wohl gründlich was falsch verstanden, oder?


Nebenbei:
Haben schon diverse Argumente gegen tex-inline-math gelesen. u.a. http://texblog.net/latex-archive/maths/ ... math-mode/
Was sagt ihr Fachleute dazu?

Anekodote:
Wikipedia erklärt das Minus-Zeichen sehr schön. Da ich ja eine moderne Engine verwende, kopiere ich das einfach als Zeichen in den Code.... Tja, leider bietet der default Font scheinbar dieses Zeichen nicht. :D

Verfasst: Fr 22. Jul 2016, 12:48
von esdd
MoonKid hat geschrieben:Mal ne Grundsatzfrage (*duck*):
Ich dachte \node[circle]... ist das gleiche wie \draw () circle, nur eine andere Schreibweise.

Da hab ich wohl gründlich was falsch verstanden, oder?
Ja ;-)

Ein Pfad ist im Prinzip eine Folge von Liniensegmenten, die gerade oder gekrümmt sein können. Ein Node ist eine mehr oder weniger einfache Form, die in einen Pfad eingefügt wird bzw. vor oder hinter diesem.

Verfasst: Fr 22. Jul 2016, 12:52
von MoonKid
esdd hat geschrieben:Ein Pfad ist im Prinzip eine Folge von Liniensegmenten, die gerade oder gekrümmt sein können. Ein Node ist eine mehr oder weniger einfache Form, die in einen Pfad eingefügt wird bzw. vor oder hinter diesem.
Das Prinzip hab ich eigentlich verstanden. Ich ging davon aus, dass ein node-circle im Hintergrund auch nur einen Pfad-circle nutzt und daher visuell das exakte Ergebnis liefern müsste.
Da scheint im Hintergrund aber was anderes abzulaufen.

Verfasst: Fr 22. Jul 2016, 13:00
von MoonKid
Das erste Minibeispiel funktioniert mit euren Vorschlägen sehr gut. Übertrage ich das aber in meinen Original-Code der eine Matrix verwendet gehts wieder nicht.
Ist das ok, wenn ich mi dem Thema im Thread bleibe?

Besonderheit an folgendem Minibeisiel ist noch, dass ich die automatische Bennenung der Matrix-nodes beibehalten muss. Eine andere Lösung dafür kenne ich nicht.

Also Probleme in diesem Minibeispiel:
1. ?-Kreis kleiner als +/-
2. Symbole (spalte 2 & 3) sind nicht zentriert im Kreis (im Gegensatz zu Spalte 4).
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{matrix}

\colorlet{rob+}{green}
\colorlet{rob-}{red}
\colorlet{rob?}{yellow}
\newcommand{\robG}[1]{%
    |[fill=rob#1,circle,inner sep=0.1em,minimum size=1.1em]|\(#1\)
}

\begin{document}
\begin{tikzpicture}
    \matrix (M) [matrix of nodes]
    {
        A & \robG{+} & \robG{-} & \robG{?}\\
        B & \robG{-} & \robG{?} & \robG{+}\\
    };
    \node at (M-2-2) {X};
\end{tikzpicture}
\end{document}

Verfasst: Fr 22. Jul 2016, 13:01
von Johannes_B
MoonKid hat geschrieben:Haben schon diverse Argumente gegen tex-inline-math gelesen. u.a. http://texblog.net/latex-archive/maths/ ... math-mode/
Was sagt ihr Fachleute dazu?
Wo steht da ein Argument gegen Inline Mathe?
Anekodote:
Wikipedia erklärt das Minus-Zeichen sehr schön. Da ich ja eine moderne Engine verwende, kopiere ich das einfach als Zeichen in den Code.... Tja, leider bietet der default Font scheinbar dieses Zeichen nicht. :D
Nutz doch einfach die wohl einfachste Möglichkeit: $-$

Verfasst: Fr 22. Jul 2016, 13:26
von DADABBI
Du hast da wieder einmal ein unerwünschtes Leerzeichen. Zusammen mit der hier sinnvollen Verwendung von Inline-Math, ergibt sich:
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{matrix}

\colorlet{rob+}{green}
\colorlet{rob-}{red}
\colorlet{rob?}{yellow}
\newcommand{\robG}[1]{%
    |[fill=rob#1,circle,inner sep=0.1em,minimum size=1.1em]|$#1$%
}

\begin{document}
\begin{tikzpicture}
    \matrix (M) [matrix of nodes]
    {
        A & \robG{+} & \robG{-} & \robG{?}\\
        B & \robG{-} & \robG{?} & \robG{+}\\
    };
    \node at (M-2-2) {X};
\end{tikzpicture}
\end{document}

Verfasst: Fr 22. Jul 2016, 13:27
von esdd
Du musst das Zeilenende in Deinem Befehl auskommentieren. Außerdem sind die Nodes wieder zu klein und sie werden in einer Matrix am base Anker ausgerichtet.

Hier ist mal eine Möglichkeit:
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{matrix}

\colorlet{rob+}{green}
\colorlet{rob-}{red}
\colorlet{rob?}{yellow}
\newcommand{\robG}[1]{%
    |[fill=rob#1,circle,minimum size=\ht\strutbox+\dp\strutbox+.2em]|$#1$%
}

\begin{document}
\begin{tikzpicture}
    \matrix (M) [
      matrix of nodes,
      nodes={inner sep=.1em,anchor=center},
      column sep=.2em,
      row sep=.2em
    ]
    {
        A & \robG{+} & \robG{-} & \robG{?}\\
        B & \robG{-} & \robG{?} & \robG{+}\\
    };
    \node at (M-2-2) {X};
\end{tikzpicture}
\end{document}