이 질문에는 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.pdf
print-d_32.pdf
잘못 표시되는 파일입니다 . 이것은 다음과 같습니다:
내 관찰
- 모든 EPS 파일은 GSview에서 정상적으로 보입니다.
- 모든 PDF 파일은 Google Chrome에서 정상적으로 보입니다.
saveas
파일 은print-d
어디에서나 동일하게 보입니다. 이는 놀라운 일이 아닙니다.print
파일에 수동으로 잘라야 할 보기 흉한 테두리가 있다는 것은 다소 놀랍습니다 . 나는 그렇게 하고 싶지 않습니다.- 다른 모든 (비
print
) PDF 파일은 구성 측면에서 매우 완벽해 보입니다. - 모든
33
PDF 파일은 Acrobat Reader에서 제대로 보입니다. - PDF 파일 은
print_32
Acrobat Reader에서 괜찮아 보입니다(하지만 테두리가 보기 흉합니다...). - 다른 모든(비
print
)32
pdf 파일에는 이미지가 없습니다. 텍스트가 예상 위치에 있습니다. - 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)가 구분하는 것이어야 합니다.
해당 옵션을 끄면 내 이미지가 다시 나타납니다!