TeX4ht: \includegraphics[페이지=10]{foo.pdf}

TeX4ht: \includegraphics[페이지=10]{foo.pdf}

다음 형식의 명령을 사용하여 포함된 많은 그림이 포함된 긴 LaTeX 문서가 있습니다.

\includegraphics[page=10]{foo.pdf}

pdfLaTeX를 사용하면 모든 것이 잘 컴파일됩니다. TeX4ht를 사용하여 문서를 HTML로 변환하려고 했는데 TeX4ht page=\includegraphics.

쉬운 해결책이 있나요? 이상적으로는 기본 Latex 소스를 수정하지 않은 상태로 유지하고 서문만 조정하는 것을 선호합니다.

답변1

늦어서 죄송합니다. 다음 코드는 Jukka에 도움이 될 것입니다.

\makeatletter

\@ifundefined{Configure}
 {\def\Includegraphics[#1]#2{\includegraphics[page={#1}]{#2}}}
 {\def\Includegraphics[#1]#2{\def\GPT@page{#1}\includegraphics{#2}}
  \Configure{graphics*}
   {pdf}
   {\Needs{"
    pdftops -eps -f \GPT@page\space -l \GPT@page\space \[email protected] \Gin@base-\[email protected]"
    ;
    convert \Gin@base-\[email protected] \Gin@base-\[email protected]
    "}%
    \Picture[pict]{\Gin@base-\[email protected]}%
   }%
  }%
\makeatother

\Includegraphics[10]{foo.pdf}이제 pdfLaTeX 및 TeX4ht에서 모두 작동합니다.

답변2

TeX4ht는 PDF 모드에서 pdfTeX를 사용하지 않고 대신 dvips를 사용합니다. 그러나 dvipsPDF 파일이나 다중 페이지 파일을 읽을 수 없습니다. epstopdf다음을 사용하여 10페이지를 추출하고 EPS로 변환할 수 있습니다 xpdf.

epstopdf -eps -f 10 -l 10 foo.pdf foo-10.eps

또는 ghostscript다음과 같이 사용할 수 있습니다.

gs -dFirstPage=10 -dLastPage=10 -sDEVICE=epswrite -dBATCH -dNOPAUSE -sOutputFile=foo-10.eps foo.pdf

그런 다음 소스에서:

\ifpdf
  \includegraphics[page=10]{foo.pdf}
\else
  \includegraphics{foo-10.eps}
\fi

그리고 패키지는 ifpdf서문에 필요합니다:

\usepackage{ifpdf}

관련 정보