Wenn ich aus dem folgenden Beispiel eine PDF-Datei erstelle pdflatex
, erhalte ich zwischen Adobe Reader und TeXworks unterschiedliche Ergebnisse. Ich denke, das liegt an einem Fehler in der Art und Weise, wie Reader mit Opazität/Transparenz umgeht.
Mein Ziel besteht darin, nur einen kleinen Abstand zwischen dem schwarzen Knoten und jeder Kante zu haben (so wie TeXworks es rendert), und ich erreiche das, indem ich für jeden Knoten eine schwarze Füllung und color=transparent
/ -Kante festlege.opacity=0
Kann jemand einen guten Workaround vorschlagen, um konsistente Ergebnisse zu erzielen? Ich versuche, viele Bäume darzustellen, die unter diesem Problem leiden, und ich hätte gern, dass der Raum zwischen Kante und Knoten transparent und nicht weiß ist.
Vielleicht kann ich vollständig transparente Knoten zeichnen und dann über jeden davon einen kleineren schwarzen Knoten zeichnen. Kann dies als Teil des state
Stils automatisiert werden? Oder kann ich zwischen dem Anfang und dem Ende jeder Kante eine Lücke setzen? (Wie würde ich das machen?)
\documentclass{article}
\usepackage{tikz}
\tikzstyle{lts}=[
state/.style={circle,draw,minimum size=4pt,inner sep=0pt,line width=2pt,draw opacity=0,color=transparent,fill=black},
edge from parent/.style={-stealth,draw},
obs/.style={edge from parent/.style={-stealth,draw,very thick}},
]
\begin{document}
\begin{tikzpicture}[lts]
\node[state] {}
child[obs] {node[state] {}
edge from parent node {}}
child[obs] {node[state] {}
edge from parent node {}};
\end{tikzpicture}
\end{document}
Vergleich der Darstellung in TeXworks und Reader:
Antwort1
Die Verwendung draw=none
von anstelle von color=transparent
scheint es in Acrobat richtig anzuzeigen. Das Bild links ist das mit color=transparent
und das rechte ist das mit, draw=none
wie in Acrobat angezeigt:
Anmerkungen:
- Ich habe
tikzset
anstelle vontikzstyle
gemäßSollten \tikzset oder \tikzstyle zum Definieren von TikZ-Stilen verwendet werden?
Code:
\documentclass{article}
\usepackage{tikz}
\tikzstyle{lts}=[
state/.style={circle,draw,minimum size=4pt,inner sep=0pt,line width=2pt,draw opacity=0,color=transparent,fill=black},
edge from parent/.style={-stealth,draw},
obs/.style={edge from parent/.style={-stealth,draw,very thick}},
]
\tikzset{MyState/.style={circle,draw,minimum size=4pt,inner sep=0pt,line width=2pt,draw opacity=0,draw=none,fill=black}}
\tikzset{MyObs/.style={edge from parent/.style={-stealth,draw,very thick}}}
\begin{document}
\begin{tikzpicture}[lts]
\node[state] {}
child[obs] {node[state] {}
edge from parent node {}}
child[obs] {node[state] {}
edge from parent node {}};
\end{tikzpicture}%
\begin{tikzpicture}
\node[MyState] {}
child[MyObs] {node[MyState] {}
edge from parent node {}}
child[MyObs] {node[MyState] {}
edge from parent node {}};
\end{tikzpicture}
\end{document}