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}

相关内容