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

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

Ich habe ein langes LaTeX-Dokument mit vielen Abbildungen, die mit Befehlen der Form eingefügt wurden

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

page=Mit pdfLaTeX lässt sich alles problemlos kompilieren. Ich hatte vor, das Dokument mit TeX4ht in HTML zu konvertieren, aber es scheint, dass TeX4ht die Attribute in nicht versteht \includegraphics.

Gibt es einfache Lösungen? Idealerweise würde ich es vorziehen, meine Haupt-Latex-Quelle unverändert zu lassen und nur die Präambel zu optimieren.

Antwort1

Entschuldigen Sie die Verspätung. Der folgende Code wird dem Jukka wahrscheinlich helfen:

\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}sollte jetzt sowohl mit pdfLaTeX als auch mit TeX4ht funktionieren.

Antwort2

TeX4ht verwendet im PDF-Modus nicht pdfTeX, sondern dvips. Es dvipskann jedoch weder PDF-Dateien noch mehrseitige Dateien lesen. Seite 10 kann extrahiert und in eps konvertiert werden epstopdfmit xpdf:

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

Oder ghostscriptkann zB verwendet werden:

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

Dann in der Quelle:

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

Und ifpdfin der Präambel wird ein Paket benötigt:

\usepackage{ifpdf}

verwandte Informationen