Warum werden fremdsprachige Texte auch bei Verwendung von Babel nicht getrennt? Typst trennt sie richtig

Warum werden fremdsprachige Texte auch bei Verwendung von Babel nicht getrennt? Typst trennt sie richtig

Warum erhalte ich bei Verwendung in LuaLaTeX nicht dieselben Silbentrennungsergebnisse wie Typst babel? Ich habe verschiedene Methoden zur Behebung des Problems ausprobiert, aber sie funktionieren nicht.

Beide verwenden Papier im Letterpaper-Format, benutzerdefinierte Ränder von 1,5 cm oben, unten, links und rechts, eine Schriftgröße von 12 pt und die Schriftart STIX Two Text.

  • LuaLaTeX-Code:
% {
\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}

Hier ist der Typst-Code,

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

Antwort1

TeX versucht, Silbentrennung zu vermeiden, und bei langen Zeilen und relativ kurzen Wörtern gelingt dies oft. Wenn Sie schnell erklären möchten, wie Silbentrennung funktioniert, stellen Sie eine kleine Textbreite ein:

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

Bildbeschreibung hier eingeben

Antwort2

Ich möchte meine Kommentare noch erweitern und einige Bilder hinzufügen. Ich habe drei Tests durchgeführt:

  1. Verwenden von Typst
    Bildbeschreibung hier eingeben

  2. Verwendung von LuaLaTeX mitmicrotype Bildbeschreibung hier eingeben

  3. Verwenden von LuaLaTeX ohne Microtype. Bildbeschreibung hier eingeben

Wie erwartet waren die besten Ergebnisse bei der Verwendung von microtype. Natürlich wäre ein besserer Test die Verwendung einer schmalen Spalte gewesen, aber ich wusste nicht genug über die Typisierung, um dies zu überprüfen. Auch die Verwendung einiger schwer zu trennender Absätze, wie z. B. aus dem Froschkönig, wäre besser gewesen, ebenso wie die Protokollierung aller Parameter, die die Silbentrennung beeinflussen.

Am Rande hier noch einige Anmerkungen zu meinen Erfahrungen mit typst.

  1. Ich habe es ohne Probleme (unter Windows) aus dem GitHub-Repository unter Windows installiert und es hat weniger als 2 Minuten gedauert, bis alles lief (10/10).
  2. Ich verwende Sublime als Editor und obwohl ich kein Paket zum Hervorheben von getipptem Code hatte, erzeugt es sauberen und lesbaren Code (8/10).
  3. Typst kompiliert extrem schnell (10/10).
  4. Ich habe auch den Discord-Server besucht und es war eine sehr schlechte Erfahrung. Ich mag es einfach nicht, Discord im Allgemeinen zu besuchen und mit Popups konfrontiert zu werden, die mich zum Kauf von Nitros auffordern. Die Community scheint bisher enthusiastisch und unterstützend zu sein. Es gibt viele Anfragen für Funktionen, die in LaTeX als selbstverständlich gelten. (6/10)
  5. Ich habe mir auch einige der Pakete angesehen und meiner Meinung nach wird Typst bald das gleiche Problem wie Javascript haben, mit einem Ökosystem, das zu Unentschlossenheit, Verwirrung und Duplizierung führt. (5/10)
  6. Insgesamt habe ich weniger als 15 Minuten gebraucht, um typst zu verwenden und ein wenig in der Dokumentation zu lesen. Ich habe mir das Video nicht angesehen, da ich lieber lese als Videos anzuschauen, das geht viel schneller. Ich hätte mir ein PDF wie LaTeX-Doc/Docstrip-Dokumente gewünscht. Sie bieten meiner Meinung nach eine Einheitlichkeit, die besser ist als Online-Handbücher. (8/10)
  7. Meiner bescheidenen Meinung nach wird es sowohl für LaTeX als auch für Typst ein Kinderspiel sein, Pakete für die gegenseitige Übersetzung zu entwickeln, entweder durch die Communities oder pandoc.
  8. Sowohl Typst als auch LaTex sind bislang eine bessere Alternative zu Word.

In einem Umfeld allgemeiner Erosion des Bildungsstandards, das durch eine in leerer Rhetorik schwelgende politische Führung noch verschärft wird, ist es erfreulich, Entwicklungen zu sehen, die auf Systeme abzielen, die Studenten und andere dazu befähigen, bessere Dokumente zu schreiben, statt nur Tweets.

verwandte Informationen