# Escrever em Typst

Escreva um artigo, relatório ou currículo em Typst no modo Código ou Visual, com uma barra de ferramentas que escreve o Typst para você.

Escolha um modelo Typst e edite o seu fonte `.typ` ao lado do PDF compilado. A barra de ferramentas escreve a sintaxe Typst para você, então toda alteração permanece no fonte, onde você pode lê-la e editá-la. Quando preferir não olhar para a marcação, alterne o arquivo para o modo Visual.

![O exemplo em Typst com a barra de ferramentas de formatação, o código-fonte e o relatório compilado.](https://cdn.oleafly.com/images/screenshots/desktop/docs/typst-writing-dark-window-v2.png)

## Compilar um pequeno relatório

1. Escolha **Novo projeto → Usar um modelo → Documento Typst em branco**.
2. Dê a ele o nome **Nota de medição** e abra `main.typ`.
3. Cole o exemplo abaixo e escolha **Compilar de novo** ou pressione **⌘Enter / Ctrl+Enter**.

```typst title="main.typ"
#set document(title: "Measurement note", author: "Alex Chen")
#set page(paper: "a4", margin: 25mm)
#set heading(numbering: "1.")

= Measurement note
A short report on repeated measurements.

== Method <method>
We collect three observations and compare their mean.

$ overline(x) = (1 + 2 + 3) / 3 = 2 $

== Results
See @method for the procedure.

#table(
  columns: 2,
  [Run], [Value],
  [1], [1],
  [2], [2],
  [3], [3],
)
```

O PDF deve mostrar títulos numerados, uma equação destacada, uma referência ao método e uma tabela de duas colunas.

Para ver o PDF mudar enquanto você digita, abra a seta ao lado de **Compilar de novo** e defina **Compilação automática** como **Ligada**. Em um projeto Typst, essa é a visualização ao vivo. Veja [Visualização ao vivo com a Compilação automática](/docs/typst/#live-preview-with-auto-compile).

[Baixar o código-fonte do exemplo](/examples/writing-example.typ)

## Todas as ferramentas da barra

Selecione um texto antes de usar uma ferramenta de formatação para envolvê-lo. Sem seleção, a barra de ferramentas insere um marcador no lugar, sobre o qual você pode digitar. Quando o editor é estreito demais para todos os botões, os que não cabem vão para **Mais opções de formatação** (`…`). A maioria dessas ferramentas também está no menu de botão direito do editor.

### Código / Visual

O seletor no início da barra de ferramentas muda como o arquivo é exibido. **Código** mostra o fonte Typst. **Visual** desenha títulos, ênfases, listas, matemática, imagens, tabelas, referências e notas de rodapé no lugar, e traz o fonte de volta na linha onde está o seu cursor. O arquivo é o mesmo nos dois modos. [O modo Visual em Typst](#visual-mode) tem os detalhes.

### Desfazer

Reverte a sua edição mais recente. ⌘Z / Ctrl+Z. O botão fica cinza quando não há nada para desfazer.

### Refazer

Reaplica uma edição desfeita. **⌘Shift+Z / Ctrl+Shift+Z**.

### Título → Título

Selecione um título e escolha **Título**. `= Title`.

### Título → Seção

Adiciona uma seção dentro do documento. `== Section`.

### Título → Subseção

Adiciona um nível abaixo de uma seção. `=== Subsection`.

### Título → Subsubseção

Adiciona um título de quarto nível. `==== Subsubsection`.

### Título → Título menor

Adiciona um título de quinto nível. `===== Minor heading`.

### Título → Título de parágrafo

Adiciona um título de sexto nível. `====== Paragraph heading`.

### Negrito

Selecione "three observations". `*three observations*`; ⌘B / Ctrl+B.

### Itálico

Selecione um termo para enfatizar. `_term_`; ⌘I / Ctrl+I.

### Sublinhado

Selecione uma frase. `#underline[phrase]`.

### Tachado

Marca uma frase obsoleta. `#strike[phrase]`.

### Código em linha

Selecione um nome de arquivo ou de variável. Envolve-o com crases.

### Inserir link

Substitua `url` e depois `text`. `#link("url")[text]`.

### Citar a partir do projeto

Pesquise na bibliografia do projeto por chave, autor ou título e escolha uma entrada. O Oleafly escreve `@key`. Se o documento ainda não tiver uma chamada de `#bibliography`, o Oleafly adiciona uma. **Localizar e adicionar uma nova citação…**, na parte inferior da lista, abre a busca por uma nova fonte. Veja [Adicionar citações](#add-citations).

### Inserir referência cruzada

Escolha um rótulo da lista do projeto para escrever `@label`. No exemplo, escolha `method` para obter `@method`. Já **Adicionar um rótulo aqui** coloca um novo rótulo no item onde está o cursor.

### Adicionar rótulo

Coloque o cursor em um título, figura ou equação e escolha **Adicionar rótulo**. No título Results do exemplo, o Oleafly adiciona `<sec:results>`. Se o item já tiver um rótulo, o botão o seleciona.

### Inserir nota de rodapé

Posicione o cursor depois de uma palavra. `#footnote[note text]`.

### Inserir citação em bloco

Posicione o cursor em uma nova linha. `#quote(block: true)[quote]`.

### Inserir figura

Abre o diálogo de figuras. Escolha uma imagem em **Imagens do projeto** ou selecione **Importar do disco…** e defina a largura, a legenda, o rótulo, o texto alternativo e o posicionamento dela. Com o cursor dentro de um `#figure` existente, o mesmo botão abre **Editar figura**, para você alterar qualquer um desses itens. Veja [Adicionar uma figura com legenda](#add-a-captioned-figure).

### Inserir tabela

Abra a grade e escolha o número de linhas e colunas. O Oleafly insere um `#figure` contendo uma `table` com uma linha de cabeçalho e linhas superior, do meio e inferior, além de `caption: [Caption]` e do rótulo `<tab:label>`. Substitua a legenda, o rótulo e as células vazias. Para criar uma tabela a partir de uma planilha, veja [Tabelas a partir de arquivos de dados](#tables-from-data-files).

### Inserir imagem

Importe uma imagem e substitua o nome de arquivo selecionado pelo caminho relativo dela. `#image("image-filename")`. Você também pode colar ou arrastar um arquivo de imagem para o editor, e o Oleafly o salva no projeto e insere uma figura que o utiliza.

### Desenhar um diagrama

Abre o [compositor de diagramas](/docs/figures-diagrams/) no modo Typst. Desenhe na tela ou edite o código fletcher e escolha **Inserir como Typst** para colocar o diagrama no cursor. A primeira visualização baixa o pacote fletcher do Typst Universe, então é preciso estar on-line para isso.

### Imagem para Typst

Escolha uma captura de tela de uma equação ou de um texto, e o conteúdo é transcrito em Typst no cursor. A transcrição usa o modelo para as Ferramentas, um modelo local do Ollama a menos que você escolha outro. Se você não escolheu um e o Ollama não está em execução ou não tem um modelo que leia imagens, ele usa o modelo do assistente no lugar, e a imagem vai para esse provedor. Confira o resultado e compile-o.

### Lista → Lista com marcadores

Inicia uma lista de observações. `- Item`.

### Lista → Lista numerada

Inicia uma sequência de etapas. `+ Item`.

### Matemática

Selecione `x` e clique no ícone de matemática. `$x$`.

### Equação destacada

Uma equação em uma linha própria. `$ x $`, com um espaço dentro de cada `$`.

### Equação numerada

Uma equação destacada com um rótulo, como `$ x $ <eq:label>`. O Typst numera equações somente quando o documento tem uma regra de numeração. Se o seu não tiver, uma nota oferece **Adicionar regra**, que adiciona `#set math.equation(numbering: "(1)")` perto do início do arquivo.

### Equações alinhadas

Várias equações alinhadas em `&`, com `\` entre as linhas. `$ a &= b \ c &= d $`.

### Fração

Insere `frac(a, b)`, envolvida em `$` quando o cursor ainda não está na matemática. Com um texto selecionado, a seleção se torna o numerador.

### Símbolos

Abra o seletor de símbolos, procure um símbolo e selecione-o. O Oleafly o escreve pelo seu nome em Typst: `arrow.r` dentro da matemática ou `#sym.arrow.r` no texto corrido.

### Bloco de código

Selecione várias linhas de código ou substitua o marcador. Um bloco delimitado por crases triplas. Adicione uma linguagem após a abertura para realce de sintaxe.

### Inteligência de código → Ir para a definição

Coloque o cursor em um rótulo, variável ou função e escolha a ação, ou pressione F12. Abre o local onde ela é definida, mesmo em outro arquivo.

### Inteligência de código → Localizar referências

Lista todos os lugares onde um rótulo, variável ou função é usado. ⇧F12.

### Inteligência de código → Renomear símbolo

Renomeia um rótulo, variável ou função em todo o projeto. F2. [Inteligência de código](/docs/code-intelligence/#typst-files) cobre os três.

### Pacotes Typst

O ícone de pacote na extremidade direita da barra pesquisa no Typst Universe e insere uma linha `#import`. Mais em [Pacotes, configurações e análise](#packages-settings-and-insights).

### Análise do documento

Lista os títulos, figuras, tabelas, equações, rótulos, citações e pendências do documento, cada um com um link para a sua linha. Veja [Análise do documento](/docs/document-insights/).

### Configurações do documento

Altera o tamanho da página, as margens, a fonte, o idioma, o alinhamento justificado, o espaçamento entre linhas e a numeração editando as regras `#set` do documento. Veja [Configurações do documento](/docs/document-settings/).

### Informações do projeto

Mostra contagens de palavras, figuras e matemática para o documento e para qualquer seleção, além dos resultados da revisão.

### Localizar

Procura uma palavra no arquivo ativo. ⌘F / Ctrl+F.

### Ir para o PDF

Salta do cursor para o local correspondente no PDF compilado. O botão aparece no Typst 0.13 e posteriores. Veja [Saltar entre o fonte e o PDF](#jump-between-the-source-and-the-pdf).

## Modo Visual

Alterne a barra de ferramentas de **Código** para **Visual** em qualquer arquivo `.typ`. O modo Visual é o mesmo editor com a marcação desenhada no lugar:

- títulos, texto em negrito e em itálico, texto bruto, links e texto colorido
- listas com marcadores, numeradas e de termos, com os seus marcadores
- matemática em linha e destacada, desenhada pelo Typst
- imagens e figuras, com a legenda exibida como texto
- tabelas como uma grade em que você pode digitar. Selecione uma célula para obter uma pequena barra de ferramentas para bordas, alinhamento, linhas e colunas.
- referências e citações como chips, e notas de rodapé como um pequeno marcador

Coloque o cursor em uma linha e o fonte dela volta para você editar. Afaste o cursor e a forma renderizada retorna. As linhas `#set`, `#show`, `#import` e `#let` no início do arquivo dobram em uma barra **Mostrar as configurações do documento**, na qual você pode clicar para abrir. Qualquer coisa que o modo Visual não consiga desenhar permanece na tela como fonte. Todo botão da barra de ferramentas escreve o mesmo Typst nos dois modos, e numeração de linhas, localização, ortografia e erros de compilação continuam funcionando.

Novos projetos abrem em Código, e cada projeto lembra o modo em que você o deixou. [Edição visual](/docs/editor/#visual-editing) cobre a alternância para as três linguagens.

## Ajuda enquanto você digita

Arquivos Typst recebem os mesmos auxiliares que os arquivos LaTeX, escritos para a sintaxe Typst:

- Clique na seta na margem para dobrar um título até o próximo título do mesmo nível. Blocos de código, blocos de conteúdo, equações e listas longas de argumentos também dobram. Veja [Dobramento de código](/docs/editor/#code-folding).
- Enquanto você rola, os títulos acima do cursor ficam fixos no topo do editor. Uma barra de trilha de navegação acima do arquivo indica a seção em que você está, e clicar em um item dela salta para aquele título.
- Digitar `$` adiciona o `$` de fechamento, e um espaço dentro do par vazio o transforma em matemática destacada. Em um item de lista, Enter inicia o próximo item. [Auxílios de digitação Typst](/docs/editor/#typst-typing-aids) lista os demais.
- O servidor de linguagem Typst completa funções, caminhos de arquivo, rótulos, chaves de citação, pacotes e estilos de bibliografia. Veja [Auto-completar Typst](/docs/autocomplete/#typst-completion).
- Digite `/` no início de uma linha, ou depois de um espaço, para trechos prontos: títulos, figuras, tabelas, equações, notas de rodapé, um sumário, uma bibliografia e mais.
- ⌘/ / Ctrl+/ comenta ou descomenta as linhas selecionadas com `//`.

### Pré-visualização de matemática

Com o cursor dentro de uma equação, o Typst desenha o resultado logo acima dela. O menu da pré-visualização pode ocultá-la até você sair da equação ou desativá-la.

Cole uma matemática LaTeX como `$\frac{a}{b}$` em um arquivo Typst e um botão **Colar como matemática Typst** aparece sob ela. Clique nele para substituir o que você colou por matemática Typst, ou pressione Esc para manter o LaTeX. Para uma matemática LaTeX já presente no arquivo, selecione-a e escolha **Converter matemática LaTeX em Typst** no menu de botão direito. Para conversões pontuais, a ferramenta [Equação para Typst](/docs/tools/equation-to-typst/) faz o mesmo fora de um projeto.

## Adicionar uma figura com legenda

1. Escolha **Inserir figura** na barra de ferramentas.
2. Escolha `plot.png` em **Imagens do projeto**, ou selecione **Importar do disco…** para copiá-la para o projeto.
3. Escolha **Três quartos da largura** e ative **Adicionar uma legenda** e **Adicionar um rótulo**. Digite a legenda e o rótulo `fig:measurements`.
4. Adicione um **Texto alternativo** que descreva a imagem para leitores de tela e escolha um **Posicionamento** se a figura deve flutuar para o topo ou o rodapé da página.
5. Escolha **Inserir figura**.

O Oleafly escreve uma figura como esta:

```typst
#figure(
  image("figures/plot.png", width: 75%),
  caption: [Measurements across three runs.],
) <fig:measurements>

See @fig:measurements for the comparison.
```

Para alterar a figura depois, coloque o cursor dentro dela e escolha **Inserir figura** novamente. O diálogo abre como **Editar figura** com os valores atuais.

## Tabelas a partir de arquivos de dados

Clique com o botão direito no editor e escolha **Tabela a partir de CSV/XLSX…**. Escolha um arquivo CSV, TSV, Excel ou JSON, confira a pré-visualização e adicione legenda e rótulo se quiser. **Inserir no cursor** escreve uma tabela Typst com as mesmas linhas da tabela da barra de ferramentas. Textos de célula que o Typst interpretaria como marcação são escapados.

Ative **Manter vinculada ao arquivo de dados** para manter a tabela ligada aos seus dados. O Oleafly copia os dados para a pasta `data` do projeto, e a tabela lê esse arquivo a cada compilação do documento. Edite o arquivo e a tabela muda na próxima compilação. [Importar uma tabela de um arquivo de dados](/docs/writing/tables-equations/#import-a-table-from-a-data-file) cobre o diálogo por completo.

## Adicionar citações

Cite com **Citar a partir do projeto**, ou digite `@` e escolha uma chave na lista de conclusão. Uma chave de citação e um rótulo de documento usam `@` no Typst; a bibliografia ou o rótulo fornece o destino.

Coloque a bibliografia onde você quer que a lista de referências apareça:

```typst
#bibliography("references.bib")
```

O arquivo pode ser BibTeX (`.bib`) ou Hayagriva (`.yml`), e a chamada pode indicar uma lista de arquivos. Uma citação que você adicionar por [Referências e citações](/docs/citations/) entra no arquivo que o documento declara, convertida para Hayagriva quando esse arquivo exigir. Para mudar o estilo de referência, use o menu **Estilo de citação** na parte inferior do painel Referências, que escreve o argumento `style:` para você. Veja [Escolher um estilo de citação Typst](/docs/citations/#choose-a-typst-citation-style).

## Pacotes, configurações e análise

Três botões na extremidade direita da barra de ferramentas atuam no documento inteiro:

- **Pacotes Typst** pesquisa no Typst Universe e escreve a linha `#import`. Quando um import indica uma versão antiga, o editor oferece atualizá-la. Um projeto também pode manter as suas próprias cópias dos pacotes para compilar off-line. Veja [Pacotes](/docs/packages/#typst-packages) e [Pacotes do Typst Universe](/docs/typst/#packages-from-typst-universe).
- **Análise do documento** lista títulos, figuras, tabelas, equações, rótulos, citações e pendências, e copia título, autores, palavras-chave e resumo para um formulário de submissão. O Typst lê o documento quando o diálogo abre, então números e páginas estão atualizados. Veja [Análise do documento](/docs/document-insights/).
- **Configurações do documento** altera o tamanho da página, as margens, as colunas, a fonte do corpo, o tamanho, o idioma, o alinhamento justificado, o espaçamento entre linhas e a numeração de títulos e equações. O Oleafly escreve as suas escolhas nas regras `#set` do arquivo principal. Ele também guarda as variantes de compilação do projeto. Veja [Configurações do documento](/docs/document-settings/).

## Erros e verificações

Quando uma compilação falha, cada erro fica sublinhado no seu arquivo, sobre o trecho exato que o Typst indica. Passe o mouse sobre o sublinhado para ler a mensagem e as dicas do Typst. Erros comuns, como um nome desconhecido, um arquivo ou pacote ausente ou um colchete não fechado, vêm com uma explicação simples. Veja [Erros de compilação no fonte](/docs/editor/#compile-errors-in-the-source).

[Ortografia e gramática](/docs/spellcheck-grammar/) verificam a prosa em arquivos Typst, incluindo legendas, células de tabela e campos de modelo como `abstract:`, e ignoram código. A [Pré-verificação](/docs/preflight/#typst-projects) verifica os fontes Typst quanto a referências e citações não resolvidas, texto alternativo ausente, imagens ausentes, metadados do documento e problemas de revisão às cegas.

## Saltar entre o fonte e o PDF

Escolha **Ir para o PDF** na barra de ferramentas ou pressione ⌘⇧J / Ctrl+Shift+J para saltar do cursor para a página. No PDF, mantenha pressionado ⌘ ou Ctrl e clique em uma palavra para voltar à linha dela, mesmo em um arquivo trazido com `#include`. A sincronização precisa do Typst 0.13 ou posterior. Veja [Sincronização entre fonte e PDF](/docs/synctex/#typst-projects).

## Formatar o arquivo

**Formatar documento** arruma o arquivo inteiro com o typstyle. Pressione ⇧⌥F / Shift+Alt+F ou escolha no menu de botão direito. **Formatar seleção** formata apenas as linhas selecionadas. Para formatar toda vez que você pressionar ⌘S / Ctrl+S, ative **Formatar ao salvar** em **Typst** em **Configurações → Aparência → Editor**. Veja [Formatar um arquivo Typst](/docs/code-intelligence/#format-a-typst-file).

## Versões do Typst

O Oleafly vem com o Typst 0.15.1, e **Configurações → Motores → Typst** lista do Typst 0.11 ao 0.15 para baixar. Um novo projeto fixa a versão padrão, então as quebras de linha e a contagem de páginas permanecem as mesmas quando o Oleafly depois trouxer um Typst mais novo. Para mudar a versão de um projeto, abra a seta ao lado de **Compilar de novo** e escolha em **Versão do Typst (deste projeto)**. O servidor de linguagem acompanha a versão do projeto. [Versões do Typst](/docs/typst/#typst-versions) explica fixações, versões ausentes e como testar uma versão mais nova antes de mudar.

## Organizar e exportar

Divida um relatório longo em arquivos e inclua-os com `#include "sections/method.typ"`. Mantenha figuras, dados, fontes e arquivos de bibliografia dentro do projeto, para que um ZIP do fonte leve tudo o que o documento precisa.

Compile para conferir o resultado e abra **Exportar**. Ele oferece **Exportar como PDF**, **Exportar o código-fonte (.zip)**, **Exportar a página como PNG** e **Imagens e HTML**, que escreve páginas PNG ou SVG ou um arquivo HTML com o próprio Typst. No Typst 0.13 e posteriores, as exportações para Word, HTML, Markdown, LaTeX e texto puro passam pela saída HTML do próprio Typst, então equações e referências sobrevivem. Veja [Exportar e converter um projeto](/docs/export/#typst-images-and-html). [Compilação](/docs/compiling/) explica logs e opções de compilação, e [arquivos e pastas](/docs/files/) cobre a organização do projeto.

Para mover um projeto LaTeX existente para Typst, veja [Converter um projeto LaTeX para Typst](/docs/typst/#convert-a-latex-project-to-typst).
