Gentoo Archives: gentoo-pms

From: Ulrich Mueller <ulm@g.o>
To: gentoo-pms@l.g.o
Cc: Christian Faulhammer <fauli@g.o>
Subject: [gentoo-pms] [PATCH] Fixups for TeX4ht.
Date: Thu, 20 Jan 2011 16:36:04
Message-Id: 19768.25694.360270.679006@a1i15.kph.uni-mainz.de
Hi,

Generation of HTML output for PMS currently doesn't work very well.
There are two problems:

1. All bold texts are transformed into PNG images.

The obvious solution for this is to postpone redefinition of the \b
command, as we already did for \i and \t.

2. The resulting pms.html contains many spurious image references,
like <img src="pmsNNNx.png" alt="PICT" /> where NNN runs from 0 to
about 500. The first of these is even inserted before the ?xml and
!DOCTYPE lines. None of these PNG files is created.

The reason is that TeX4ht is being broken by pdfpages.sty, or rather
by eso-pic.sty and atbegshi.sty (included from it) which mess around
with \shipout.

Since it doesn't make much sense to convert the cheat sheet (for which
pdfpages is required for) to HTML, I've skipped that include in the
TeX4ht case, and added a hyperlink instead.

Patch is included below. Please review.

@Fauli: Do you still read the gentoo-pms ML?

Ulrich


Postpone definition of \b command, in order not to confuse TeX4ht.
Don't load pdfpages.sty when processing with TeX4ht.
---
 pms.cls |   11 ++++++-----
 pms.tex |    7 ++++++-
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/pms.cls b/pms.cls
index 32a48b9..d96d35e 100644
--- a/pms.cls
+++ b/pms.cls
@@ -33,7 +33,6 @@
     marginnote, % Typeset a paragraph in the page margin
     paralist,	% Additional list environments
     parskip,	% Space between paragraps instead of intendation
-    pdfpages,	% Insert whole PDF documents as separate pages
     verbatim	% Extend the print-as-is functionality
 }
 
@@ -44,7 +43,7 @@
         float,		% More control over float environments
         hyperref,	% Support for hyperlinks
         algorithm,	%
-        algorithmic 	% Set algorithms
+        algorithmic	% Set algorithms
     }
 }
 \ClassInfo{pms}{Capsulation of LaTeX stuff for the Package Manager
@@ -56,8 +55,10 @@
 % Make processing with TeX4HT possible
 \newboolean{TEX4HT-HACKS}
 \ifx\HCode\undefined
-    \RequirePackage{mathptmx,
-      courier
+    \RequirePackage{%
+        mathptmx,
+        courier,
+        pdfpages	% Insert whole PDF documents as separate pages
     }
     \RequirePackage[scaled=.90]{helvet}
     \setboolean{TEX4HT-HACKS}{false}
@@ -88,11 +89,11 @@
 % Some shorthands for the lazy ones.
 % tex4ht workaround: this needs to happen after loading hyperref
 \g@addto@macro\@documentclasshook{
+    \renewcommand{\b}[1]{\textbf{#1}}
     \renewcommand{\i}[1]{\textit{#1}}
     \renewcommand{\t}[1]{\texttt{#1}}
 }
 \newcommand{\e}[1]{\emph{#1}}
-\renewcommand{\b}[1]{\textbf{#1}}
 \newcommand{\note}[1]{\paragraph{Note:} #1}
 
 % Because we are lazy, we define a table environment to fullfil our
diff --git a/pms.tex b/pms.tex
index 8d57eb1..6531e1c 100644
--- a/pms.tex
+++ b/pms.tex
@@ -47,7 +47,12 @@
 
 \bibliography{pms}
 
-\includepdf[pages=-,landscape,addtotoc={1,chapter,0,Desk Reference,cheatsheet}]{eapi-cheatsheet}
+\ifthenelse{\boolean{TEX4HT-HACKS}}{%
+  \chapter{Desk Reference}
+  \href{eapi-cheatsheet.pdf}{EAPI Cheat Sheet}
+}{%
+  \includepdf[pages=-,landscape,addtotoc={1,chapter,0,Desk Reference,cheatsheet}]{eapi-cheatsheet}
+}
 
 \end{document}
 
-- 
1.7.4.rc2

Replies

Subject Author
[gentoo-pms] [PATCH] Avoid parboxes in tables. Ulrich Mueller <ulm@g.o>