를 사용하여 다음 예제에서 PDF를 생성할 때 pdflatex
Adobe Reader와 TeXworks 간에 다른 결과가 나타납니다. 나는 이것이 Reader가 불투명도/투명도를 처리하는 방식의 버그라고 생각합니다.
내 목표는 검은색 노드와 각 가장자리 사이에 작은 공간을 두는 것입니다(예: TeXworks가 렌더링하는 방식). 내가 수행하는 방법은 각 노드에 대해 검은색 채우기 및 color=transparent
/ opacity=0
가장자리를 설정하는 것입니다.
일관된 결과를 얻기 위해 좋은 해결 방법을 제안할 수 있는 사람이 있습니까? 이 문제로 인해 렌더링하려고 하는 나무가 많이 있는데 가장자리와 노드 사이의 공간을 흰색이 아닌 투명하게 만들고 싶습니다.
완전히 투명한 노드를 그린 다음 각 노드 위에 더 작은 검정색 노드를 그릴 수도 있습니다. 이것이 Syle의 일부로 자동화될 수 있습니까 state
? 아니면 모든 모서리의 시작과 끝 사이에 간격을 설정할 수 있나요? (이것을 어떻게 할까요?)
\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}
TeXworks의 렌더링을 Reader와 비교:
답변1
draw=none
대신 을 사용하면 color=transparent
Acrobat에서 제대로 표시되는 것 같습니다. 왼쪽 이미지는 가 있는 이미지이고 color=transparent
, 오른쪽 이미지는 draw=none
Acrobat에서 본 이미지입니다.
노트:
- 나는 대신
tikzset
에 사용했다tikzstyle
TikZ 스타일을 정의하려면 \tikzset 또는 \tikzstyle을 사용해야 합니까?
암호:
\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}