Traducción no oficial al español rioplatense, generada con IA (Claude Sonnet 5.5) bajo la dirección y revisión de Jassiel Ovando. No es una publicación de Typst GmbH ni cuenta con su aval; ante cualquier duda, prevalece la documentación oficial en inglés. ¿Un error de traducción o una sugerencia? Reportalo. Tipografía: Reforma, de PampaType.

parElemento
Signo de pregunta
Desde: siempreIr al código fuente

Una subdivisión lógica de contenido textual.

Typst reúne automáticamente los elementos en línea en párrafos. Los elementos en línea incluyen el texto, el espaciado horizontal, los boxes y las ecuaciones en línea.

Para separar párrafos, usá una línea en blanco (o un parbreak explícito). Los párrafos también se interrumpen automáticamente con cualquier elemento de bloque (como block, place o cualquier cosa que se muestre como uno de estos).

El elemento par se usa principalmente en reglas set para afectar las propiedades de los párrafos, pero también se puede usar para mostrar explícitamente su argumento como un párrafo propio. En ese caso, el cuerpo del párrafo no puede contener contenido de bloque.

Boxes y bloques

Como se explicó arriba, normalmente los párrafos solo contienen contenido en línea. Sin embargo, podés integrar cualquier tipo de contenido de bloque en un párrafo envolviéndolo en un box.

Inversamente, podés separar contenido en línea de un párrafo envolviéndolo en un block. En ese caso, no pasará a formar parte de ningún párrafo. Leé la siguiente sección para ver una explicación de por qué esto importa y en qué se diferencia de simplemente agregar saltos de párrafo alrededor del contenido.

¿Qué se convierte en un párrafo?

Cuando agregás contenido en línea a tu documento, Typst lo envolverá automáticamente en párrafos. Sin embargo, un documento típico también contiene algo de texto que, semánticamente, no es parte de un párrafo, por ejemplo en un título o un epígrafe.

Las reglas sobre cuándo Typst envuelve contenido en línea en un párrafo son las siguientes:

En el documento ya dispuesto, no se ve de inmediato si el texto pasó a formar parte de un párrafo. Sin embargo, sigue siendo importante por varias razones:

Al crear componentes reutilizables personalizados, podés y deberías hacerte cargo de si Typst crea o no párrafos. Al envolver texto en un block en lugar de simplemente agregar saltos de párrafo alrededor, podés forzar la ausencia de un párrafo. Inversamente, al agregar un parbreak después de algún contenido en un contenedor, podés forzar que se convierta en un párrafo aunque sea una sola palabra. Esto es, por ejemplo, lo que hacen las listas no tight para forzar que sus elementos se conviertan en párrafos.

Ejemplo

#set par( first-line-indent: 1em, spacing: 0.65em, justify: true, ) We proceed by contradiction. Suppose that there exists a set of positive integers $a$, $b$, and $c$ that satisfies the equation $a^n + b^n = c^n$ for some integer value of $n > 2$. Without loss of generality, let $a$ be the smallest of the three integers. Then, we ...

Parámetros

leading
length
Configurable con set
Signo de pregunta
Por defecto: 0.65em

El espaciado entre líneas.

El interlineado (leading) define el espacio entre el borde inferior de una línea y el borde superior de la línea siguiente. Por defecto, estas dos propiedades dependen de la fuente, pero también se pueden configurar manualmente con una regla set de text.

Al establecer el borde superior, el borde inferior y el interlineado, también podés configurar una distancia constante de línea base a línea base. Podrías, por ejemplo, establecer el interlineado en 1em, el borde superior en 0.8em y el borde inferior en -0.2em para obtener un espacio entre líneas base de exactamente 2em. La distribución exacta de los valores de los bordes superior e inferior afecta los límites de la primera y la última línea.

spacing
length
Configurable con set
Signo de pregunta
Por defecto: 1.2em

El espaciado entre párrafos.

Igual que el interlineado, define el espacio entre el borde inferior de la última línea de un párrafo y el borde superior de la primera línea del párrafo siguiente. El espaciado actúa tanto por encima como por debajo y colapsa al mayor de los valores definidos por los párrafos adyacentes.

Cuando un párrafo es adyacente a un block, la propiedad above o below de ese bloque tiene prioridad sobre el espaciado del párrafo. Los títulos, por ejemplo, reducen por defecto el espaciado que tienen debajo para lograr un mejor aspecto.

justify
bool
Configurable con set
Signo de pregunta
Por defecto: false

Si se justifica el texto en su línea.

La separación en sílabas se habilitará en los párrafos justificados si la propiedad hyphenate de la función text está establecida en auto y se conoce el idioma actual.

Tené en cuenta que la alineación actual igualmente tiene un efecto en la ubicación de la última línea, salvo que termine con un salto de línea justificado.

Por defecto, Typst solo cambia el espaciado entre palabras para lograr la justificación. Sin embargo, también podés permitirle ajustar el espaciado entre caracteres individuales con la propiedad justification-limits.

justification-limits
dictionary
Configurable con set
Signo de pregunta
Por defecto: (
spacing: (min: 66.67% + 0pt, max: 150% + 0pt),
tracking: (min: 0pt, max: 0pt),
)

Cuánto se puede ajustar el espaciado entre palabras y caracteres durante la justificación.

Al justificar texto, Typst necesita estirar o comprimir una línea hasta el ancho completo de la medida. Para lograrlo, por defecto ajusta el espaciado entre palabras. Además, también puede ajustar el espaciado entre caracteres individuales. Esta propiedad te permite configurar los límites inferior y superior de estos ajustes.

La propiedad acepta un diccionario con dos entradas, spacing y tracking, cada una con un diccionario con las claves min y max. Las claves min definen hasta qué límite inferior se pueden comprimir los espacios, mientras que las claves max definen hasta qué límite superior se pueden estirar.

Si solo especificás uno de spacing o tracking, el otro conserva su valor establecido previamente (o el valor por defecto si no se había establecido).

Si querés habilitar la justificación por carácter, un buen valor para las claves min y max ronda entre 0.01em y 0.02em (negado para min). Usar el mismo valor para ambas da una buena base, pero ajustar los dos valores individualmente puede producir resultados más equilibrados, como demuestra el ejemplo de abajo. Tené cuidado de no establecer los límites demasiado amplios, ya que rápidamente se ve poco natural.

La justificación por carácter es una técnica microtipográfica de gran impacto que puede mejorar el aspecto del texto justificado, especialmente en columnas angostas. Tené en cuenta, sin embargo, que la justificación por carácter no funciona con todas las fuentes ni idiomas. Por ejemplo, las fuentes cursivas conectan las letras. Usar la justificación por carácter llevaría a conexiones irregulares.

ExpandirVer ejemplo: Justificación por carácter
#let example(name) = columns(2, gutter: 10pt)[ #place(top, float: true, scope: "parent", strong(name)) /* Text from https://en.wikipedia.org/wiki/Anne_Bayley */ ] #set page(width: 440pt, height: 21em, margin: 15pt) #set par(justify: true) #set text(size: 0.8em) #grid( columns: (1fr, 1fr), gutter: 20pt, { // These are Typst's default limits. set par(justification-limits: ( spacing: (min: 100% * 2 / 3, max: 150%), tracking: (min: 0em, max: 0em), )) example[Word-level justification] }, { // These are our custom character-level limits. set par(justification-limits: ( tracking: (min: -0.01em, max: 0.02em), )) example[Character-level justification] }, )

linebreaks
auto o str
Configurable con set
Signo de pregunta
Por defecto: auto

Cómo determinar los saltos de línea.

Cuando esta propiedad se establece en auto, su valor por defecto, se usarán saltos de línea optimizados para los párrafos justificados. Habilitar los saltos de línea optimizados para párrafos sin justificar también puede valer la pena para mejorar el aspecto del texto.

ExpandirVer ejemplo
#set page(width: 207pt) #set par(linebreaks: "simple") Some texts feature many longer words. Those are often exceedingly challenging to break in a visually pleasing way. #set par(linebreaks: "optimized") Some texts feature many longer words. Those are often exceedingly challenging to break in a visually pleasing way.
VarianteDetalles
"simple"Determina los saltos de línea con un estilo simple de primer ajuste (first-fit).
"optimized"

Optimiza los saltos de línea para todo el párrafo.

Typst intenta producir líneas de texto más parejas considerando todo el párrafo al calcular los saltos de línea.

first-line-indent
length o dictionary
Configurable con set
Signo de pregunta
Por defecto: (amount: 0pt, all: false)

La sangría que debe tener la primera línea de un párrafo.

Por defecto, solo se indentará la primera línea de un párrafo consecutivo (no el primero del documento o del contenedor, ni los párrafos que siguen inmediatamente a otros elementos de bloque).

Si en cambio querés indentar todos los párrafos, podés pasar un diccionario que contenga la cantidad (amount) de sangría como longitud y el par all: true. Cuando se omite all del diccionario, su valor por defecto es false.

Por convención tipográfica, los saltos de párrafo se indican con algo de espacio entre párrafos o con primeras líneas con sangría. Considerá

ExpandirVer ejemplo
#set block(spacing: 1.2em) #set par( first-line-indent: 1.5em, spacing: 0.65em, ) The first paragraph is not affected by the indent. But the second paragraph is. #line(length: 100%) #set par(first-line-indent: ( amount: 1.5em, all: true, )) Now all paragraphs are affected by the first line indent. Even the first one.

hanging-indent
length
Configurable con set
Signo de pregunta
Por defecto: 0pt

La sangría que deben tener todas las líneas de un párrafo excepto la primera.

ExpandirVer ejemplo
#set par(hanging-indent: 1em) #lorem(15)

body
content
ObligatorioPosicional
Signo de pregunta

El contenido del párrafo.

Funciones
Signo de pregunta

lineElemento
Signo de pregunta
Desde: 0.12.0Ir al código fuente

Una línea de párrafo.

Este elemento se usa exclusivamente para configurar los números de línea mediante reglas set y no se puede ubicar.

La opción numbering se usa para habilitar los números de línea especificando un formato de numeración.

ExpandirVer ejemplo
#set par.line(numbering: "1") Roses are red. \ Violets are blue. \ Typst is there for you.

La opción numbering toma un patrón de numeración predefinido o una función que devuelva contenido con estilo. Podés desactivar los números de línea del texto dentro de ciertos elementos estableciendo la numeración en none con reglas show-set.

ExpandirVer ejemplo
// Styled red line numbers. #set par.line( numbering: n => text(red)[#n] ) // Disable numbers inside figures. #show figure: set par.line( numbering: none ) Roses are red. \ Violets are blue. #figure( caption: [Without line numbers.] )[ Lorem ipsum \ dolor sit amet ] The text above is a sample \ originating from distant times.

Este elemento expone más opciones que se pueden usar para controlar otros aspectos de la numeración de líneas, como su alineación o su margen. Además, podés controlar si la numeración se reinicia en cada página mediante la opción numbering-scope.

numbering
none o str o function
Configurable con set
Signo de pregunta
Por defecto: none

Cómo numerar cada línea. Acepta un patrón o función de numeración que toma un único número.

ExpandirVer ejemplo
#set par.line(numbering: "I") Roses are red. \ Violets are blue. \ Typst is there for you.
ExpandirVer ejemplo
#set par.line( numbering: i => if calc.rem(i, 5) == 0 or i == 1 { i }, ) #lorem(60)

number-align
auto o alignment
Configurable con set
Signo de pregunta
Por defecto: auto

La alineación de los números de línea asociados a cada línea.

El valor por defecto auto indica un valor inteligente en el que los números crecen horizontalmente alejándose del texto, teniendo en cuenta el margen en el que están y la dirección de texto actual.

ExpandirVer ejemplo
#set par.line( numbering: "I", number-align: left, ) Hello world! \ Today is a beautiful day \ For exploring the world.

number-margin
alignment
Configurable con set
Signo de pregunta
Por defecto: start

El margen en el que aparecen los números de línea.

Nota: En un documento de varias columnas, los números de línea de los párrafos dentro de la última columna siempre aparecerán en el margen end (margen derecho para texto de izquierda a derecha y margen izquierdo para texto de derecha a izquierda), sin importar esta configuración. Ese comportamiento no se puede cambiar por el momento.

ExpandirVer ejemplo
#set par.line( numbering: "1", number-margin: right, ) = Report - Brightness: Dark, yet darker - Readings: Negative

number-clearance
auto o length
Configurable con set
Signo de pregunta
Por defecto: auto

La distancia entre los números de línea y el texto.

El valor por defecto auto produce un espacio que se adapta al ancho de la página y da resultados razonables en la mayoría de los casos.

ExpandirVer ejemplo
#set par.line( numbering: "1", number-clearance: 4pt, ) Typesetting \ Styling \ Layout

numbering-scope
str
Configurable con set
Signo de pregunta
Por defecto: "document"

Controla cuándo se reinicia la numeración de líneas.

Nota: El ámbito de la numeración de líneas debe ser uniforme en cada serie de páginas (una serie de páginas es una secuencia de páginas sin un salto de página explícito entre ellas). Por este motivo, las reglas set para él deberían definirse antes de cualquier contenido de página, normalmente al comienzo del documento.

ExpandirVer ejemplo
#set par.line( numbering: "1", numbering-scope: "page", ) First line \ Second line #pagebreak() First line again \ Second line again
VarianteDetalles
"document"Indica que el contador de números de línea abarca todo el documento, es decir, nunca se reinicia automáticamente.
"page"Indica que el contador de números de línea se reinicia al comienzo de cada página nueva.