* Provide better instructions for installing the tools necessary for generating

PDF output
* Upgrade the PDF stylesheet to play nicely with the latest docbook-xsl
  release


git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@4307 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
Matthew Burgess 2004-11-12 19:43:20 +00:00
parent a66ea2b59b
commit 5507127b16
2 changed files with 40 additions and 22 deletions

53
INSTALL
View File

@ -1,6 +1,6 @@
LFS Book Conversion Tools Installation Instructions LFS Book Conversion Tools Installation Instructions
After downloading the CVS source, there are some things that need to be set up After downloading the SVN source, there are some things that need to be set up
on your computer if you want to convert the XML source into something easier to on your computer if you want to convert the XML source into something easier to
read (e.g. HTML, TXT, PS or PDF). If you are interested in this, then keep read (e.g. HTML, TXT, PS or PDF). If you are interested in this, then keep
reading. If you are only interested in editing the XML source for re- reading. If you are only interested in editing the XML source for re-
@ -23,29 +23,52 @@ If all you want to do is convert XML to HTML perform the following:
* DocBook XSL Stylesheets * DocBook XSL Stylesheets
- http://www.linuxfromscratch.org/blfs/view/cvs/pst/docbook-xsl.html - http://www.linuxfromscratch.org/blfs/view/cvs/pst/docbook-xsl.html
- additionally create a link from - additionally create a link from
/usr/share/xml/docbook/xsl-stylesheets-1.65.1 to /usr/share/xml/docbook/xsl-stylesheets-1.67.0 to
/usr/share/xml/docbook/xsl-stylesheets-current /usr/share/xml/docbook/xsl-stylesheets-current
cd /usr/share/xml/docbook/ && ln -s xsl-stylesheets-1.67.0 /usr/share/xml/docbook/xsl-stylesheets-current
ln -s xsl-stylesheets-1.65.1 xsl-stylesheets-current
* HTMLTidy * HTMLTidy
- http://tidy.sourceforge.net/ - http://www.linuxfromscratch.org/blfs/view/cvs/general/tidy.html
- you'll also need the patch at http://linuxfromscratch.org/~matthew/tidy-041026-prevent_PRE_newlines-1.patch as well.
Installation of HTMLTidy is a simple `./configure --prefix=/usr && \
make && make install`
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
If you want to be able to convert the book into PDF as well, then you will need If you want to be able to convert the book into PDF as well, then you will need
the FOP package. This takes an XSL-FO file (created with libxslt which you the FOP package. This takes an XSL-FO file (created with libxslt which you
already installed) and converts it to PDF: already installed) and converts it to PDF. FOP is dependent on ANT
(Another Neat Tool) and the Java Advanced Imaging (JAI) API.
- http://www.apache.org/dist/xml/fop/fop-0.20.5-bin.tar.gz First we need the Java SDK installed. See
http://www.linuxfromscratch.org/blfs/view/cvs/general/j2sdk.html.
Install FOP by running: Now install JAI:
- Download jai-1_1_2_01-lib-linux-i586-jdk.bin from
http://java.sun.com/products/java-media/jai/downloads/download-1_1_2_01.html
(download the version for the JDK Install).
- chmod +x jai-1_1_2_01-lib-linux-i586-jdk.bin
- cd /opt/j2sdk && /path/to/jai-1_1_2_01-lib-linux-i586-jdk.bin
cd /opt && Next install ANT:
tar -xzvf /usr/src/fop-0.20.5-bin.tar.gz && - download http://www.apache.org/dist/ant/source/apache-ant-1.6.2-src.tar.bz2
mv fop-0.20.5 fop - tar -xjvf apache-ant-1.6.2-src.tar.bz2
(recent versions of tar will warn about "A lone zero block at 33476" but
this can be safely ignored)
- cd apache-ant-1.6.2 && \
./boostrap.sh && \
./build && \
install -d /opt/ant && \
cp -r dist/* /opt/ant
- edit your bash profile to set ANT_HOME=/opt/ant and PATH=$PATH:/opt/ant/bin
Now set JAVA_HOME, FOP_HOME and PATH to values appropriate to your system. And finally install FOP:
- download http://www.apache.org/dist/xml/fop/fop-0.20.5-src.tar.gz
- tar -xzvf fop-0.20.5-src.tar.gz
(recent versions of tar will warn about "A lone zero block at 33476" but
this can be safely ignored)
- cd fop-0.20.5 &&
./build.sh &&
install -d /opt/fop/{bin,lib} &&
cp lib/{avalon-framework-cvs-20020806.jar,batik.jar} build/fop.jar \
/opt/fop/lib &&
cp fop.sh /opt/fop/bin
- edit your bash profile to set FOP_HOME=/opt/fop and PATH=$PATH:/opt/fop/bin

View File

@ -106,17 +106,12 @@
<xsl:variable name="id"> <xsl:variable name="id">
<xsl:call-template name="object.id"/> <xsl:call-template name="object.id"/>
</xsl:variable> </xsl:variable>
<xsl:variable name="graphic.width">
<xsl:call-template name="admon.graphic.width"/>
</xsl:variable>
<fo:block id="{$id}"> <fo:block id="{$id}">
<fo:list-block provisional-distance-between-starts="{$graphic.width} + 18pt" <fo:list-block xsl:use-attribute-sets="list.block.spacing">
provisional-label-separation="18pt" xsl:use-attribute-sets="list.block.spacing">
<fo:list-item> <fo:list-item>
<fo:list-item-label end-indent="label-end()"> <fo:list-item-label end-indent="label-end()">
<fo:block margin-left="4pt"> <fo:block margin-left="4pt">
<fo:external-graphic width="auto" height="auto" <fo:external-graphic width="auto" height="auto">
content-width="{$graphic.width}" >
<xsl:attribute name="src"> <xsl:attribute name="src">
<xsl:call-template name="admon.graphic"/> <xsl:call-template name="admon.graphic"/>
</xsl:attribute> </xsl:attribute>