Páginas

  1. Quebras de página
  2. Margens
  3. Dimensões e orientação
  4. Divisão em colunas

Esse tutorial é dedicado à questões relacionadas à páginas em LaTeX. Você vai ver como o LaTeX lida com margens, dimensões e orientação das páginas, como dividir as páginas em colunas, e como quebrar páginas.

Quebras de página

Dois comandos usados para quebrar uma página são o \pagebreak e o \newpage. A lógica é a mesma dos comandos \linebreak e \newline, que são comandos usados para quebrar linhas. Enquanto o \pagebreak aumenta o espaço entre os parágrafos da página, fazendo com que ela se estique até o fim dela, o \newpage apenas quebra a página.

Compile e veja o documento abaixo:

\documentclass{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[brazilian]{babel}
\usepackage{lipsum}

\begin{document}
    \chapter{Primeiro capítulo}
        \lipsum[1-5]
        \pagebreak
        \lipsum[1-2]
    \chapter{Segundo capítulo}
        \lipsum[1-5]
        \newpage
        \lipsum[1-2]
\end{document}

Os comandos \pagebreak e \nopagebreak contém um argumento opcional de 0 a 4, que informa ao LaTeX a importância de atender o pedido de quebrar a página, no caso do \pagebreak, ou de não quebrá-la, no caso do \nopagebreak. A lógica é a mesma dos comandos \linebreak e \nolinebreak, que usam os mesmos valores para informar a importância de quebrar uma linha e de não quebrá-la, respectivamente.

Há ainda o comando \cleardoublepage que, ao contrário do que você pode pensar, não pula duas páginas. O que ele faz é quebrar uma página e quebrar a seguinte apenas se ela não for uma página de lado direito em uma classe de documento com páginas de dois lados. Substitua a marcação do primeiro capítulo pela marcação abaixo:

\lipsum[1-3]
\cleardoublepage
\lipsum[1-7]
\cleardoublepage

No primeiro \cleardoublepage, foram dadas duas quebras de página porque a página seguinte era uma página de lado esquerdo. Já no segundo \cleardoublepage, houve apenas uma quebra porque a página seguinte era de lado direito. Quando um capítulo termina e outro começa, esse comando é usado implicitamente pelo LaTeX, por padrão.

E é claro que o \cleardoublepage só funcionou dessa forma porque o documento tem páginas que contém dois lados. Se fosse um documento de apenas um lado, como um article, o \cleardoublepage teria exatamente o mesmo efeito de um \newpage.

Margens

A forma como o LaTeX lida com as margens depende do tipo do documento: se for um documento de páginas com dois lados, as margens são tratadas como margens interna e externa; caso o documento tenha páginas com apenas um lado, as margens são tratadas como margens esquerda e direita. Veja em maiores detalhes cada uma dessas situações.

Documentos com dois lados

O tipo de documento mais comum com dois lados é o livro (book). Imagine que você esteja criando um livro no LaTeX. Pense como ele seria quando fosse impresso. Que diferenças ele tem em relação a um documento com páginas de um lado? Em um livro, teremos páginas que vão ficar do lado esquerdo e páginas que vão ficar do lado direito quando os leitores abrirem o livro e começarem a lê-lo. O LaTeX define em que lado as páginas vão ficar automaticamente.

Há dois tipos de margem, interna e externa. A margem interna é a margem que fica mais próxima da área de colagem das páginas de lado esquerdo e direito do livro. Em páginas de lado esquerdo, a margem interna é a margem da direita. Já em páginas de lado direito, a margem interna é a margem esquerda. E a margem externa, logicamente, é a margem oposta à interna. Achou a explicação confusa? Compile e veja o documento abaixo com atenção, e leia a explicação dos conceitos novamente. Vai ficar muito mais fácil entender.

\documentclass[a4paper, 11pt]{book}
\usepackage{lipsum}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[brazilian]{babel}

\begin{document}
    \chapter{Primeiro capítulo}
        \lipsum[1-8]

    \chapter{Segundo capítulo}
        \lipsum[1-8]
\end{document}

Veja que, por padrão, o LaTeX tem uma margem interna bem menor do que a externa.

Você pode não gostar das medidas das margens e querer utilizar outras, seja por preferência, ou, caso você esteja escrevendo um livro, porque você precisa seguir um modelo estabelecido pela editora do seu livro. Para mudar as medidas das margens, é necessário usar o pacote geometry. Ele permite controlar as dimensões das margens, o espaço extra para a colagem e outras coisas também. Para mudar essas medidas, passe valores em uma lista de opções separada por vírgulas, no estilo chave=valor. Coloque a lista no argumento opcional do pacote:

\usepackage[a4paper, inner=1.5cm, outer=3cm, top=2cm, bottom=3cm, bindingoffset=1cm]{geometry}

Esse bindingoffset é exatamente o espaço extra para a colagem. Na prática, o espaço do lado da margem interna acaba sendo a soma da margem interna e do binding offset. Ou seja, com essas configurações, as páginas do documento estão com 1.5 cm de margem interna, 1 cm de binding offset, o que dá 2.5 cm no lado da margem interna, 3 cm de margem externa, 2 cm de margem superior e 3 cm de margem inferior.

Documentos com um lado

Quando as páginas do seu documento só tem um lado, como é o caso das páginas de um artigo, não há margem interna e nem margem externa, porque essas margens só existem em documentos que tem dois lados de páginas. Ao invés disso, temos margens esquerda (left) e direita (right). Por isso, ao definir as margens em documentos desse tipo, basta substituir as margens inner e outer por essas margens:

\usepackage[a4paper, left=1.5cm, right=3cm, top=2cm, bottom=3cm, bindingoffset=1cm]{geometry}

Note que o bindingoffset permanece. Isso porque ele também existe em documentos com um lado. Ele se soma à margem esquerda, aumentando o espaço do lado esquerdo.

Dimensões e orientação

O pacote geometry também pode ser usado para mudar as dimensões e a orientação da página. Para alterar a largura e a altura da página, basta passar os valores dos atributos paperwidth e paperheight.

\documentclass[a4paper, 11pt]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[brazilian]{babel}
\usepackage{lipsum}
\usepackage[a4paper, paperwidth=20cm, paperheight=25cm]{geometry}

\begin{document}
    \chapter{Primeiro capítulo}
        \lipsum[1-8]

    \chapter{Segundo capítulo}
        \lipsum[1-8]
\end{document}

Uma alternativa é passar o atributo papersize, passando a largura e a altura do papel, separando os dois por uma vírgula e colocando-os entre chaves:

\usepackage[a4paper, papersize={20cm, 25cm}]{geometry}

Você pode mudar a orientação para landscape (paisagem). O padrão é portrait (retrato). Nesse caso, trata-se de um atributo que não requer um valor. Basta inserir o nome da orientação:

\usepackage[a4paper, papersize={20cm, 25cm}, landscape]{geometry}

Até agora, as dimensões da página só foram especificadas em centímetros, mas é possível usar outras unidades de medida também, como milímetros:

\usepackage[a4paper, papersize={200mm, 250mm}, landscape]{geometry}

Também dá pra mudar as dimensões da área do texto do documento usando os atributos textwidth e textheight, para alterar a largura e a altura, respectivamente:

\usepackage[textwidth=10cm, textheight=17cm]{geometry}

Veja que definindo as dimensões do papel e do texto, você automaticamente define as margens, porém você não tem o controle total sobre elas como você tem quando define os atributos da margem diretamente.

Divisão em colunas

É possível dividir o texto de um documento do LaTeX em colunas. Para isso, pode ser usado o pacote multicol. Depois de incluir o pacote, é só colocar dentro do ambiente multicols aquilo que você quer dividir em colunas, e informar o número de colunas nas quais você quer que o texto seja dividido. Também dá pra informar um texto para ser impresso antes das colunas:

\documentclass{article}
\usepackage{lipsum}
\usepackage{multicol}

\begin{document}
    \begin{multicols}{3}[Esse texto precede o texto impresso nas colunas]
        \lipsum
    \end{multicols}
\end{document}

É possível redefinir o espaço entre as colunas, usando o comando \setlength{\columnsep}{x}, sendo x o espaço entre as colunas. Coloque a marcação abaixo no final do preâmbulo do documento anterior:

\setlength{\columnsep}{7mm}

Você também pode usar o comando abaixo para colocar linhas verticais separando as colunas:

\setlength{\columnseprule}{1pt}

Dá para mudar também a cor das linhas. Para isso, é necessário usar o pacote color. O comando abaixo muda a cor das linhas para azul:

\usepackage{color}
...
\def\columnseprulecolor{\color{blue}}