public inbox for gentoo-pms@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-pms] [PATCH] Fixups for TeX4ht.
@ 2011-01-20 16:35 Ulrich Mueller
  2011-01-20 20:13 ` [gentoo-pms] [PATCH] Avoid parboxes in tables Ulrich Mueller
  0 siblings, 1 reply; 2+ messages in thread
From: Ulrich Mueller @ 2011-01-20 16:35 UTC (permalink / raw
  To: gentoo-pms; +Cc: Christian Faulhammer

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




^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-pms] [PATCH] Avoid parboxes in tables.
  2011-01-20 16:35 [gentoo-pms] [PATCH] Fixups for TeX4ht Ulrich Mueller
@ 2011-01-20 20:13 ` Ulrich Mueller
  0 siblings, 0 replies; 2+ messages in thread
From: Ulrich Mueller @ 2011-01-20 20:13 UTC (permalink / raw
  To: gentoo-pms; +Cc: Christian Faulhammer

Another problem, TeX4ht doesn't like if a parbox is in a table.
For example, look at table D.1 in the HTML version, which is really
ugly because the columns are much too wide.

Attached patch fixes this (and the PDF output also looks better).
Please review.

Should this be combined with today's other patch, or committed
separately?

Ulrich


---
 eapi-differences.tex |   13 +++++++------
 ebuild-functions.tex |   14 +++++++-------
 pms.cls              |    1 +
 3 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index a5c68ba..a451db1 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -3,7 +3,8 @@
 \note This chapter is informative and for convenience only. Refer to the main text for specifics.
 
 \begin{landscape}
-\begin{longtable}{lllllll}
+\newcolumntype{P}[1]{>{\setlength{\rightskip}{0pt plus 1fil}}p{#1}}
+\begin{longtable}{llP{5em}P{5em}P{8em}P{8em}P{8em}}
 \caption{Features in EAPIs}\\
 \toprule
 \multicolumn{1}{c}{\b{Feature}} &
@@ -89,10 +90,10 @@ Use dependencies & \compactfeatureref{use-deps} &
 
 \t{default\_} phase functions & \compactfeatureref{default-phase-funcs} &
     None & None &
-    \parbox[t]{1in}{\t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test}} &
-    \parbox[t]{1in}{\t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test}} &
-    \parbox[t]{1in}{\t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_install}, \t{src\_test}} \\
+    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test} &
+    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test} &
+    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
+        \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
 
 \t{AA} & \compactfeatureref{aa} &
     Yes & Yes & Yes & Yes & No \\
@@ -125,7 +126,7 @@ Most utilities die & \compactfeatureref{die-on-failure} &
     Yes & Yes & Yes & Yes & Banned \\
 
 \t{econf} arguments & \compactfeatureref{econf-options} &
-    &  &  &  & \parbox[t]{1in}{disable dependency tracking} \\
+    &  &  &  & disable dependency tracking \\
 
 \t{dodoc -r} & \compactfeatureref{dodoc} &
     No & No & No & No & Yes \\
diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 36df355..a035fd4 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -405,19 +405,19 @@ when executing any ebuild phase listed in the table. Ebuilds must not call these
 when in the phase in question.
 
 \begin{centertable}{EAPIs supporting \t{default\_} phase functions} \label{tab:default-phase-function-table}
-    \begin{tabular}{ l l }
+    \begin{tabular}{ l >{\setlength{\rightskip}{0pt plus 1fil}}p{30em} }
         \toprule
             \multicolumn{1}{c}{\textbf{EAPI}} &
             \multicolumn{1}{c}{\textbf{Supports \t{default\_} functions in phases}} \\
             \midrule
     \t{0} & None \\
     \t{1} & None \\
-    \t{2} & \parbox[t]{3in}{\t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_test}} \\
-    \t{3} & \parbox[t]{3in}{\t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_test}} \\
-    \t{4} & \parbox[t]{3in}{\t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_install}, \t{src\_test}} \\
+    \t{2} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
+        \t{src\_compile}, \t{src\_test} \\
+    \t{3} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
+        \t{src\_compile}, \t{src\_test} \\
+    \t{4} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
+        \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
     \bottomrule
     \end{tabular}
 \end{centertable}
diff --git a/pms.cls b/pms.cls
index d96d35e..ff78b1b 100644
--- a/pms.cls
+++ b/pms.cls
@@ -29,6 +29,7 @@
     graphicx,	% Image support
     ifthen,	% Comfortable conditional routines
     longtable,	% Extend tables over more than one page
+    array,	% Extended tabular environments
     lscape,	% Rotating pages
     marginnote, % Typeset a paragraph in the page margin
     paralist,	% Additional list environments
-- 
1.7.4.rc2




^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-01-20 20:13 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-20 16:35 [gentoo-pms] [PATCH] Fixups for TeX4ht Ulrich Mueller
2011-01-20 20:13 ` [gentoo-pms] [PATCH] Avoid parboxes in tables Ulrich Mueller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox