Páginas
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}}