
저는 가상 언어의 문법을 작성 중이며 이 언어에 맞게 작성된 사용자 정의 글꼴을 가지고 있습니다. 글꼴에는 문자와 합자를 이전 문자에 겹쳐서 더 작은 글리프 세트로 더 복잡한 "문자"를 만드는 시스템이 있습니다. LaTeX가 이전 단어를 오버레이해야 하는 문자 앞에 단어를 하이픈으로 연결하면 매우 나빠 보입니다. 나는 알아차릴 때 깨지는 특정 단어 주위에 \mbox를 수동으로 배치하여 이 문제를 "해결"해왔지만 분명히 이것이 영구적인 수정은 아닙니다. 이 사용자 정의 글꼴로 작성된 텍스트에만 적용되는 사용자 정의 하이픈 넣기 규칙 세트를 지정하려면 어떻게 해야 합니까? "어떠한 단어에도 하이픈을 넣지 않고 공백에만 줄 바꿈"과 같은 간단한 규칙도 작동하지만 일반 영어 텍스트에도 정상적으로 하이픈을 넣기를 원합니다. 중요한 것은 글꼴에도 많은 합자가 있지만 LaTeX가 합자를 형성해야 하는 두 문자 사이에 단어를 하이픈으로 연결하려고 시도하는 것을 아직 보지 못했습니다.
답변1
글꼴을 전환할 때 기존의 하이픈 언어나 사용자 정의 패턴을 정의한 언어 중 하나를 새 언어로 전환하세요. Luatex 로딩 패턴을 사용하지 않는 한 일반 tex 실행에 패턴을 로드할 수 없으므로 사용자 정의 형식을 구축해야 합니다.
\hyphenation
기본적으로 하이픈을 사용하지 않는 패턴을 사용하지 않고 하이픈 을 허용하려는 단어에 사용하는 것이 가장 쉽습니다 .
\documentclass{article}
\showhyphens{football}% hyphenates in english
\newlanguage\something
\language\something
\showhyphens{football}% but not here
\hyphenation{foo-tball}
\showhyphens{football}% but does now
\language0
\showhyphens{football}% back to english
\begin{document}
{\language\something\ttfamily % your font
stuff here
}
\end{document}
로그를 보여줍니다
Underfull \hbox (badness 10000) in paragraph at lines 3--3
[] \OT1/cmr/m/n/10 foot-ball
Underfull \hbox (badness 10000) in paragraph at lines 6--6
[] \OT1/cmr/m/n/10 football
Underfull \hbox (badness 10000) in paragraph at lines 8--8
[] \OT1/cmr/m/n/10 foo-tball
Underfull \hbox (badness 10000) in paragraph at lines 10--10
[] \OT1/cmr/m/n/10 foot-ball
새 언어에서는 하이픈 지점을 지정하는 단어를 제외하고 모든 하이픈이 비활성화되어 있음을 보여줍니다.