为什么 texstudio 内部 PDF 查看器在图像上显示条纹白线?

为什么 texstudio 内部 PDF 查看器在图像上显示条纹白线?

问题也始于https://github.com/texstudio-org/texstudio/issues/51


当我在 Windows 上使用 MikTex 在 texstudio 中编译此 MWE latex 文件时,然后使用 texstudio 内部 PDF 查看器查看结果,它显示图像上有白色条纹。这些线条不在原始图像中。

另外,当我使用外部 PDF 阅读器(例如 Adob​​e)查看编译的 PDF 文件时,这些行也不会显示。

这是为什么?图像也是 PDF 文件。可以解决这个问题吗?这其实不是什么大问题,因为这似乎只是 texstudio pdf viewer 本身的问题,但我想问一下是否有办法解决这个问题。

这是 MWE

\documentclass{article}
\usepackage{graphicx}
\begin{document}
This is my image, as PDF file, imported using includegraphics

\includegraphics[width=\textwidth]{image}    
\end{document}

我把文件 image.pdf 放在我的网页上这里

这是编译后的 PDF 在 texstudio PDF 查看器中的样子

Mathematica 图形

Adobe PRO PDF 阅读器中的 PDF 格式如下

Mathematica 图形

注意 texstudio 中显示的白线。这是pdfinfo在图像文件上

pdfinfo image.pdf 

Creator:        Wolfram Mathematica 11.2.0.0 for Microsoft Windows (64-bit) (September 10, 2017) Student Edition - Personal Use Only
Producer:       
CreationDate:   Sat Mar  3 16:13:39 2018
ModDate:        Sat Mar  3 16:13:39 2018
Tagged:         no
UserProperties: no
Suspects:       no
Form:           none
JavaScript:     no
Pages:          1
Encrypted:      no
Page size:      470 x 367 pts
Page rot:       0
File size:      99049 bytes
Optimized:      no
PDF version:    1.5

我在用

TeXstudio 2.12.6 (hg 6632:7777b2b8a906)
Using Qt Version 5.9.1, compiled with Qt 5.9.1 R

Windows 7的。

答案1

这是 Mathematica 多个版本中常见的问题,但奇怪的是我无法使用 Mathematica 11(在 Linux 上,而不是 Windows 上)重现它。当使用多边形对矢量图形进行着色(如这里的情况)但省略了多边形的轮廓时,就会发生这种情况。要解决此问题,请将图像导出为 eps(稍后可以转换为 pdf),方法是将 ContourPlot 命令括在 Export 命令中:

Export[ "myfile.eps" , Contourplot[ ... ] ] 

然后,用你最喜欢的文本编辑器打开 eps 文件,找到用于填充多边形的宏。它位于文件顶部附近,可能类似于

/f { fill bind def }

也许

/f fill load def

更改fillgsave fill grestore stroke保存文件。新指令告诉查看器对多边形进行着色绘制轮廓。在查看器中重新加载后,您应该会发现问题已经消失。

答案2

该图像由三角形组成。以下图像是从 PDF 文件生成的。首先,文件的页面流通过以下方式解压缩:

 pdftk image.pdf cat output image-uncompress.pdf uncompress

然后通过将“ m B”替换为“ m S”并将“ m f”替换为“ ”来修改文件。和m S的替换会删除填充,并且仅绘制三角形。BfS

在此处输入图片描述

可以看出,白线与三角形之间的边界相撞。因此,这可能是一个舍入问题。

答案3

我通常解决这个问题的方法是将此类图像分成多个图层导出。

  • 一个仅包含彩色直方图的层,没有轴也没有文本。此文件将被保存,从而.png避免了箱体边缘的查看器伪影。

在此处输入图片描述

  • 下一层包含所有线条和文本。此层将保存为.pdf

在此处输入图片描述

  • 两个图层可以通过多种方式组合。您可以使用 Inkscape 或直接在 Latex 中进行组合,并使用picture环境来堆叠图像。

在此处输入图片描述

(对于具有大量箱体的直方图,此方法还将大大减小文件大小并加快渲染速度.pdf

相关内容