Por que o texto em idioma estrangeiro não é hifenizado mesmo quando se usa o Babel? Typst hifeniza corretamente

Por que o texto em idioma estrangeiro não é hifenizado mesmo quando se usa o Babel? Typst hifeniza corretamente

Por que não obtenho os mesmos resultados de hifenização que o Typst ao usar babelno LuaLaTeX? Tentei vários métodos para corrigir o problema, mas eles não funcionaram.

Ambos usam papel tamanho Letterpaper, usam margens personalizadas superior, inferior, esquerda e direita de 1,5 cm, tamanho de fonte 12pt e estão usando a fonte STIX Two Text.

  • Código LuaLaTeX:
% {
\documentclass[letterpaper,12pt]{article}

\usepackage[left=1.5cm, right=1.5cm, top=1.5cm, bottom=1.5cm]{geometry}
\usepackage{indentfirst}
\usepackage{fancyhdr}
\usepackage{csquotes}
\usepackage{microtype}
\usepackage{unicode-math} % loads fontspec
    \setmainfont{STIX Two Text}[Ligatures=TeX]
    \setmathfont{STIX Two Math}
\usepackage[main=english,spanish,russian]{babel} 

\makeatletter
\renewcommand{\@maketitle}{%
\newpage
\null
\vspace{-0.125cm} % This corresponds to the top margin set by geometry
\begin{center}
\parskip=0pt
\let\footnote\thanks 
{\LARGE \@title \par }%
{\large \lineskip .5em%
\begin{tabular}[t]{c}%
\@author
\end{tabular}%
\par }%
\vspace{.25cm} % Adjust this value to control the space between the author and date
{\large \@date }%
\end{center}\par 
\vspace{.25cm} % This corresponds to the bottom margin set by geometry
}
\makeatother 

\setlength\parindent{.25cm} 

% }

\title{Title}
\author{Author}
\date{\today}

\begin{document}

\noindent
\begin{minipage}{\textwidth}
\maketitle
\end{minipage}

\selectlanguage{russian}

Как лучше всего получить то, что ты хочешь? - спросила она. Он посмотрел в землю, зная, что ей не понравится его ответ. Он колебался, зная, что правда только повредит. Как он собирался сказать ей это? лучший способ получить то, что он хотел, это оставить ее. Завтра я возвращаюсь в Колорадо после того, как на выходных провел там фестиваль в Санта-Барбаре. Там я буду строить планы на октябрь и постараюсь договориться, чтобы, если возможно, вернуться сюда на день рождения. Я сообщу вам, как только узнаю график приема врача и планы полетов. Стул стоял в углу, где простоял более 25 лет. Единственная разница заключалась в том, что в нем действительно кто-то сидел. Сколько времени прошло с тех пор, как кто-то это делал? По его мнению, десять лет или больше. И все же нельзя было отрицать присутствие в кресле сейчас.

\end{document}

Aqui está o código Typst,

  • Código do modelo:
// The project function defines how your document looks.
// It takes your content and some metadata and formats it.
// Go ahead and customize it to your liking!
#let project(title: "", authors: (), date: none, body) = {
  // Set the document's basic properties.
  set document(author: authors, title: title)
  set page(
    paper: "us-letter",
    margin: (left: 15mm, right: 15mm, top: 15mm, bottom: 15mm),
    numbering: "1",
    number-align: center,
  )
  set text(font: "STIX Two Text", lang: "en", 12pt)

  // Set paragraph spacing.
  show par: set block(above: 0.75em, below: 0.75em)

  set heading(numbering: "1.1.")
  set par(leading: 0.58em)

  // Title row.
  align(center)[
    #block(text(weight: 700, 1.75em, title))
    #v(0.8em, weak: true)
    #date
  ]

  // Author information.
  pad(
    top: 0.3em,
    bottom: 0.3em,
    x: 2em,
    grid(
      columns: (1fr,) * calc.min(3, authors.len()),
      gutter: 1em,
      ..authors.map(author => align(center, strong(author))),
    ),
  )

  // Main body.
  set par(justify: true)

  body
}
  • Código do documento:
#import "template.typ": *

// Take a look at the file `template.typ` in the file panel
// to customize this template and discover how it works.
#show: project.with(
  title: "Template",
  authors: (
    "Author",
  ),
  date: "January 6, 2024",
)

#h(.25cm) #set text(lang: "ru"); Как лучше всего получить то, что ты хочешь? - спросила она. Он посмотрел в землю, зная, что ей не понравится его ответ. Он колебался, зная, что правда только повредит. Как он собирался сказать ей это? лучший способ получить то, что он хотел, это оставить ее. Завтра я возвращаюсь в Колорадо после того, как на выходных провел там фестиваль в Санта-Барбаре. Там я буду строить планы на октябрь и постараюсь договориться, чтобы, если возможно, вернуться сюда на день рождения. Я сообщу вам, как только узнаю график приема врача и планы полетов. Стул стоял в углу, где простоял более 25 лет. Единственная разница заключалась в том, что в нем действительно кто-то сидел. Сколько времени прошло с тех пор, как кто-то это делал? По его мнению, десять лет или больше. И все же нельзя было отрицать присутствие в кресле сейчас.

Responder1

O TeX tenta evitar a hifenização e, com linhas longas e palavras curtas, geralmente consegue. Se você quiser um texto rápido sobre como funciona a hifenização, defina uma largura de texto pequena:

\documentclass[letterpaper,12pt]{article}
\usepackage{microtype}
\usepackage{unicode-math} % loads fontspec
\setmainfont{STIX Two Text}[Ligatures=TeX]
\usepackage[main=english,spanish,russian]{babel} 

\textwidth=5pt
\begin{document}
\selectlanguage{russian}
Как лучше всего получить то, что ты хочешь? - спросила она. Он посмотрел в землю, зная, что ей не понравится его ответ. Он колебался, зная, что правда только повредит. Как он собирался сказать ей это? лучший способ получить то, что он хотел, это оставить ее. Завтра я возвращаюсь в Колорадо после того, как на выходных провел там фестиваль в Санта-Барбаре. Там я буду строить планы на октябрь и постараюсь договориться, чтобы, если возможно, вернуться сюда на день рождения. Я сообщу вам, как только узнаю график приема врача и планы полетов. Стул стоял в углу, где простоял более 25 лет. Единственная разница заключалась в том, что в нем действительно кто-то сидел. Сколько времени прошло с тех пор, как кто-то это делал? По его мнению, десять лет или больше. И все же нельзя было отрицать присутствие в кресле сейчас.

\end{document}

insira a descrição da imagem aqui

Responder2

Apenas para expandir meus comentários e adicionar algumas imagens. Fiz três testes:

  1. Usando Typst
    insira a descrição da imagem aqui

  2. Usando LuaLaTeX commicrotype insira a descrição da imagem aqui

  3. Usando LuaLaTeX sem microtipo. insira a descrição da imagem aqui

Como esperado os melhores resultados foram aqueles que utilizaram microtype. É claro que um teste melhor teria sido usar uma coluna estreita, mas eu não sabia o suficiente sobre digitação para verificá-la. Também usar alguns parágrafos difíceis de hifenizar, como o do Frog King, teria sido melhor, bem como registrar todos os parâmetros que afetam a hifenização.

À parte, aqui estão também alguns comentários sobre minha experiência com typst.

  1. Instalei no Windows a partir do repositório github sem problemas (no Windows) e demorou menos de 2 minutos para ter tudo rodando (10/10).
  2. Eu uso o sublime como editor e embora não tivesse nenhum pacote para destacar o código digitado, ele produz código limpo e legível (8/10).
  3. Typst compila extremamente rápido (10/10).
  4. Também visitei o servidor discord e foi uma experiência muito ruim. Eu simplesmente não gosto de visitar o discord em geral e ser atingido por pop-ups para comprar nitros. A comunidade até agora parece entusiasmada e solidária. Existem muitas solicitações de recursos que são tidas como certas no LaTeX. (6/10)
  5. Também olhei alguns dos pacotes e o IMHO Typst em breve terá o mesmo problema do Javascript, com um ecossistema que leva à indecisão, confusão e duplicação. (5/10)
  6. No geral, levei menos de 15 minutos para conseguir usar o typst e ler um pouco da documentação. Não assisti ao vídeo, pois prefiro ler do que assistir vídeos, é bem mais rápido. Eu teria preferido um pdf como documentos LaTeX doc/docstrip. Eles trazem uma uniformidade IMHO que é melhor do que os manuais online. (8/10)
  7. IMHO, será muito fácil para o LaTeX e para o Typst desenvolver pacotes para tradução entre si, seja pelas comunidades ou pandoc.
  8. Até agora, tanto o Typst quanto o LaTex são uma alternativa melhor ao Word.

Num ambiente geral de erosão dos padrões educativos exacerbado por uma liderança política que se entrega à retórica vazia, é bom ver desenvolvimentos que visam sistemas que possam equipar os estudantes e outros para escreverem melhores documentos, em vez de tweets.

informação relacionada