Márgenes y caja de texto

Esta página explica cómo fijar el tamaño de papel, los márgenes y el área donde se compone el texto. En resumen: en vez de calcular longitudes a mano, usa el paquete geometry; es mucho más fácil y seguro. Nos centraremos en geometry, luego veremos las longitudes internas de LaTeX que ajusta y cómo cambian los márgenes en impresión a una o dos caras.

geometry es el paquete estándar para fijar tamaño de papel y márgenes juntos (escrito por Hideo Umeki; mantenido hoy por LaTeX Project y David Carlisle). Conoce todos los tamaños estándar, así que rara vez necesitas escribir dimensiones: normalmente basta una línea. Hay dos formas equivalentes de dar opciones: como opciones de \usepackage o con el comando \geometry{...}.

latex
% どちらか一方でよい(両方同じ意味)
\usepackage[a4paper, margin=1in]{geometry}

% または
\usepackage{geometry}
\geometry{a4paper, margin=1in}

Solo eso da papel A4 con márgenes de 1 pulgada en los cuatro lados. \geometry puede llamarse cuantas veces quieras en el preámbulo; un ajuste posterior de la misma clave sobrescribe el anterior. El orden de opciones no importa ([left=2cm, right=3cm] equivale a [right=3cm, left=2cm]).

El tamaño de papel se elige por nombre. Están a4paper, letterpaper, b5paper, a5paper, además de A0–A6, B0–B6, legalpaper, executivepaper y otros. Para tamaño personalizado usa paperwidth= y paperheight= (o papersize={ancho,alto}). Para orientación horizontal, añade landscape y se intercambian ancho y alto.

Claves principales de geometry

geometry tiene dos familias de claves: una para especificar márgenes y otra para el tamaño del área de texto. Fijar una permite calcular la otra a partir del papel. Estas son las más usadas.

OpciónSignificado
margin=Los cuatro márgenes a la vez; margin={A,B} significa izquierda/derecha = A, arriba/abajo = B
left= / right= / top= / bottom=Cada margen por separado (lmargin/rmargin/tmargin/bmargin son alias)
inner= / outer=Márgenes interior/exterior en doble cara; alias de left/right
hmargin= / vmargin=hmargin={izquierda,derecha} (laterales), vmargin={arriba,abajo}
textwidth= / textheight=Fijar directamente ancho/alto del área de texto (width/height están relacionados)
total={幅,高さ}Tamaño de todo el bloque del cuerpo (incl. encabezado/pie según include)
bindingoffset=Desplazamiento de encuadernación; añade esa longitud al margen interior (o izquierdo en una cara)
includehead / includefootCuenta encabezado (\headheight+\headsep) / pie (\footskip) como parte de la altura
landscapeOrientación horizontal; intercambia ancho y alto

Una advertencia: en geometry, top= / bottom= significan el margen desde el borde del papel hasta la parte superior/inferior del bloque de cuerpo, no la longitud nativa \topmargin de LaTeX que veremos abajo. geometry convierte correctamente a las longitudes nativas, así que puedes pensar en esta “distancia desde el borde”.

Un ejemplo completo

Una configuración común para un trabajo — A4, márgenes laterales de 25 mm, superior/inferior de 30 mm, 5 mm de encuadernación y encabezado incluido— puede escribirse así. Si no indicas ancho y alto del área de texto, se derivan automáticamente del papel y los márgenes.

document.tex
\documentclass{article}
\usepackage{geometry}
\geometry{
  a4paper,
  hmargin=25mm,      % 左右の余白
  vmargin=30mm,      % 上下の余白
  bindingoffset=5mm, % 綴じ代(内側に追加)
  includehead,       % ヘッダを版面の高さに含める
}
\begin{document}
本文がこの版面に組まれます。
\end{document}

Para fijar el tamaño del área de texto, da textwidth= o total= en lugar de márgenes. Por ejemplo, \geometry{a4paper, textwidth=15cm, textheight=24cm} coloca un área de ese tamaño centrada en la página, con márgenes laterales y superior/inferior equilibrados automáticamente (el centrado horizontal es predeterminado en una cara).

Las longitudes internas de LaTeX

geometry es cómodo precisamente porque ajusta de forma coherente, por ti, los parámetros de longitud de maquetación que LaTeX usa internamente. Los principales son:

ParámetroSignificado
\textwidthAncho del cuerpo (área de texto)
\textheightAltura del cuerpo (área de texto)
\oddsidemarginDesplazamiento del margen izquierdo en páginas impares (todas en una cara), medido desde el origen
\evensidemarginDesplazamiento del margen izquierdo en páginas pares, a doble cara
\topmarginDistancia desde el origen (1 pulgada desde arriba) hasta la parte superior del encabezado
\headheightAltura de la caja que contiene el encabezado
\headsepEspacio entre encabezado y parte superior del cuerpo
\footskipDistancia de línea base entre la última línea de texto y el pie
\marginparwidthAncho de notas marginales
\paperwidth / \paperheightDimensiones físicas del papel

La sutileza es que \oddsidemargin y \topmargin se miden como desplazamientos desde un punto situado una pulgada dentro de la esquina superior izquierda del papel (el origen). Así, el margen izquierdo real es “1 pulgada + \oddsidemargin”. Ese desplazamiento histórico de TeX hace que ajustar estos valores a mano con \setlength obligue a calcular la relación entre área de texto y márgenes; es fácil cambiar \textwidth y que los márgenes dejen de cuadrar.

latex
% 手で合わせる古典的なやり方(誤りやすい)
\setlength{\oddsidemargin}{0pt}   % 実際の左余白 = 1in + 0pt
\setlength{\textwidth}{16cm}
\setlength{\topmargin}{0pt}
\setlength{\textheight}{24cm}
% → 右余白・下余白は自分で辻褄を合わせる必要がある

Por estas razones, se recomienda claramente dejar que geometry gestione los márgenes. Si quieres ver los valores actuales, el comando \layout del paquete layout genera una página con un diagrama de estos parámetros.

latex
\usepackage{layout}
% ...本文中で
\layout   % 現在のページレイアウトを図で出力

Una cara y dos caras (oneside / twoside)

El comportamiento de los márgenes laterales depende de si el documento es a una cara (oneside) o a dos caras (twoside). article es de una cara por defecto; book, de dos. En una cara, todas las páginas tienen los mismos márgenes (solo se usa \oddsidemargin). En dos caras, para alinear los márgenes interiores al encuadernar, los márgenes izquierdo y derecho se intercambian entre páginas impares y pares: impares con \oddsidemargin, pares con \evensidemargin.

En diseños a dos caras, normalmente haces más ancho el margen interior (encuadernación) que el exterior. Con geometry, activa twoside, fija inner= / outer= y añade opcionalmente bindingoffset= al interior. Puedes pasar twoside como opción de clase o directamente a geometry.

document.tex
\documentclass[twoside]{book}
\usepackage{geometry}
\geometry{
  a4paper,
  inner=30mm,        % 綴じ側(内側)は広めに
  outer=20mm,        % 小口(外側)は狭めに
  bindingoffset=5mm, % 綴じ代をさらに内側へ追加
}
\begin{document}
% 奇数ページと偶数ページで内外の余白が入れ替わる
\end{document}

Si quieres un diseño a dos caras cuyos márgenes *no* se intercambien en páginas alternas (notas marginales siempre en el mismo lado), usa la opción asymmetric de geometry.

Cambiar el diseño a mitad del documento

Para cambiar los márgenes solo en algunas páginas — una página ancha para una tabla horizontal, un diseño distinto en un apéndice — llama \newgeometry{...} en el cuerpo y \restoregeometry donde quieras volver al diseño del preámbulo. \newgeometry reinicia todas las opciones anteriores salvo las de tamaño de papel y aplica solo las que le pases. Ambos comandos insertan \clearpage, así que el cambio nunca ocurre a mitad de página.

latex
% プリアンブルの余白で組まれている途中で…
\newgeometry{margin=1cm}   % ここから余白を狭く(改ページが入る)

% 広い版面が必要なページ(大きな図表など)

\restoregeometry           % 元のレイアウトに戻す(再び改ページ)

Para insertar una sola página horizontal, combina \newgeometry{landscape, ...} o usa el entorno landscape de los paquetes especializados lscape / pdflscape. Si quieres dar estilo a títulos o encabezado/pie en vez de cambiar la geometría de página, los paquetes adecuados son titlesec y fancyhdr.