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 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}

Veja como ficou a página quebrada usando \pagebreak:

Agora, a página quebrada usando \newpage:

Os comandos \pagebreak e \nopagebreak contém um argumento opcional de 0 a 4. Ele 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 necessariamente. 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 e compile.

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

Se você compilar o documento, verá que 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.

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, há páginas que vão ficar do lado esquerdo e páginas que vão ficar do lado direito quando o livro for aberto. 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 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}

A primeira página é de lado direito. Por isso, a margem interna dela é a esquerda:

Já a segunda página é de lado esquerdo. Por isso, a margem interna dela é a direita:

Por padrão, o LaTeX tem uma margem interna bem menor do que a externa, como você pode notar nas imagens acima. 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.

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 essa lista no argumento opcional do pacote:

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

Veja o que cada opção significa:

  • a4paper: tipo da folha (A4)
  • inner: margem interna
  • outer: margem externa
  • top: margem superior
  • bottom: margem inferior
  • bindingoffset: 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. Com essas configurações, as páginas do documento estão com 1.5 cm de margem interna e 1 cm de binding offset. Na prática, isso faz com que a margem interna tenha 2.5 cm. As outras margens mantém os seus valores.

Documentos com um lado

Quando as páginas 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 com dois lados. 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}

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

Para dividir um texto em colunas, use o pacote multicol:

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

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

Dentro do ambiente multicols é colocado o conteúdo que será dividido em colunas. No argumento do ambiente, é informado o número de colunas. Também dá pra informar um texto para ser impresso antes das colunas no argumento opcional, como foi feito.

O comando \setlength{\columnsep}{x} define 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 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}}