Adobe Reader 和 TeXworks 之間 PDF 的不透明度呈現方式不同

Adobe Reader 和 TeXworks 之間 PDF 的不透明度呈現方式不同

當使用以下範例產生 PDF 時pdflatex,我在 Adob​​e Reader 和 TeXworks 之間得到不同的結果。我認為這是 Reader 處理不透明度/透明度的方式中的一個錯誤。

我的目標是在黑色節點和每個邊緣之間只有一個小空間(就像 TeXworks 渲染它的方式一樣),我這樣做的方法是為每個節點設定黑色填充和color=transparent/opacity=0邊緣。

誰能建議一個好的解決方法來獲得一致的結果?我嘗試渲染的許多樹都遇到這個問題,我希望邊緣和節點之間的空間是透明的而不是白色的。

也許我可以繪製完全透明的節點,然後在每個節點上繪製一個較小的黑色節點。這可以作為系統的一部分自動化嗎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 中的渲染:

https://i.stack.imgur.com/xw3zu.png

答案1

使用draw=none代替似乎color=transparent可以在 Acrobat 中正確顯示它。左邊的圖像是帶有 的圖像color=transparent,右邊的圖像是draw=none在 Acrobat 中查看的圖像:

在此輸入影像描述

筆記:

代碼:

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

相關內容