Babel을 사용해도 외국어 텍스트에 하이픈이 연결되지 않는 이유는 무엇입니까? Typst는 올바르게 하이픈을 넣습니다.

Babel을 사용해도 외국어 텍스트에 하이픈이 연결되지 않는 이유는 무엇입니까? Typst는 올바르게 하이픈을 넣습니다.

babelLuaLaTeX에서 사용할 때 Typst와 동일한 하이픈 연결 결과를 얻지 못하는 이유는 무엇입니까 ? 문제를 해결하기 위해 다양한 방법을 시도했지만 효과가 없습니다.

둘 다 Letterpaper 크기의 용지를 사용하고 사용자 정의 상하좌우 1.5cm 여백, 12pt 글꼴 크기를 사용하고 STIX Two Text 글꼴을 사용하고 있습니다.

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

다음은 Typst 코드입니다.

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

답변1

TeX는 하이픈 넣기를 피하려고 시도하며 긴 줄과 짧은 단어를 사용하면 종종 성공합니다. 하이픈 넣기가 작동하는 방식으로 빠른 텍스트를 원할 경우 작은 텍스트 너비를 설정하십시오.

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

여기에 이미지 설명을 입력하세요

답변2

내 의견을 확장하고 이미지를 추가하기만 하면 됩니다. 나는 세 가지 테스트를 수행했습니다.

  1. 타이프스트 사용
    여기에 이미지 설명을 입력하세요

  2. LuaLaTeX를 사용하여microtype 여기에 이미지 설명을 입력하세요

  3. 마이크로타입 없이 LuaLaTeX를 사용합니다. 여기에 이미지 설명을 입력하세요

예상대로 가장 좋은 결과는 microtype. 물론 더 나은 테스트는 좁은 열을 사용하는 것이었을 것입니다. 그러나 나는 그것을 확인할 만큼 일반적인 측면에서는 충분히 알지 못했습니다. 또한 Frog King과 같이 하이픈 넣기가 어려운 단락을 사용하고 하이픈 넣기에 영향을 미치는 모든 매개 변수를 기록하는 것이 더 좋았을 것입니다.

여담으로, 여기에는 내 경험에 대한 몇 가지 의견도 있습니다 typst.

  1. 아무런 문제 없이(Windows의 경우) github 저장소에서 Windows에 설치했으며 모든 것이 실행되는 데 2분도 채 걸리지 않았습니다(10/10).
  2. 저는 Sublime을 편집기로 사용하고 있으며 typst 코드를 강조하기 위한 패키지는 없었지만 깨끗하고 읽기 쉬운 코드를 생성합니다(8/10).
  3. Typst는 매우 빠르게 컴파일됩니다(10/10).
  4. 저도 디스코드 서버에 가봤는데 아주 형편없는 경험이었습니다. 저는 일반적으로 Discord를 방문하여 니트로 구매 팝업을 받는 것을 별로 좋아하지 않습니다. 현재까지 커뮤니티는 열성적이고 지지를 보내고 있는 것 같습니다. LaTeX에서는 당연하게 여겨지는 기능에 대한 요청이 많이 있습니다. (6/10)
  5. 또한 일부 패키지를 살펴보았는데 IMHO Typst는 곧 우유부단함, 혼란 및 중복으로 이어지는 생태계와 함께 Javascript와 같은 동일한 문제를 겪게 될 것입니다. (5/10)
  6. 전체적으로 typst를 사용하고 문서의 일부를 읽는 데는 15분도 채 걸리지 않았습니다. 나는 비디오를 보는 것보다 읽는 것을 더 좋아하기 때문에 비디오를 보지 않았습니다. 나는 LaTeX doc/docstrip 문서와 같은 PDF를 선호했습니다. 온라인 매뉴얼보다 나은 통일성을 제공합니다. (8/10)
  7. IMHO LaTeX와 Typst가 커뮤니티나 pandoc.
  8. Typst와 LaTex는 지금까지 Word보다 더 나은 대안입니다.

공허한 수사에 탐닉하는 정치적 리더십에 의해 악화된 교육 표준의 침식이라는 일반적인 환경에서 학생과 다른 사람들이 트윗 대신 더 나은 문서를 작성할 수 있도록 준비시킬 수 있는 시스템을 목표로 하는 시스템 개발을 보는 것은 좋은 일입니다.

관련 정보