Processo de Compilação para HTML e PDF

Bruno Leonardo brunolmfg at gmail.com
Thu Nov 20 16:16:31 CST 2008


Pessoal,

conforme solicitação do Marcelo e de outros membros, tentarei explicar o
processo de compilação dos fontes DocBook para PDF e HTML. Este processo é
descrito no arquivo README que pode ser acessado pelas URLs abaixo:

   - http://svn.red-bean.com/svnbook/tags/en-1.4-final/src/en/README
   - http://svnbook-pt-br.googlecode.com/svn/trunk/README

Lembrando que esse processo só poderá ser executado em sistemas Unix, Linux
ou em Windows utilizando o Cygwin. Aqui eu não entro em detalhes na
utilização do Cygwin, apenas considero que você esteja utilizando uma
distribuição Linux na qual você saiba instalar programas, bibliotecas e
executar comandos simples, além de rodar scripts Make e Python.

Contudo, ao ler essa descrição no README verifiquei que temos alguns
detalhes a serem ajustados pelo fato de nosso projeto ter como "trunk" o que
seria o diretório "/src/pt_BR" no projeto original. Dessa forma, precisamos
fazer o checkout de "/src/tools" no mesmo diretório em que foi feito o
checkout do "trunk" de nosso projeto. Assim teríamos duas cópias de trabalho
lado a lado, uma do "trunk" do nosso projeto no "googlecode.com" e outra do
"src/tools" do projeto original no "svn.red-bean.com" (conforme descrito
logo abaixo).

Então, temos que criar uma cópia de trabalho do diretório que o pessoal da
versão original criaram contendo os scripts para o processo de compilação do
DocBook para PDF e HTML. Então teríamos o comando abaixo utilizando o
cliente svn, a ser executado no diretório pai do diretório que foi realizado
o checkout do nosso projeto:

   - svn co http://svn.red-bean.com/svnbook/tags/en-1.4-final/src/tools/tools

Este criará um diretório "tools" com os script de compilação. A minha versão
está na revisão 3355 e produziu a seguinte estrutura de diretórios:

  + pt_BR
  + tools
    + bin
    + dtd

Nesta estrutura temos que "pt_BR" seja o diretório em que está a sua cópia
de trabalho do projeto de tradução. Já "tools" é o diretório criado com o
checkout que acabou de ser efetuado. Em "tools" temos uma série de arquivos,
entre os quais estão script Make, Python e alguns arquivos XSL, além de dois
diretórios: "bin" e "dtd".

Agora precisamos baixar dois recursos: docbook-xsl e fop.

O docbook-xsl pode ser encontrado no endereço abaixo:

   - http://sourceforge.net/project/showfiles.php?group_id=21935

Lembrando, baixe o pacote docbook-xsl, e nas compilações que estou mantendo
no projeto, utilizo a versão 1.74.0. Descompacte o pacote abaixado dentro do
diretório "tools", e será produzido um novo diretório "docbook-xsl-X.YY.Z",
então renomeie esse diretório para somente "xsl". Certo, agora temos os
arquivos XSL de suporte para a conversão de DocBook para outros formatos.
Agora precisamos da biblioteca "libxslt", proceda para a instalar em seu
sistema.

Com estes procedimentos já estamos capazes de produzir as compilações em
HTML. Para isso, entre no diretório raiz da tradução para pt-BR e execute o
seguinte comando:

$ make all-html

Este comando produzirá duas versões em HTML, uma contendo todo o livro em um
único arquivo HTML, e outro contendo o livro em vários arquivos HTML,
separados por capítulo.

Nosso próximo passo é baixar o FOP para que possamos compilar o livro para
PDF. Este pode ser encontrado no endereço abaixo:

   - http://xmlgraphics.apache.org/fop/download.html

Então, baixe a versão binária 0.95, a qual é a mesma que estou utilizando
nas compilações mantidas no projeto. Agora, descompacte o arquivo baixado
também no diretório "tools", e será produzido ó diretório "fop-0.95", então
renomeie o diretório para somente "fop". Pronto, agora temos todos os
recursos necessários para produzir também o livro em PDF.

Contudo, necessitamos ajustar alguns detalhes em alguns arquivos. Primeiro,
abra o arquivo "fo-stylesheet.xsl" em seu editor de textos preferido e
altere a linha 8, onde você encontra fop para fop1, então teremos ela com o
seguinte texto:

<xsl:param name="fop1.extensions" select="1" />

Esta alteração modifica o processador das extensões que são utilizadas pelos
fontes do livro em DocBook. Agora abra o arquivo "Makefile.base-vars" em seu
editor e altere a linha 30 para que ele fique da seguinte forma:

SVNVERSION = svnversion -n

Esta alteração inibe a produção de um caractere de nova linha ao recuperar a
revisão em que se encontra o projeto de tradução. Neste mesmo arquivo vá até
a linha 73 e remova o comentário no início da linha, assim teremos:

FO_XSLTPROC_OPTS = --stringparam paper.type A4

Já esta alteração passa um parâmetro para a produção do FO->PDF para que
seja utilizado o tamanho A4 ao produzir as páginas do livro. Pronto, agora
podemos produzir a compilação em PDF do livro, executando o seguinte comando
no diretório raiz da tradução:

$ make pdf

Com este comando será produzido o livro em PDF. Agora, vale uma observação
para que antes de produzir qualquer compilação, execute os seguintes
comandos:

$ make clean
$ make valid

O primeiro comando limpará qualquer das compilações que tenham sido
produzidas anteriormente. Já o segundo comando verificará se os arquivos XML
do projeto, e as respectivas alterações submetidas por nós, são válidas
dentro do formato DocBook. Dessa forma, caso algum erro tenha sido comedito
nos arquivos XML, como por exemplo, esquecer de fechar uma tag, ou incluir
uma tag inválida, estes serão detectados e relatados. Assim, as compilações
só serão produzidas caso nenhum aviso de erro seja relatado pelo comando de
validação dos fontes.

Acredito que eu tenha abordado todos os detalhes que envolveram as
configurações para que o processo de compilação produza o livro nas versões
em HTML e PDF. Se algum erro cometido, ou ainda se tiver algum problema no
processo, poste seu problema na lista e algum de nossos membros poderá te
auxiliar, e até mesmo eu que todos os dias leio as mensagens postadas na
lista.

Espero que as orientações acima sejam suficientes.

Abraços!


Att,
Bruno Leonardo Gonçalves
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.red-bean.com/pipermail/svn-pt_br/attachments/20081120/b16de3c2/attachment.html>


More information about the svn-pt_br mailing list