8 pontos por GN⁺ 2025-06-23 | 1 comentários | Compartilhar no WhatsApp
  • O autor escreveu sua tese de doutorado usando Typst, o que foi um novo desafio em vez do tradicional LaTeX
  • Graças à compilação rápida, linguagem de script consistente e poderosa, fácil personalização de layout e excelente destaque de código, foi muito eficiente revisar o documento e ajustar templates
  • Há inconvenientes e limitações claras, como gestão bibliográfica incômoda, limites na conversão para LaTeX, falta de templates devido ao ecossistema ainda jovem e limitações nas mensagens de erro
  • Ainda há carências em compatibilidade com LaTeX, colaboração e suporte aos formatos exigidos na submissão de artigos, e fica claro que LaTeX é de fato o padrão para colaboração acadêmica e submissão a conferências
  • O Typst é especialmente vantajoso quando se precisa de liberdade programática e recursos modernos, mas não é recomendado para iniciantes nem para exigências padronizadas

Por que escrevi minha tese de doutorado com Typst

  • O autor escreveu recentemente sua tese de doutorado com Typst e decidiu experimentar uma nova linguagem de tipografia em vez do LaTeX, tradicionalmente muito usado
  • O Typst combina Markdown com Rust dinamicamente tipado, tornando a escrita de documentos mais natural do que no LaTeX e oferecendo ótima extensibilidade como linguagem de script
  • Sua sintaxe é intuitiva, e a transição entre código e documento é simples

Vantagens do Typst

Velocidade de compilação

  • O compilador do Typst é muito rápido, permitindo pré-visualização de PDF em tempo real mesmo quando o documento cresce
  • O build completo também termina em cerca de 15 segundos, e ao alterar o conteúdo quase sempre é possível ver o resultado imediatamente
  • Isso permite repetir com eficiência ajustes de layout e estilo, melhorando a qualidade do resultado final

Design da linguagem e uso de scripts

  • A linguagem do Typst é muito consistente e, graças ao seu design baseado em Rust, tem uma curva de aprendizado menor
  • O desconforto do LaTeX com a falta de consistência sintática entre pacotes é resolvido no Typst
  • Há amplo espaço para aplicações programáticas, como fazer parsing direto de arquivos TOML e gerar visualizações automáticas de dados dentro do documento
  • A integração com ferramentas modernas (compilador, gerenciamento de dependências, LSP etc.) também é um ponto forte

Templates e ajustes de layout

  • A estrutura de templates do Typst é clara, o que facilita modificar e expandir conforme necessário
  • Em comparação com a edição complexa de templates no LaTeX, ele oferece uma experiência de configuração muito mais intuitiva e rápida

Destaque de código

  • Graças ao suporte embutido a syntax highlighting, o código dentro da tese fica mais legível
  • É possível usar gramáticas Textmate, e definições personalizadas baseadas em regex também são fáceis de implementar
  • O autor também experimentou escrever um parser diretamente em script para destacar sintaxes específicas

Mensagens de erro

  • Em comparação com o LaTeX, o Typst indica com mais clareza a localização e a causa dos erros, reduzindo bastante o tempo gasto para resolver problemas
  • Não há saída desnecessária no terminal, e as informações de erro são realmente úteis

Desvantagens do Typst

Gestão de bibliografia

  • Ele suporta apenas uma única bibliography para toda a tese, então não é possível usar arquivos bibliográficos diferentes por capítulo ou por artigo incluído
  • O suporte a recursos avançados, como variáveis do Bibtex, é limitado, exigindo integração manual com Makefile
  • Pacotes como Alexandria podem resolver isso parcialmente, mas a usabilidade e o nível de automação ainda são baixos
  • Ajustes finos em conversão de estilos de citação, mapeamento de campos etc. são incompletos, tornando trabalho manual inevitável
  • Os campos bibliográficos diferem do padrão Bibtex, o que gera diferenças no resultado

Limites das mensagens de erro

  • Em casos complexos (por exemplo, ao usar Alexandria), às vezes aparece apenas uma mensagem simples de falha, sem explicação detalhada do erro
  • Regras show baseadas em estado e outros casos semelhantes dificultam rastrear a origem do erro, elevando a dificuldade de depuração
  • Alguns avisos relacionados a layout não permitem identificar facilmente a causa

A realidade complexa: compatibilidade e ecossistema

Compatibilidade com LaTeX e colaboração

  • Teses e artigos existentes, assim como trabalhos submetidos, exigem formato LaTeX, então o material escrito em Typst é convertido com ferramentas como Pandoc
  • Mesmo novos artigos são rascunhados em Typst e depois precisam passar por conversão para a versão final de submissão
  • A conversão automática de Typst para LaTeX não é perfeita, então foi necessário desenvolver ferramentas separadas para esse trabalho
  • Partes do resultado convertido (por exemplo, código) precisam usar \includepdf do LaTeX, o que pode não atender às exigências da editora
  • Como o LaTeX é o padrão, também surge o inconveniente de colaboradores precisarem aprender Typst

Situação atual do ecossistema Typst

  • O Typst ainda está em um ecossistema inicial, com templates oficiais e formatos de submissão limitados
  • Em muitos casos, o usuário precisa criar templates personalizados por conta própria
  • Os templates Typst para grandes conferências e periódicos ainda não têm cobertura nem qualidade perfeitas

Conclusão e recomendação

  • Para quem gosta de programar e se sente atraído por personalização detalhada das ferramentas, escrever uma tese com Typst é algo plenamente recomendável
  • Ele oferece a vantagem de permitir muitas iterações e grande liberdade de customização, resultando em documentos visualmente mais refinados
  • Por outro lado, se a ideia é usar algo imediatamente sem configuração extra, o Typst ainda não é adequado para documentos grandes como uma tese de doutorado
  • Para documentos menores ou experimentos pessoais, vale a pena testar o Typst

1 comentários

 
GN⁺ 2025-06-23
Comentários no Hacker News
  • Há a preocupação de que, daqui a 30 anos, o LaTeX provavelmente continuará sendo open source e mantido, enquanto o Typst, por ter uma estrutura mista de open source e closed source, corre mais risco de deixar de ser mantido se a empresa desaparecer
    • O próprio projeto Typst dificilmente pode ser visto como uma mistura de open source e closed source, e os desenvolvedores já afirmaram que o objetivo principal é fazer com que a CLI e o app web funcionem da mesma forma; veja o comentário na issue. Também existem projetos open source feitos pela comunidade, como o tinymist, uma implementação de LSP. Além disso, há editores pagos como o Typstify que existem independentemente da empresa
    • O editor web do Typst é closed source, mas a maior parte dos elementos necessários para editar é open source, então em ambiente local é possível ter uma experiência parecida ou até melhor. O compilador do Typst, o LSP etc. são todos open source. É parecido com os casos em que projetos LaTeX foram feitos no Overleaf, e mesmo que a empresa do Typst desapareça, os downloads de pacotes são baseados em repositórios git open source, então provavelmente não seria um grande problema criar um repositório alternativo
    • Dizer que a parte open source pode ser abandonada, na prática, não é muito diferente da maioria dos projetos distribuídos como totalmente open source
    • Fico curioso sobre o que exatamente seriam esses “recursos centrais” presentes na parte closed source
  • Tenho curiosidade sobre por que alunos de doutorado em ciência da computação ficam tão obcecados com tipografia e composição. Quando vejo alguém demonstrar grande interesse em LaTeX e depois gastar meses mexendo em macros, penso que o LaTeX pegou mais uma vítima. O LaTeX parece uma espécie de armadilha para alunos que procrastinam
    • Como alguém da matemática, escrever tudo à mão é trabalhoso demais, e também não é fácil digitar documentos cheios de fórmulas. Na prática, em física isso é ainda mais difícil de digitar. Quando sua vida gira em torno de artigos e listas de exercícios, é realmente importante conseguir registrar ideias com facilidade. Por isso as pessoas ficam sensíveis à qualidade do engine e também compartilham muitas dicas de macros. É natural surgir uma cultura de trocar conselhos, templates de cabeçalho e configurações básicas
    • Usar LaTeX dá uma espécie de “sensação oficial”. Fórmulas em um documento LaTeX parecem extremamente sérias, mas no Word não passam a mesma impressão. É como a sensação de se tornar profissional ao montar o primeiro boletim no Aldus PageMaker e imprimir numa impressora a laser
    • Dá para organizar documentos grandes, como uma tese, em arquivos .tex separados por seção e depois compilar tudo junto. Também combina muito bem com VCS como git. Se você gera figuras com scripts, o LaTeX detecta os arquivos novos e recompila automaticamente. No Word, você teria de localizar e trocar cada figura manualmente, o que é ineficiente. Quanto maior o documento, mais desconfortável o Word fica; já no LaTeX, você ajusta no começo e depois ele tende a ficar mais eficiente
    • Nos anos 2000, trabalhar no Word com apenas algumas fórmulas já era doloroso. Quando você precisava de dezenas de páginas com fórmulas e referências cruzadas, era praticamente impossível trabalhar sem LaTeX. Dividir por capítulos, integrar com editores decentes e coisas assim também eram vantagens importantes
    • Depois de 10 anos escrevendo artigos e relatórios, juntar pequenos snippets não é obsessão, é um resultado natural
  • O Typst parece muito promissor porque já oferece como padrão templates importantes, como os da IEEE, e o resultado sai quase idêntico ao do LaTeX. A toolchain do LaTeX é cheia de incômodos, e até o makefile às vezes é instável. Muitas vezes é preciso rodar várias vezes para sair o resultado correto e, em alguns casos, até usar git clean -xdf para resolver o problema. Até hoje não entendo bem por que isso acontece, e os próprios makefiles são complexos demais
    • Dizem que “tentar a mesma coisa duas vezes e esperar resultado diferente é loucura”, e compilação de LaTeX é literalmente isso
    • Não é a solução perfeita, mas recomendo o Latexmk para automatizar o sofrimento dos builds de LaTeX. Veja este link de uso. Além disso, a opção -outdir permite separar os arquivos intermediários
    • Eu até entendia por que era necessário rodar várias vezes, mas já esqueci. Até nos meus scripts pessoais de build do passado havia uma condição: com bibtex, rodar três vezes; sem bibtex, duas. Hoje é um alívio pensar que essa época passou
    • Hoje em dia, se você usa o Tectonic, esse problema de recompilar repetidamente é resolvido automaticamente
  • A IA virou o principal alvo da escrita e também o principal motivo para escolher um formato de markup. Do ponto de vista de compressão semântica, Typst, markdown e asciidoc são muito mais concisos que LaTeX. Pessoalmente, nos últimos 6 meses, vivi mudanças enormes no uso de IA para pesquisa matemática e trabalho com código, e é difícil encontrar respostas ou conselhos realmente sólidos nessa área. Na prática, a IA lê até diagramas matemáticos em SVG melhor do que humanos, e não gosta de ler código-fonte em LaTeX. Entendo as exigências de formato dos periódicos, mas muitos editores ainda impõem saída em duas colunas, algo que parece fora de época. Como impressão em papel já importa bem menos hoje, não ligo tanto para isso, e no futuro pretendo deixar meus resultados de pesquisa também em animações ou documentos Typst
    • Na realidade, em ambientes científicos profissionais onde artigos ainda são impressos para leitura, o papel continua sendo eficiente
  • Como periódicos e conferências ainda não aceitam Typst, eu não insisto em LaTeX por preferência, mas porque realisticamente não tenho alternativa. A adoção depende da disposição dessas instituições de integrar isso à sua toolchain
  • Estou migrando cada vez mais do meu trabalho para Typst, e ele é rápido e agradável de usar. Ainda assim, o maior obstáculo foi reaprender a notação matemática. O Typst tem regras próprias bem particulares, então é preciso aprender de novo
    • O Typst também parece bom, mas acabei voltando ao LaTeX com a combinação Claude Code + VS Code. Fiquei um bom tempo longe do LaTeX — mais de 10 anos depois de terminar o doutorado — e antes eu usava tanto que decorava TikZ, fórmulas e macros de preamble. Com o Claude Code, eu escrevo o que quero e em uma ou duas tentativas ele já entrega algo bem próximo do resultado desejado. Até a interpretação de mensagens de erro do LaTeX o Claude resolve em 95% dos casos, então isso virou um problema bem menor do que era antes
    • O mitex também é uma opção. Veja o pacote mitex. Eu, porém, já não tenho coragem de aprender outra notação nova
  • Se você quiser ver exemplos de código-fonte em Typst e do resultado final, estou compartilhando alguns documentos que fiz:
  • Há a opinião de que o Typst pode desaparecer em poucos anos ou ser adquirido por outra empresa, enquanto o LaTeX continuará existindo por décadas
  • Tentei migrar porque o Typst é atraente em aspectos como controle de layout vertical, mas recentemente a capacidade de geração de código dos LLMs do tipo ChatGPT melhorou bastante, e nesses novos engines de markup — especialmente o Typst — eles ainda ficam bem aquém. Com LaTeX a IA é ruim, mas ainda muito melhor do que com Typst; com Typst realmente não sai resultado. Talvez isso melhore em 6 meses ou 1 ano
    • Usar LLM faz a pessoa pensar menos e isso é confortável, mas me incomoda ver quanta gente ficou incapaz de usar ferramentas novas por depender demais de LLM. É parecido com o passado, quando muita gente evitava linguagens novas porque não dava para copiar e colar ou era difícil achar snippets
    • Em markdown ou Rust, a IA já é bastante útil. Se você colocar o esboço de um documento Typst no prompt do LLM, talvez ele ajude um pouco
  • O ponto de que não gosto no Typst é que a sintaxe matemática do LaTeX praticamente já se tornou um padrão e é amplamente usada, então é difícil aprender uma sintaxe matemática nova
    • Na prática, no Typst expressões como $x^2=1$ também funcionam normalmente