파일

파일

이 질문에는 TeX에 대한 직접적인 언급이 포함되어 있지 않습니다. 그러나 로 작업하는 동안 pdflatex, 특히 eps출력을 파일에 포함할 때 문제가 발생했습니다 pdf. 또한 이 SE의 파일 형식 eps에 대한 전문성이 가장 뛰어나기를 기대합니다 . pdf그래서 이 질문이 주제에 관한 것이기를 바랍니다. MATLAB 출력 변환에 관한 몇 가지 다른 질문을 조사했습니다. 그러나 그들 중 누구도 내가 직면한 특정 문제를 다루지 않았거나 질문의 ​​세부 사항이 극도로 제한되어 있었습니다.

내 문제는: 일부 그래픽 요소가 Acrobat Reader에 표시되지 않는다는 것입니다. 텍스트는 잘 표시되며 요소 표시 여부는 내보내기 루틴과 크기에 따라 다릅니다. 자르기 문제는 아닌 것 같습니다. 다른 시청자들에게는 그런 문제가 보이지 않습니다. 그래서 나는 해결책을 시도해 볼 것입니다특정 EPS 파일은 epstopdf로 변환되지 않습니다., 하지만 ...

...제 질문은, 그런데 왜 그런 일이 발생하는 걸까요? Acrobat Reader의 버그인가요? 안에 epstopdf? MATLAB에서? 아니면 문제를 일으키는 것으로 알려져 있으므로 피해야 할 기능을 사용하는 도구 체인인가요?

내가 말했듯이 문제를 pdflatex.

MATLAB에서 파일을 생성하는 방법은 다음과 같습니다. 누구나 코드를 이해할 수 있기를 바랍니다.

for dim = 32 : 33
    im = rand(dim);
    suf = sprintf('_%d.eps', dim);

    close all;imagesc(im);axis off;text(0, 0, 'Text');
    saveas(gcf, ['saveas' suf]);
    system(['epstopdf saveas' suf]);

    close all;imagesc(im);axis off;text(0, 0, 'Text');
    print(gcf, ['print-d' suf], '-deps');
    system(['epstopdf print-d' suf]);

    close all;imagesc(im);axis off;text(0, 0, 'Text');
    print(gcf, ['print' suf]);
    system(['epstopdf print' suf]);
end

파일

saveas_32.pdfprint-d_32.pdf잘못 표시되는 파일입니다 . 이것은 다음과 같습니다:

여기에 이미지 설명을 입력하세요

내 관찰

  • 모든 EPS 파일은 GSview에서 정상적으로 보입니다.
  • 모든 PDF 파일은 Google Chrome에서 정상적으로 보입니다.
  • saveas파일 은 print-d어디에서나 동일하게 보입니다. 이는 놀라운 일이 아닙니다. print파일에 수동으로 잘라야 할 보기 흉한 테두리가 있다는 것은 다소 놀랍습니다 . 나는 그렇게 하고 싶지 않습니다.
  • 다른 모든 (비 print) PDF 파일은 구성 측면에서 매우 완벽해 보입니다.
  • 모든 33PDF 파일은 Acrobat Reader에서 제대로 보입니다.
  • PDF 파일 은 print_32Acrobat Reader에서 괜찮아 보입니다(하지만 테두리가 보기 흉합니다...).
  • 다른 모든(비 print) 32pdf 파일에는 이미지가 없습니다. 텍스트가 예상 위치에 있습니다.
  • EPS 파일 에서는 32이미지 데이터가 "패턴"으로 저장됩니다.
  • EPS 파일 에서는 33이미지 데이터가 java.awt.image.BufferedImage로 저장됩니다.

버전 정보

GSView 5.0

GPL Ghostscript 9.20 (2016-09-26)

MATLAB Version: 9.1.0.441655 (R2016b)
Operating System: Microsoft Windows 10 Pro Version 10.0 (Build 14393)
Java Version: Java 1.7.0_60-b19 with Oracle Corporation Java HotSpot(TM) 
64-Bit Server VM mixed mode

MATLAB's Ghostscript:
It seems that MATLAB does not ship with Ghostscript any longer. 
From pdf files saved with MATLAB, I find this:
Apache FOP Version 2.2.0-SNAPSHOT: PDFDocumentGraphics2D
I cannot see if this is used to generate eps output, too.

C:\>which epstopdf
/Program Files/MiKTeX 2.9/miktex/bin/x64/epstopdf

C:\>epstopdf --version
MiKTeX EPS-to-PDF Converter 2.9.6200 (MiKTeX 2.9.6210 64-bit)

From EPS files, which are converted using this tool:
MiKTeX GPL Ghostscript 9.19

Adobe Acrobat Reader DC 2015.023.20056

Chrome Version 55.0.2883.87 m (64-bit)

답변1

대답은 간단하며 @samcarter의 의견을 통해 답을 찾을 수 있었습니다. Adobe Reader 설치 시의 디스플레이 설정이었습니다. "문서 색상 바꾸기"가 켜져 있었고(이 설정을 한 번 가지고 놀았던 기억이 납니다) 일반 문서에서는 크게 변경되지 않지만(확실히 이미지는 제거되지 않음) 예제 32x32(또는 더 작은) 이미지. 32x32와 33x33의 차이점은 후자가 비트맵으로 인코딩되고 대체되지 않는 반면 전자는 모양의 패턴으로 인코딩된다는 것입니다(대체됨). 이는 EPS 파일에서 볼 수 있듯이 초기 인코더(이 경우 MATLAB)가 구분하는 것이어야 합니다.

해당 옵션을 끄면 내 이미지가 다시 나타납니다!

여기에 이미지 설명을 입력하세요

관련 정보