# Livros de páginas compostas

> Um passo a passo no Sandbox com um livro didático feito de páginas compostas: montar um modelo de página, preenchê-lo a partir do Markdown, rotular um mapa, traduzir a página, corrigir o que não cabe e selecionar na página e no texto

- Versão HTML: https://postext.dev/pt/docs/composed-page-books
- Última atualização: 2026-10-17
- Tempo de leitura: 12 min
- Outros idiomas: [en](https://postext.dev/en/docs/composed-page-books.md), [es](https://postext.dev/es/docs/composed-page-books.md), [ca](https://postext.dev/ca/docs/composed-page-books.md), [de](https://postext.dev/de/docs/composed-page-books.md), [fr](https://postext.dev/fr/docs/composed-page-books.md), [it](https://postext.dev/it/docs/composed-page-books.md), [zh](https://postext.dev/zh/docs/composed-page-books.md), [ja](https://postext.dev/ja/docs/composed-page-books.md), [ar](https://postext.dev/ar/docs/composed-page-books.md)

## Em poucas palavras

Esta página ensina, passo a passo, a fazer no Sandbox uma página de livro didático, com uma faixa de título, um texto e caixas coloridas. Você parte de um livro de exemplo pronto e acrescenta mais uma página a ele. Primeiro desenha a página como um modelo, depois despeja nela o texto vindo do Markdown, depois dá nome aos lugares de um mapa e traduz a página para outro idioma. No fim, vê o que fazer quando um texto é maior que a sua caixa e como saltar entre a página e o seu texto.

**Você monta uma página de livro didático a partir de um modelo, preenche-a com texto do Markdown, rotula um mapa, traduz a página e corrige o que não cabe.**

A página de um livro didático é um conjunto de caixas: uma faixa de título, um texto, uma caixa para uma definição, outra para uma atividade, um mapa. O Postext diagrama uma página assim a partir de um **modelo de página**, que guarda as caixas (seus blocos), e o Markdown só diz quais palavras vão em qual bloco. Esta página percorre o trabalho inteiro no Sandbox, num livro que já existe, e acrescenta uma página a ele. As páginas de referência dizem o que faz cada campo e cada linha de Markdown; aqui você faz cada coisa uma vez, em ordem, e vê o que ela muda: [Páginas compostas](https://postext.dev/pt/docs/composed-pages.md) para o Markdown, [Configuração › Páginas compostas](https://postext.dev/pt/docs/configuration-composed-pages.md) para o modelo, [Sandbox: as páginas compostas](https://postext.dev/pt/docs/sandbox-composed-pages.md) para as telas.

Você precisa só de um navegador. Tudo acontece no Sandbox, e o que você muda fica no seu navegador.

## 1. Abrir o livro

O livro é *Our river*, uma unidade de um livro didático do 3º ano que o [Cookbook](https://postext.dev/pt/cookbook/children-textbook-pages.md) publica como a receita Nº 156. O rio, as cidades e as imagens foram inventados para ele. Tem nove páginas, com um mapa pintado que atravessa uma página dupla, e vem em espanhol, catalão e inglês.

[Abra-o no Sandbox](https://postext.dev/pt/sandbox.md#recipe=children-textbook-pages&lang=en). Na primeira visita ele entra em **Livros** como um livro seu, que você pode mudar à vontade; com `lang=es` ou `lang=ca` no link você obtém as outras edições. Se voltar ao mesmo link mais tarde, o Sandbox pergunta se você quer abrir a sua cópia ou trocá-la pela publicada.

Duas coisas para saber antes de mexer em qualquer coisa:

- A barra acima da visualização tem um seletor com **Conteúdo** e **Design**. No modo Conteúdo você edita palavras, no painel **Texto** ou na página. No modo Design você edita modelos de página e estilos, e o texto fica só para leitura. **Alt+Shift+M** (**⌥⇧M** no Mac) troca de um para o outro.
- O painel **Texto** mostra um capítulo em Markdown. Cada página composta é um trecho que começa com `::::page{template="…"}` e termina com quatro dois-pontos. Clique em algumas palavras de uma página na visualização e o cursor vai para elas no Markdown.

## 2. Fazer um modelo de página

A página nova será uma página de revisão: uma faixa de título, um texto curto embaixo dela e duas caixas, uma para lembrar o que se aprendeu e outra para experimentar. Ela precisa de um modelo com quatro blocos.

1. Passe para **Design** e abra o painel **Design**, à esquerda. Escolha **Página e colunas** e depois **Modelos de página**. A lista mostra cada modelo do livro com um desenho dos seus blocos.
2. Clique em **Novo**. Abre-se um modelo novo. Dê a ele o **ID** `review` (o que o Markdown vai citar) e o **Nome** `Página de revisão` (o que este painel mostra). O ID aceita letras minúsculas, dígitos e hifens.
3. O modelo começa com um bloco, `text`, que **Recebe o texto solto da página**. Transforme-o na faixa de título: **Nome (vaga)**: `title`; **Estilo de caixa**: `portada`, a faixa azul que o livro já usa nos seus títulos; desligue **Recebe o texto solto da página**; **Recebe o primeiro título**: *Nível 1*, para que esse bloco receba o primeiro título `#` da página.
4. Clique em **Adicionar bloco**. O bloco novo abre embaixo da lista de blocos. **Nome (vaga)**: `text`, e ligue **Recebe o texto solto da página**: tudo o que a página escreve fora de um bloco vai para ele.
5. Adicione um bloco. **Nome (vaga)**: `remember`. **Estilo de caixa**: `dato-campo`, uma caixa verde com uma aba. **Altura mínima**: 30 mm, para que a caixa mantenha um bom tamanho quando o texto for curto.
6. Adicione um último bloco. **Nome (vaga)**: `try`. **Estilo de caixa**: `actividad-sol`. **Altura mínima**: 30 mm.
7. Em `text`, `remember` e `try`, ajuste **Largura** para *Até a borda* e **Altura** para *O conteúdo*: assim eles ocupam toda a largura da página e têm a altura do próprio texto.
8. Em **Grupos**, clique em **Adicionar grupo**. Dê a ele o nome `column`, deixe-o *Empilhados* e ajuste **Espaço entre blocos** para 6 mm. Em **Blocos do grupo, na ordem da página**, marque os quatro blocos. O grupo os mantém na ordem da lista de blocos, então o título vem primeiro. Um grupo põe seus blocos um embaixo do outro e desloca os de baixo quando um bloco cresce; por isso um texto mais longo na primeira caixa empurra a segunda para baixo em vez de passar por cima dela.

![O painel Design em Modelos de página com o modelo Página de revisão: seus quatro blocos e seu grupo, e os mesmos blocos desenhados com contornos tracejados na página.](https://postext.dev/docs-shots/pt/template.webp)

*O modelo: quatro blocos e um grupo. Na página, as caixas tracejadas são os blocos, e as etiquetas verdes dizem como cada um é dimensionado.*

O modelo não tem palavras. Nada do que você ajustou diz qual é o título nem o que as caixas contêm; o estilo de caixa dá a um bloco a sua aparência, e o grupo, a sua ordem. Há outros caminhos até o mesmo modelo. No modo Design você pode desenhar um bloco com o mouse num espaço vazio de uma página composta e mover ou redimensionar os blocos que já tem (veja [Sandbox: as páginas compostas](https://postext.dev/pt/docs/sandbox-composed-pages.md#modelos-de-página)); **Duplicar** copia um modelo para você alterá-lo; **Salvar diagramação como modelo** transforma uma página composta de que você gostou num modelo novo.

## 3. Preencher a página a partir do Markdown

1. Passe para **Conteúdo**, abra o painel **Texto** e pressione **Ctrl+End** (**Cmd+↓** no Mac) para ir ao fim do capítulo.
2. Clique em **Página composta** na barra de ferramentas do painel Texto. Um seletor lista os modelos de página do livro, cada um desenhado com seus blocos vazios. Escolha *Página de revisão*.
3. O Sandbox escreve a página para você, com um bloco vazio por vaga, e seleciona a palavra `title` do título. Digite o título por cima.

```md
::::page{template="review"}
# Check what you have learned

A river changes as it runs from the mountains to the sea. Read the boxes, then answer them in your own words.

:::frame{slot="remember" label="Remember"}
A spring gives a trickle, streams join into a river, and the river widens as it nears the sea.
:::

:::frame{slot="try" label="Try it"}
Draw a river from its spring to the sea. Write the names of the three courses on your drawing.
:::
::::
```

O título vai para o bloco que recebe o nível 1, o parágrafo que vem depois dele para o bloco que recebe o texto solto, e cada `:::frame` para o bloco da sua `slot`. O `label` são as palavras na aba de uma caixa. A página aparece no canvas como a página 10, depois das nove da unidade: uma página composta sempre começa uma página nova.

![O painel Texto com o Markdown da página nova e, ao lado, a página pronta, com um título azul, um parágrafo e duas caixas com abas.](https://postext.dev/docs-shots/pt/fill.webp)

*A página no Markdown e no canvas.*

Repare no que o Markdown não diz: nenhuma posição, nenhum tamanho, nenhuma cor. Isso é do modelo, e o mesmo Markdown diagramado com outro modelo teria outro aspecto.

## 4. Rotular o mapa

As páginas 6 e 7 trazem um mapa pintado que atravessa a página dupla. As palavras dele não fazem parte da imagem. Cada nome é uma linha do Markdown, dentro da `:::figure` do mapa:

```md
:::figure{resource="mapa" slot="mapa"}
::label[Spring]{at="nacimiento"}
::label[Molinar]{at="molinar"}
::label[Lower course]{at="bajo"}
:::
```

`at` nomeia uma **âncora**: um ponto da imagem, definido uma só vez no recurso da imagem e compartilhado por todos os idiomas. Para acrescentar a ponte de pedra de Molinar:

1. No painel Texto, vá até a figura do mapa (procure `at="bajo"`) e acrescente uma linha embaixo do último rótulo: `::label[Stone bridge]{at="bridge"}`.
2. Abra **Verificações**. A lista tem uma entrada *Rótulo numa âncora inexistente* para a página 6: a imagem não tem nenhuma âncora chamada `bridge`. Clique no botão de alfinete da entrada, *Colocar a âncora bridge na imagem*.
3. Uma janela mostra o mapa com as âncoras que ele tem. O nome `bridge` está escolhido em *Rótulos sem âncora*. Clique na imagem, no lugar onde fica a ponte.
4. Ajuste o **Estilo de rótulo** da âncora nova para `pueblo`, o estilo das cidades, e clique em **Salvar**.

![A janela Âncoras: o mapa com seus pontos, a âncora nova chamada bridge selecionada e o seu campo de estilo de rótulo.](https://postext.dev/docs-shots/pt/anchor.webp)

*A âncora nova é um clique na imagem; o estilo de rótulo a deixa com o aspecto dos nomes das cidades.*

![O mapa nas páginas 6 e 7 com o rótulo novo Stone bridge sobre a ponte, ao lado dos rótulos das cidades.](https://postext.dev/docs-shots/pt/map.webp)

*O rótulo fica no ponto em que você clicou, com as fontes do próprio livro.*

A expressão *Stone bridge* é Markdown; o ponto faz parte da imagem. Quando você traduz a página, a mesma âncora recebe outra palavra.

## 5. Traduzir a página

Uma tradução é o mesmo modelo com outras palavras. O Sandbox tem duas maneiras de guardá-la. Um livro pode trazer vários idiomas ao mesmo tempo, como um arquivo `.postext` com uma edição para cada um; então a barra acima do canvas alterna entre eles e o painel Verificações lê todos (veja [Edições de um livro](https://postext.dev/pt/docs/sandbox-previews.md#edições-de-um-livro)). A maneira mais simples, que não pede arquivo, é uma cópia do livro no outro idioma:

1. Abra **Livros**, clique em **⋯** no seu livro e escolha **Duplicar**, ou clique em **Novo** e escolha **Cópia do livro aberto**. Abra a cópia. Ela tem o mesmo nome do original: mude-o com **Renomear…**, no mesmo menu.
2. No painel **Design**, abra **Sistema de escrita** e, em **Idioma e direção**, ajuste o **Idioma do documento**. A hifenização, as aspas e as palavras que o motor escreve por conta própria (como o *Continua* no corte de uma caixa) seguem esse idioma.
3. No painel **Texto**, traduza as palavras e deixe o resto.

| Você traduz | Você deixa como está |
| --- | --- |
| O texto dos títulos, parágrafos e listas | Os quatro dois-pontos, a palavra `page` e o `template="…"` da cerca |
| O `label="…"` de um bloco | O `slot="…"` de um bloco |
| O texto entre os colchetes de `::label[…]`, `::alt[…]` e `::caption[…]` | O `at="…"` de um rótulo e o `resource="…"` de uma figura |

As imagens, as âncoras, as caixas e suas cores vêm junto com a cópia e não dão trabalho. Uma cópia da página de revisão em espanhol fica assim:

```md
::::page{template="review"}
# Repasa lo aprendido

Un río cambia mientras baja de las montañas al mar. Lee los recuadros y respóndelos con tus propias palabras.

:::frame{slot="remember" label="Recuerda"}
Un manantial da un hilo de agua, los arroyos se unen en un río y el río se ensancha al acercarse al mar.
:::

:::frame{slot="try" label="Inténtalo"}
Dibuja un río desde su manantial hasta el mar. Escribe en tu dibujo el nombre de los tres cursos.
:::
::::
```

![A cópia do livro no outro idioma: o painel Texto com a página traduzida e, no canvas, a página com o título, o texto e as abas traduzidos.](https://postext.dev/docs-shots/pt/translate.webp)

*A página traduzida: o modelo é o mesmo, as palavras não.*

## 6. Revisar o que não cabe

As palavras têm comprimentos diferentes de um idioma para outro, e uma caixa que comportava o texto em inglês pode não comportar o texto em espanhol. O painel Verificações encontra esses blocos. Para ver um, cole mais três ou quatro parágrafos de qualquer texto no bloco `remember` da página traduzida, de modo que ele guarde mais do que a página comporta.

A página agora mostra o bloco com um contorno vermelho e, embaixo do seu pé, uma faixa que diz quanto falta (*faltam 26 mm*). Em **Verificações**, sob *Páginas compostas*, a entrada *O texto não cabe no bloco* diz o que a diagramação tentou antes de desistir (mais espaço tomado dos blocos vizinhos e, depois, texto menor) e lista as saídas como botões:

- *deixe o texto descer a 82,5 %* permite que o texto deste bloco diminua até esse tamanho. Serve quando sobram poucas linhas.
- *faça-o continuar na página seguinte* manda o que não cabe para uma página acrescentada depois desta. Serve para um texto mais longo.
- *corte cerca de 495 caracteres* não muda nada. Seleciona o texto do bloco e diz quanto você deve cortar.

Um botão que muda o modelo (e com ele toda página diagramada por ele) pergunta antes, nomeando o ajuste. Clique em **Mudar**. A página é diagramada de novo, a caixa termina com a palavra do corte (*Continúa*) e o resto segue no começo de uma página acrescentada. **Cmd/Ctrl+Z** desfaz a mudança. **Rearranjo**, na barra acima do canvas, abre *O que se moveu e por quê*: os blocos cujo tamanho ou lugar a diagramação alterou para acomodar o conteúdo, com a razão em palavras.

![O painel Verificações com a entrada O texto não cabe no bloco e três botões com saídas, e a página com a primeira caixa contornada em vermelho e uma faixa que diz faltam 26 mm.](https://postext.dev/docs-shots/pt/checks.webp)

*Um bloco que não cabe e as correções que a diagramação preparou para ele.*

## 7. Selecionar na página e no texto

A página e o seu Markdown se acompanham.

- **Da página para o texto.** Clique nas palavras de um bloco: o cursor vai para esse parágrafo no painel Texto, e um caminho embaixo da visualização diz onde você está (*Página 10 › column › try › parágrafo 1*). No modo Design, o mesmo clique escolhe o bloco para o editor de modelos.
- **Do texto para a página.** Ponha o cursor num parágrafo e o bloco que o contém e o próprio parágrafo ficam contornados na página, e o mesmo caminho diz onde estão.
- **De uma verificação.** Clique numa entrada do painel Verificações e o Sandbox leva você à página, escolhe o bloco e põe o cursor no texto dele. Num livro com várias edições, passa para a edição que tem o problema.
- **Na aba de uma caixa.** Dê um clique duplo nela e um campo se abre por cima para o `label`. Enter guarda a mudança e Esc a abandona.

![A página com a segunda caixa contornada em laranja e o painel Texto mostrando o bloco selecionado no seu Markdown.](https://postext.dev/docs-shots/pt/select.webp)

*Um clique na página põe o cursor no Markdown dela, e o caminho embaixo da visualização diz qual é o bloco.*

## Para continuar

- [Levar um livro para páginas compostas](https://postext.dev/pt/docs/migrating-to-composed-pages.md): um livro que guarda o texto de suas páginas nos estilos pode ter esse texto levado para o Markdown.
- [Páginas compostas](https://postext.dev/pt/docs/composed-pages.md): cada atributo da cerca de página, da figura e das linhas de rótulo, como uma página é composta e cada aviso com a sua correção.
- [Configuração › Páginas compostas](https://postext.dev/pt/docs/configuration-composed-pages.md): cada campo de um modelo, de um bloco e de um grupo, a herança e as páginas duplas.
- [Sandbox: as páginas compostas](https://postext.dev/pt/docs/sandbox-composed-pages.md): as telas para modelos, estilos de bloco, verificações em todas as edições e correções.
