Loading AI tools
ウィキペディアから
ハイフネーションアルゴリズム(英: hyphenation algorithm)は、単語の途中で改行できる箇所を決定するためのルールセットである。この規則によって、例えば、“impeachment”(弾劾)という語を途中で区切らねばならない(=分綴)とき、適切な分綴である“impeach-ment” や “im-peachment” が示されることが期待される。
分綴規則は、言語に方言があることによって複雑さが増している。例えば、英語にはイギリス英語やアメリカ英語などがある。前者では単語を区切る際に、音節よりも語源を重視する傾向にあり、後者はその逆である[1]。つまり、“knowledge” という単語は、“know-ledge”(語源を重視した分綴、イギリス英語)とも “knowl-edge”(音節を重視した分綴、アメリカ英語)とも区切られうる。
また、同一のスペリングをする単語でも、発音が異なることで分綴位置が異なることがある[2]。例えば、“present” という単語は、「贈り物」という意味の名詞や、「出席している」「存在している」という意味の形容詞としては、“pres-ent ([prézənt])” と分綴され、「贈る」という意味の動詞としては、“pre-sent ([prizént])” と分綴される[2]。
さらに、ハイフネーション規則には無数の例外も存在し、問題をより複雑にしている。
ハイフネーション規則についての経験則は、"On Hyphenation – Anarchy of Pedantry" に詳しい。種々のアルゴリズム的アプローチの中では、TeXで実装されたものが広く使われている。このアルゴリズムは、“Computers and Typesetting” の最初の2巻と、フランシス・マーク・リャン (Francis Mark Liang) の博士論文によって文書化されている[3]。
TeXのハイフネーションアルゴリズムは、ライブラリの形で、Haskell, JavaScript, Python をはじめとする多くのプログラミング言語で使えるようになっている。TeXにおいては、\showhyphens
のコマンドが使える。
LaTeXにおいては、ハイフネーションの修正が、以下のコマンドによって利用者自身の手によって行える:
\hyphenation{words}
\hyphenationコマンドでは、スペースで区切った語の羅列によって、語の改行可能な位置を宣言する。改行可能な位置は、“-” によって示される。以下に例を示す:
\hyphenation{fortran er-go-no-mic}
上のコマンドでは、“fortran” の語が途中で改行されることを禁止し、“ergonomic” の語がハイフンをはさんだ位置のいずれかでハイフネーションされ得ることを宣言している[4]。
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.