
저는 상당히 많은 데이터 포인트가 포함된 플롯이 많은 문서를 작성하고 있습니다. 이러한 플롯은 벡터 이미지로 저장되며 .pdf
렌더링에는 많은 시간이 걸립니다. 그래서 그 중 하나가 포함된 페이지를 우연히 발견할 때마다 편집자는 잠시 동안 멈춥니다.
나는 graphicx에 초안 옵션이 있다는 것을 알고 있지만 그 옵션은 이미지를 숨기므로 파일 이름만으로는 이미지를 구분할 수 없기 때문에 그다지 좋은 솔루션이 아닙니다. 이는 매우 일반적인 이름을 사용한 실험 결과입니다.
초안 모드에서 이미지를 래스터화(예: 로)하고 최종 모드에서 .png
원본을 사용할 수 있는 방법이 있습니까 ? ImageMagick이나 다른 외부 도구를 사용하여 변환을 수행할 수 있다는 것을 알고 있지만 모든 이미지를 makefile에 추가하고 초안과 최종용 .pdf
으로 복제해야 하기 때문에 추가 작업이 많이 필요한 것 같습니다 .\includegraphics
문서에 설명되어 있지 않은 type
그래픽 x의 일부 매개변수가 있습니다 . command
아마도 그 중 하나를 사용하여 달성할 수 있을까요? 을 연결 \includegraphics
하고 외부 명령을 호출할 수 있을까요? 명령 작성을 관리하고 싶지만 LaTeX에서 후크가 어떻게 작동하는지 전혀 모릅니다.
그렇지 않으면 품질에 관한 한 래스터 그래픽이 벡터 그래픽보다 열등하다는 사실을 잘 알고 있습니다. 최종 버전에서는 벡터 그래픽을 사용할 예정입니다. 이는 빠른 초안 미리보기용으로만 사용됩니다.
답변1
이미지 검색 경로는 다음과 같이 변경할 수 있습니다.
\graphicspath
PDF 이미지용 디렉토리 또는 이에 상응하는 PNG 이미지용 디렉토리가 있습니다.\DeclareGraphicsExtensions
이미지 파일이 확장자 없이 제공되었을 때 어떤 확장자가 먼저 사용되는지 순서를 변경하는 데 사용할 수 있습니다. 패키지는grfext
설정 변경을 위한 인터페이스를 제공합니다.
epstopdf
pdfTeX 또는 luaTeX가 사용되고 쉘 이스케이프 기능이 활성화된 경우 패키지를 사용하여 PDF에서 PNG로 자동 변환을 호출할 수 있습니다.
예:
가 ( ) \mydraft
로 정의된 경우 ImageMagick의 를 통해 로 변환하도록 확장 규칙을 덮어씁니다 . 그렇지 않으면 확장이 선호됩니다.Y
\let\mydraft=Y
.pdf
.png
convert
.pdf
\documentclass{article}
\usepackage{graphicx}
\usepackage{grfext}
\ifx\mydraft Y
\usepackage{epstopdf-base}
\epstopdfDeclareGraphicsRule{.pdf}{png}{.png}{%
convert #1 \OutputFile
}
\epstopdfDeclareGraphicsRule{.PDF}{png}{.png}{%
convert #1 \OutputFile
}
\else
\PrependGraphicsExtension*{.pdf}
\fi
\begin{document}
\includegraphics{image}
\end{document}
특수 초안 모드는 에 의해 활성화되며 \let\mydraft=Y
명령줄에서도 제공할 수 있습니다. 예:
pdflatex --shell-escape "\let\mydraft=Y\input{mydocument}"
그런 다음 image.pdf
변환되어 로 포함됩니다 image-pdf-converted-to.png
.
그렇지 않으면 주변에 image.pdf
있더라도 포함됩니다 image.png
.
키\includegraphics
변환 기능은 \includegraphics
키 사용 으로 제한될 수도 있습니다 pdfpng
. 키 코드는 파일의 그래픽 규칙을 변경하여 .pdf
파일을 PNG로 변환합니다. \mydraft
그렇지 않은 경우 Y
키는 작동하지 않습니다.
\documentclass{article}
\usepackage{graphicx}
\usepackage{grfext}
\ifx\mydraft Y
\usepackage{epstopdf-base}
\csname define@key\endcsname{Gin}{pdfpng}[]{%
\epstopdfDeclareGraphicsRule{.pdf}{png}{.png}{%
convert ##1 \OutputFile
}%
}
\else
\PrependGraphicsExtensions*{.pdf}
\csname define@key\endcsname{Gin}{pdfpng}[]{}
\fi
\begin{document}
\includegraphics{image1}
\includegraphics[pdfpng]{image2-converted-to-png-when-mydraft}
\includegraphics{image3}
\end{document}
( 이 활성화 되면 \define@key
대신 사용할 수 있습니다 .)\csname define@key\endcsname
\makeatletter