¿Por qué el texto en idioma extranjero no se divide con guiones incluso cuando se usa Babel? Typst lo separa con guiones correctamente

¿Por qué el texto en idioma extranjero no se divide con guiones incluso cuando se usa Babel? Typst lo separa con guiones correctamente

¿Por qué no obtengo los mismos resultados de separación de palabras que Typst cuando lo uso babelen LuaLaTeX? Probé varios métodos para solucionar el problema, pero no funcionan.

Ambos utilizan papel de tamaño Letterpaper, utilizan márgenes personalizados superior, inferior, izquierdo y derecho de 1,5 cm, un tamaño de fuente de 12 puntos y utilizan la fuente 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}

Aquí está el código Typst,

  • Código de plantilla:
// 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 de 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 лет. Единственная разница заключалась в том, что в нем действительно кто-то сидел. Сколько времени прошло с тех пор, как кто-то это делал? По его мнению, десять лет или больше. И все же нельзя было отрицать присутствие в кресле сейчас.

Respuesta1

TeX intenta evitar la separación de palabras y, con líneas largas y palabras más bien cortas, a menudo lo consigue. Si desea un texto rápido sobre cómo funciona la separación de palabras, establezca un ancho de texto pequeño:

\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}

ingrese la descripción de la imagen aquí

Respuesta2

Solo para ampliar mis comentarios y agregar algunas imágenes. Hice tres pruebas:

  1. Usando mecanografiado
    ingrese la descripción de la imagen aquí

  2. Usando LuaLaTeX conmicrotype ingrese la descripción de la imagen aquí

  3. Usando LuaLaTeX sin microtipo. ingrese la descripción de la imagen aquí

Como era de esperar los mejores resultados fueron los que utilizaron microtype. Por supuesto, una mejor prueba habría sido usar una columna estrecha, pero no sabía lo suficiente sobre el lado mecanografiado para comprobarlo. También hubiera sido mejor usar algunos párrafos difíciles de dividir con guiones, como los del Rey Rana, así como registrar todos los parámetros que afectan la separación de palabras.

Además, aquí también hay algunos comentarios sobre mi experiencia con typst.

  1. Lo instalé en Windows desde el repositorio de github sin ningún problema (en Windows) y tardé menos de 2 minutos en tener todo funcionando (10/10).
  2. Utilizo sublime como editor y, aunque no tenía un paquete para resaltar el código mecanografiado, produce código limpio y legible (8/10).
  3. Typst compila extremadamente rápido (10/10).
  4. También visité el servidor de Discord y fue una experiencia muy mala. Simplemente no me gusta mucho visitar Discord en general y recibir ventanas emergentes para comprar nitros. Hasta ahora la comunidad parece entusiasta y solidaria. Hay muchas solicitudes de funciones que se dan por sentado en LaTeX. (6/10)
  5. También miré algunos de los paquetes y, en mi humilde opinión, Typst pronto tendrá el mismo problema que Javascript, con un ecosistema que genera indecisión, confusión y duplicación. (5/10)
  6. En general, me tomó menos de 15 minutos poder usar Typst y leer un poco de la documentación. No vi el video, ya que prefiero leer que ver videos, es mucho más rápido. Hubiera preferido un pdf similar a los documentos LaTeX doc/docstrip. Aportan una uniformidad en mi humilde opinión que es mejor que los manuales en línea. (8/10)
  7. En mi humilde opinión, será muy fácil tanto para LaTeX como para Typst desarrollar paquetes para traducir entre sí, ya sea por las comunidades o pandoc.
  8. Tanto Typst como LaTex son hasta ahora una mejor alternativa a Word.

En un entorno general de erosión de los estándares educativos exacerbado por un liderazgo político que se entrega a una retórica vacía, es agradable ver avances dirigidos a sistemas que puedan equipar a los estudiantes y a otras personas para escribir mejores documentos, en lugar de tweets.

información relacionada