Letras Elétricas
Textões e ficções sem compromisso
by J. G. Gouvêa Atualizado em date: 2021-05-05

Separação entre conteúdo e apresentação

Publicado em: 24/02/2009

Através do LaTeX é possível obter um grau razoável de separação entre conteúdo e apresentação, o suficiente para ter certo controle sobre a forma do documento. Em nossa experiência tentaremos gerar quatro versões de um mesmo documento (um texto de romance com 140 páginas em a5):

A segunda versão terá menos páginas (cerca de 15% de páginas a menos) e a terceira terá bem mais páginas (cerca de 30% a mais). A versão para leitura on-line terá mais ou menos a mesma quantidade de páginas que a versão “pocket”.

Para isso o documento será composto de oito arquivos:

Sugiro que você crie uma pasta com o nome do documento e dentro dela um arquivo nomedodocumento.tex. Os demais arquivos se chamarão:

- preamble.tex
     - paperback.tex / hardcover.tex / pocket.tex / screen.tex
     - hyphenation.tex
     - fontspec.tex
     - config.tex
     - maketitle.tex
     - content.tex

Você poderá mudar os nomes dos arquivos sempre que quiser, mas eu recomendo começar com esses nomes — que são os que eu uso — para simplificar.

O arquivo mestre deve conter o seguinte:

\\RequirePackage{ifpdf}
     \\ifpdf
     \\documentclass\[pdftex,twoside,12pt\]{scrbook}
     \\usepackage\[brazil\]{babel}
     \\else
     \\documentclass\[twoside,12pt\]{scrbook}
     \\usepackage\[brazil\]{polyglossia}
     \\fi

     \\newcommand\\book{} % título do livro
     \\newcommand\\covertop{} %  aqui dividimos o título em até três
     \\newcommand\\covermid{} % partes a fim de facilitar a formatação
     \\newcommand\\coverbottom{}
     \\title{\\book}
     \\usepackage{sectsty}
     \\partfont{\\thispagestyle{empty}\\huge}
     \\chapterfont{\\centering\\Large}
     \\sectionfont{\\centering\\large\\sffamily}
     \\newcommand\\flourish{\\fontspec{DejaVu Sans}❦} % separador
     \\newcommand\\genre{} % para uso na ficha catalográfica
     \\newcommand\\indiceum{Novela: Século \\textsc{xxi}: Ficção brasileira}
     \\newcommand\\indicedois{Ficção: Novela: Novelas brasileiras}
     \\newcommand\\covertopfont{\\fontsize{40bp}{40bp}\\selectfont\\bfseries}
     \\newcommand\\covermidfont{\\fontsize{40bp}{40bp}\\selectfont\\bfseries}
     \\newcommand\\coverbottomfont{\\fontsize{40bp}{40bp}\\selectfont\\bfseries}
     % os comandos das três linhas acima formatarão a capa
     \\input{paperback} % configura o tamanho do papel
     \\input{hyphenation} % arquivo global de hifenização, opcional
     \\ifpdf
     \\input{pdflatex} % configura as fontes, se usar pdfTeX
     \\else
     \\input{fontspec} % configura as fontes, se usar XeTeX
     \\fi
     \\input{config} % outras configurações avançadas
     \\input{maketitle} % capa personalizada
     \\input{content}

Observe na configuração acima que o mesmo arquivo pode ser compilado tanto pelo pdfTeX (mais conservador, apenas fontes do LaTeX) quanto pelo XeTeX (mais avançado e menos estável, incluindo fontes em geral).

Se não quiser utilizar ainda todas as configurações avançadas, comente as linhas {paperback}, {config} e {maketitle}, crie um arquivo content.tex com o seu texto e vamos experimentar o que o LaTeX pode fazer.

Arquivado em: