我遇到了一个奇怪的问题(至少对我来说很奇怪)。我在 Tikz 图片上投入了大量精力,终于完成了,我对 TeXstudio 在预览中显示的结果感到满意。但是当我在 Acrobat Reader 中打开它时,出现了一个令人讨厌的小差异:我用于 \fill 命令的虚线图案被忽略了。相反,PDF 只向我显示了水平线。
我的第一个问题是:您知道这种差异从何而来吗?
但我真正的问题是:我该怎么做才能让虚线图案出现在 pdf 中?
我已经尝试将我的标准编译器从 PdfLaTeX 更改为 LaTeX,但这并没有改变任何东西。下面是我的独立图片。
提前感谢您的意见。
更新:我用 Gimp 导入 PDF,突然图片出现虚线。也许这只是 Adobe Reader 的问题?
\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\usetikzlibrary{patterns}
\begin{document}
\begin{tikzpicture}
\fill[pattern=horizontal lines, dash pattern=on 2pt off 2pt on 3pt off 2pt on 1pt off 2pt] (0.8,0) arc (-75:210:3.18) arc (30:-30:3) arc (150:435:3.18) -- cycle;
\draw[] (0.8,0) arc (-75:210:3.18) arc (30:-30:3) arc (150:435:3.18) -- cycle;
\draw[fill=white] (0,3.1) circle (3) node {+};
\draw[fill=white] (0,-3.1) circle (3) node {+};
\end{tikzpicture}
\end{document}
答案1
感谢 percusse,他给了我正确的提示。
当我做类似的事情时:
\pgfdeclarepatternformonly[4pt]{MyHorizLines}{\pgfqpoint{-4pt}{-4pt}}{\pgfqpoint{12pt}{12pt}}{\pgfqpoint{4pt}{4pt}}%
{
\pgfsetcolor{\tikz@pattern@color}
\pgfsetlinewidth{0.3pt}
%\pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
%\pgfpathlineto{\pgfqpoint{0pt}{\GridSize}}
\pgfpathmoveto{\pgfqpoint{0pt}{0pt}}
\pgfpathlineto{\pgfqpoint{2.1pt}{0pt}}
\pgfusepath{stroke}
}
并将其用作模式:
\fill[pattern=MyHorizLines]
Adobe 也向我展示了虚线。
非常感谢!