1var e=[{title:`The Economist Style Guide Hyphenation Rules`,description:`A summary of the hyphenation rules from the Economist Style Guide.`,image:{url:`/posts/economist-style-guide-on-hyphens/cover.png`,blurDataURL:`data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wAARCAAEAAgDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAb/xAAXEAEBAQEAAAAAAAAAAAAAAAAAESNh/8QAFAEBAAAAAAAAAAAAAAAAAAAAAf/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/AI65zoAL/9k=`},publishedAt:new Date(`2024-01-15T00:00:00.000Z`),author:{name:`Alexandru Furculita`,url:`https://twitter.com/afurculita`},tags:[],content:{mdx:'var Component=(()=>{var u=Object.create;var d=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var f=Object.getPrototypeOf,b=Object.prototype.hasOwnProperty;var g=(i,n)=>()=>(n||i((n={exports:{}}).exports,n),n.exports),w=(i,n)=>{for(var l in n)d(i,l,{get:n[l],enumerable:!0})},c=(i,n,l,h)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of p(n))!b.call(i,r)&&r!==l&&d(i,r,{get:()=>n[r],enumerable:!(h=m(n,r))||h.enumerable});return i};var y=(i,n,l)=>(l=i!=null?u(f(i)):{},c(n||!i||!i.__esModule?d(l,"default",{value:i,enumerable:!0}):l,i)),k=i=>c(d({},"__esModule",{value:!0}),i);var o=g((j,t)=>{t.exports=_jsx_runtime});var v={};w(v,{default:()=>s});var e=y(o());function a(i){let n={a:"a",em:"em",h1:"h1",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...i.components};return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)(n.h1,{id:"the-economist-style-guide-hyphenation-rules",children:[(0,e.jsx)(n.em,{children:"The Economist Style Guide"})," Hyphenation Rules"]}),`\n`,(0,e.jsx)(n.p,{children:"Here is a summary of the hyphenation rules from the Economist Style Guide."}),`\n`,(0,e.jsx)(n.h2,{id:"the-essence-of-style",children:"The essence of style"}),`\n`,(0,e.jsx)(n.p,{children:"There is no firm rule to help you decide which words are run together, hyphenated or left separate. If in doubt, consult a dictionary. Do not overdo the literary device of hyphenating words that are not usually linked: the stringing-together-of-lotsand-lots-of-words-and-ideas tendency can be tiresome."}),`\n`,(0,e.jsx)(n.h3,{id:"1-words-with-common-or-short-prefixes",children:"1. Words with common or short prefixes"}),`\n`,(0,e.jsx)(n.p,{children:"In general, try to avoid putting hyphens into words formed of one word and a short prefix."}),`\n`,(0,e.jsx)(n.p,{children:(0,e.jsx)(n.em,{children:"3D, asexual, biplane, declassify, disfranchise, geopolitical, neoclassicism, neoconservative but neo-cons, neoliberal, Neolithic, neologism, neonatal, overcapacity, overdone, overeducated, overemployment, precondition, predate, subcontinent, preoccupied, subcontract, preordained, subhuman, prepay, submachinegun, realign, suboptimal, rearm, subprime, rearrange, tetravalent, reborn, underdog, redirect, underdone, reopen, underinvest, reorder, underpaid, repurchase, subcommittee, upended"})}),`\n`,(0,e.jsxs)(n.h3,{id:"2-words-beginning-with-re-",children:["2. Words beginning with ",(0,e.jsx)(n.em,{children:"re-"})]}),`\n`,(0,e.jsx)(n.p,{children:"Some words that begin with re are hyphenated to avoid confusion:"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"re-cast"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"re-create (meaning create again)"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"re-present (meaning present again)"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"re-sort (meaning sort again)"}),`\n`]}),`\n`]}),`\n`,(0,e.jsx)(n.h3,{id:"3-unfamiliar-combinations",children:"3. Unfamiliar combinations"}),`\n`,(0,e.jsx)(n.p,{children:"Words making unfamiliar combinations, especially if they would involve running consonants or vowels together, may benefit from a hyphen, so:"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"cross-reference (a cross reference would be unpleasant)"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"demi-paradise"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"over-governed"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"sub-investment grade"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"under-age"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"under-secretary"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsxs)(n.p,{children:[(0,e.jsx)(n.em,{children:"Antidisestablishmentarianism"})," would, however, lose its point if it were hyphenated."]}),`\n`]}),`\n`]}),`\n`,(0,e.jsx)(n.h3,{id:"4-fractions",children:"4. Fractions"}),`\n`,(0,e.jsx)(n.p,{children:"Whether nouns or adjectives, these take hyphens:"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"one-half"}),`\n`,(0,e.jsx)(n.li,{children:"one-sixth"}),`\n`,(0,e.jsx)(n.li,{children:"four-fifths"}),`\n`,(0,e.jsx)(n.li,{children:"two-thirds"}),`\n`]}),`\n`,(0,e.jsx)(n.p,{children:"But note that it is a half, a fifth, a sixth."}),`\n`,(0,e.jsx)(n.h3,{id:"5-words-that-begin-with",children:"5. Words that begin with"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"agri"}),`\n`,(0,e.jsx)(n.li,{children:"infra"}),`\n`,(0,e.jsx)(n.li,{children:"post"}),`\n`,(0,e.jsx)(n.li,{children:"anti"}),`\n`,(0,e.jsx)(n.li,{children:"inter"}),`\n`,(0,e.jsx)(n.li,{children:"pre"}),`\n`,(0,e.jsx)(n.li,{children:"counter"}),`\n`,(0,e.jsx)(n.li,{children:"mid"}),`\n`,(0,e.jsx)(n.li,{children:"semi"}),`\n`,(0,e.jsx)(n.li,{children:"extra"}),`\n`,(0,e.jsx)(n.li,{children:"multi"}),`\n`,(0,e.jsx)(n.li,{children:"ultra"}),`\n`,(0,e.jsx)(n.li,{children:"half"}),`\n`,(0,e.jsx)(n.li,{children:"non"}),`\n`]}),`\n`,(0,e.jsx)(n.p,{children:"The rules vary:"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"agri-business, agriculture"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"anti-aircraft, anti-fascist, anti-submarine (but antibiotic, anticlimax, antidote, antiseptic, antitrust) counter-attack, counter-clockwise, counter-espionage, counter-intuitive (but counteract, countermand, counterpane)"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"extraordinary, extraterrestrial, extraterritorial (but extra\\xAC judicial)"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"half-baked, half-hearted, half-serious (but halfway) infra-red"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"inter-agency, inter-country, inter-faith, inter-governmental, inter-regional (but intermediate, international, interpose) mid-August, mid-week"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"multibillion, multilingual, multiracial (but multi-occupancy, multi-storey, multi-user)"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"non-combatant, non-existent, non-payment, non-violent (but nonaligned, nonconformist, nonplussed, nonstop) postdate, post-war, pre-war semi-automatic, semi-conscious, semi-detached ultra-violet"}),`\n`]}),`\n`]}),`\n`,(0,e.jsx)(n.h3,{id:"6-the-word-worth",children:"6. The word worth"}),`\n`,(0,e.jsxs)(n.p,{children:["A sum followed by the word worth needs a hyphen: ",(0,e.jsx)(n.em,{children:"$25m-worth of goods"}),"."]}),`\n`,(0,e.jsx)(n.h3,{id:"7-some-titles",children:"7. Some titles"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"attorney-general"}),`\n`,(0,e.jsx)(n.li,{children:"lieutenant-colonel"}),`\n`,(0,e.jsx)(n.li,{children:"under-secretary"}),`\n`,(0,e.jsx)(n.li,{children:"director-general"}),`\n`,(0,e.jsx)(n.li,{children:"major-general"}),`\n`,(0,e.jsx)(n.li,{children:"vice-president"}),`\n`,(0,e.jsx)(n.li,{children:"field-marshal"}),`\n`,(0,e.jsx)(n.li,{children:"secretary-general"}),`\n`]}),`\n`,(0,e.jsx)(n.p,{children:"But:"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"deputy"}),`\n`,(0,e.jsx)(n.li,{children:"director"}),`\n`,(0,e.jsx)(n.li,{children:"district"}),`\n`,(0,e.jsx)(n.li,{children:"attorney"}),`\n`,(0,e.jsx)(n.li,{children:"deputy"}),`\n`,(0,e.jsx)(n.li,{children:"secretary"}),`\n`,(0,e.jsx)(n.li,{children:"general"}),`\n`,(0,e.jsx)(n.li,{children:"secretary"}),`\n`]}
1),`\n`,(0,e.jsx)(n.h3,{id:"8-avoiding-ambiguities",children:"8. Avoiding ambiguities"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"fine-tooth comb (most people do not comb their teeth)"}),`\n`,(0,e.jsx)(n.li,{children:"a little used-car lot (a little-used car lot)"}),`\n`,(0,e.jsx)(n.li,{children:"third-world war (third world-war)"}),`\n`,(0,e.jsx)(n.li,{children:"cross-complaint (cross complaint)"}),`\n`,(0,e.jsx)(n.li,{children:"high-school results (high school-results)"}),`\n`]}),`\n`,(0,e.jsx)(n.h3,{id:"9-aircraft",children:"9. Aircraft"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"DC-10"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"Mirage F-1E"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"MiG-23"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"Lockheed p-3 Orion"}),`\n`,(0,e.jsx)(n.p,{children:"(If in doubt, consult Jane\\u2019; \\u201CAll the World\\u2019s Aircraft\\u201D.)"}),`\n`,(0,e.jsx)(n.p,{children:"Note that Airbus A340, BAe RJ70 do not have hyphens."}),`\n`]}),`\n`]}),`\n`,(0,e.jsx)(n.h3,{id:"10-calibres",children:"10. Calibres"}),`\n`,(0,e.jsx)(n.p,{children:"The style for calibres is 50mm or 105mm with no hyphen, but 5.5-inch and 25-pounder."}),`\n`,(0,e.jsx)(n.h3,{id:"11-adjectives-formed-from-two-or-more-words",children:"11. Adjectives formed from two or more words"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"70-year-old judge"}),`\n`,(0,e.jsx)(n.li,{children:"balance-of-payments difficulties"}),`\n`,(0,e.jsx)(n.li,{children:"private-sector wages"}),`\n`,(0,e.jsx)(n.li,{children:"public-sector borrowing requirement"}),`\n`,(0,e.jsxs)(n.li,{children:["right-wing groups (",(0,e.jsx)(n.em,{children:"but"})," the right wing of the party)"]}),`\n`,(0,e.jsx)(n.li,{children:"state-of-the-union message"}),`\n`,(0,e.jsx)(n.li,{children:"value-added tax (VAT)"}),`\n`]}),`\n`,(0,e.jsx)(n.h3,{id:"12-adverbs",children:"12. Adverbs"}),`\n`,(0,e.jsx)(n.p,{children:"Adverbs do not need to be linked to participles or adjectives by hyphens in simple constructions:"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:(0,e.jsx)(n.em,{children:"The regiment was ill equipped for its task."})}),`\n`,(0,e.jsx)(n.li,{children:(0,e.jsx)(n.em,{children:"The principle is well established."})}),`\n`,(0,e.jsx)(n.li,{children:(0,e.jsx)(n.em,{children:"Though expensively educated, the journalist knew no grammar."})}),`\n`]}),`\n`,(0,e.jsx)(n.p,{children:"But if the adverb is one of two words together being used adjectivally, a hyphen may be needed:"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:(0,e.jsx)(n.em,{children:"The ill-equipped regiment was soon repulsed."})}),`\n`,(0,e.jsx)(n.li,{children:(0,e.jsx)(n.em,{children:"All well-established principles should be periodically challenged."})}),`\n`]}),`\n`,(0,e.jsxs)(n.p,{children:["The hyphen is especially likely to be needed if the adverb is short and common, such as ",(0,e.jsx)(n.em,{children:"ill"}),", ",(0,e.jsx)(n.em,{children:"little"}),", ",(0,e.jsx)(n.em,{children:"much"})," and ",(0,e.jsx)(n.em,{children:"well"}),". Less common adverbs, including all those that end -ly, are less likely to need hyphens:"]}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:(0,e.jsx)(n.em,{children:"Never employ an expensively educated journalist."})}),`\n`]}),`\n`,(0,e.jsx)(n.h3,{id:"13-separating-identical-letters",children:"13. Separating identical letters"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"book-keeping"}),`\n`,(0,e.jsx)(n.li,{children:"re-emerge"}),`\n`,(0,e.jsx)(n.li,{children:"coat-tails"}),`\n`,(0,e.jsx)(n.li,{children:"re-entry"}),`\n`,(0,e.jsx)(n.li,{children:"co-operate"}),`\n`,(0,e.jsx)(n.li,{children:"side-effect"}),`\n`,(0,e.jsx)(n.li,{children:"pre-eminent"}),`\n`,(0,e.jsx)(n.li,{children:"trans-ship"}),`\n`,(0,e.jsx)(n.li,{children:"pre-empt"}),`\n`,(0,e.jsx)(n.li,{children:"unco-operative"}),`\n`]}),`\n`,(0,e.jsx)(n.p,{children:"Exceptions include:"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"overrate"}),`\n`,(0,e.jsx)(n.li,{children:"overrun"}),`\n`,(0,e.jsx)(n.li,{children:"overreach"}),`\n`,(0,e.jsx)(n.li,{children:"skiing"}),`\n`,(0,e.jsx)(n.li,{children:"override"}),`\n`,(0,e.jsx)(n.li,{children:"underrate"}),`\n`,(0,e.jsx)(n.li,{children:"overrule"}),`\n`,(0,e.jsx)(n.li,{children:"withhold"}),`\n`]}),`\n`,(0,e.jsx)(n.h3,{id:"14-some-nouns-formed-from-prepositional-verbs",children:"14. Some nouns formed from prepositional verbs"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"bail-out"}),`\n`,(0,e.jsx)(n.li,{children:"pay-off"}),`\n`,(0,e.jsx)(n.li,{children:"shake-out"}),`\n`,(0,e.jsx)(n.li,{children:"build-up"}),`\n`,(0,e.jsx)(n.li,{children:"pull-out"}),`\n`,(0,e.jsx)(n.li,{children:"shake-up"}),`\n`,(0,e.jsx)(n.li,{children:"buy-out"}),`\n`,(0,e.jsx)(n.li,{children:"rip-off"}),`\n`,(0,e.jsx)(n.li,{children:"stand-off"}),`\n`,(0,e.jsx)(n.li,{children:"call-up"}),`\n`,(0,e.jsx)(n.li,{children:"round-up"}),`\n`,(0,e.jsx)(n.li,{children:"start-up"}),`\n`,(0,e.jsx)(n.li,{children:"get-together"}),`\n`,(0,e.jsx)(n.li,{children:"run-up"}),`\n`,(0,e.jsx)(n.li,{children:"trade-off"}),`\n`,(0,e.jsx)(n.li,{children:"lay-off"}),`\n`,(0,e.jsx)(n.li,{children:"set-up"}),`\n`]}),`\n`,(0,e.jsx)(n.p,{children:"But:"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"fallout"}),`\n`,(0,e.jsx)(n.li,{children:"lockout"}),`\n`,(0,e.jsx)(n.li,{children:"handout"}),`\n`,(0,e.jsx)(n.li,{children:"payout"}),`\n`,(0,e.jsx)(n.li,{children:"knockout"}),`\n`,(0,e.jsx)(n.li,{children:"turnout"}),`\n`]}),`\n`,(0,e.jsx)(n.h3,{id:"15-the-quarters-of-the-compass",children:"15. The quarters of the compass"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"mid-west(ern)"}),`\n`,(0,e.jsx)(n.li,{children:"south-east(ern)"}),`\n`,(0,e.jsx)(n.li,{children:"north-east(ern)"}),`\n`,(0,e.jsx)(n.li,{children:"south-west(ern)"}),`\n`,(0,e.jsx)(n.li,{children:"north-west(ern)"}),`\n`]}),`\n`,(0,e.jsx)(n.h3,{id:"16-hybrid-ethnics",children:"16. Hybrid ethnics"}),`\n`,(0,e.jsxs)(n.p,{children:[(0,e.jsx)(n.em,{children:"Greek-Cypriot"}),", ",(0,e.jsx)(n.em,{children:"Irish-American"}),", etc, whether noun or adjective."]}),`\n`,(0,e.jsx)(n.h3,{id:"17-makers-and-making",children:"17. Makers and making"}),`\n`,(0,e.jsxs)(n.p,{children:["A general, though not iron, rule for ",(0,e.jsx)(n.em,{children:"makers"})," and ",(0,e.jsx)(n.em,{children:"making"}
1),": if the prefix is of one or two syllables, attach it without a hyphen to form a single word, but if the prefix is of three or more syllables, introduce a hyphen."]}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"antimacassar-maker"}),`\n`,(0,e.jsx)(n.li,{children:"clockmaker"}),`\n`,(0,e.jsx)(n.li,{children:"steelmaker"}),`\n`,(0,e.jsx)(n.li,{children:"holiday-maker"}),`\n`,(0,e.jsx)(n.li,{children:"tiramisu-maker"}),`\n`,(0,e.jsx)(n.li,{children:"lawmaker"}),`\n`,(0,e.jsx)(n.li,{children:"troublemaker"}),`\n`,(0,e.jsx)(n.li,{children:"marketmaker"}),`\n`,(0,e.jsx)(n.li,{children:"peacemaker"}),`\n`,(0,e.jsx)(n.li,{children:"bookmaker"}),`\n`,(0,e.jsx)(n.li,{children:"candlestick-maker"}),`\n`,(0,e.jsx)(n.li,{children:"carmaker"}),`\n`,(0,e.jsx)(n.li,{children:"chipmaker"}),`\n`]}),`\n`,(0,e.jsxs)(n.p,{children:[(0,e.jsx)(n.em,{children:"Policymaker"})," and ",(0,e.jsx)(n.em,{children:"profitmaking"})," are one word and an exception. But: note ",(0,e.jsx)(n.em,{children:"foreign-policy maker"})," (",(0,e.jsx)(n.em,{children:"-ing"}),")."]}),`\n`,(0,e.jsxs)(n.h3,{id:"18-other-words-ending--er--ing-that-are-similar-to-maker-and-making",children:["18. Other words ending ",(0,e.jsx)(n.em,{children:"-er"})," (",(0,e.jsx)(n.em,{children:"-ing"}),") that are similar to ",(0,e.jsx)(n.em,{children:"maker"})," and ",(0,e.jsx)(n.em,{children:"making"})]}),`\n`,(0,e.jsx)(n.p,{children:"The general rule should be to insert a hyphen:"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"arms-trader"}),`\n`,(0,e.jsx)(n.li,{children:"copper-miner"}),`\n`,(0,e.jsx)(n.li,{children:"drug-dealer"}),`\n`,(0,e.jsx)(n.li,{children:"drug-trafficker"}),`\n`,(0,e.jsx)(n.li,{children:"field-worker"}),`\n`,(0,e.jsx)(n.li,{children:"front-runner"}),`\n`,(0,e.jsx)(n.li,{children:"gun-runner"}),`\n`,(0,e.jsx)(n.li,{children:"home-owner"}),`\n`,(0,e.jsx)(n.li,{children:"hostage-taker"}),`\n`,(0,e.jsx)(n.li,{children:"mill-owner"}),`\n`,(0,e.jsx)(n.li,{children:"truck-driver"}),`\n`,(0,e.jsx)(n.li,{children:"vegetable-grower"}),`\n`]}),`\n`,(0,e.jsx)(n.p,{children:"But some prefixes, especially those of one syllable, can be used to form single words."}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"coalminer"}),`\n`,(0,e.jsx)(n.li,{children:"metalworker"}),`\n`,(0,e.jsx)(n.li,{children:"shipowner"}),`\n`,(0,e.jsx)(n.li,{children:"farmworker"}),`\n`,(0,e.jsx)(n.li,{children:"muckraker"}),`\n`,(0,e.jsx)(n.li,{children:"steelworker"}),`\n`,(0,e.jsx)(n.li,{children:"foxhunter"}),`\n`,(0,e.jsx)(n.li,{children:"nitpicker (-ing)"}),`\n`,(0,e.jsx)(n.li,{children:"steeplechaser"}),`\n`,(0,e.jsx)(n.li,{children:"gatekeeper"}),`\n`,(0,e.jsx)(n.li,{children:"peacekeeper"}),`\n`,(0,e.jsx)(n.li,{children:"taxpayer"}),`\n`,(0,e.jsx)(n.li,{children:"householder"}),`\n`,(0,e.jsx)(n.li,{children:"shipbroker"}),`\n`,(0,e.jsx)(n.li,{children:"landowner"}),`\n`,(0,e.jsx)(n.li,{children:"shipbuilder"}),`\n`]}),`\n`,(0,e.jsx)(n.p,{children:"Less common combinations are better written as two words:"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"crossword"}),`\n`,(0,e.jsx)(n.li,{children:"compiler"}),`\n`,(0,e.jsx)(n.li,{children:"gun"}),`\n`,(0,e.jsx)(n.li,{children:"owner"}),`\n`,(0,e.jsx)(n.li,{children:"currency"}),`\n`,(0,e.jsx)(n.li,{children:"trader"}),`\n`,(0,e.jsx)(n.li,{children:"insurance"}),`\n`,(0,e.jsx)(n.li,{children:"broker"}),`\n`,(0,e.jsx)(n.li,{children:"dog"}),`\n`,(0,e.jsx)(n.li,{children:"owner"}),`\n`,(0,e.jsx)(n.li,{children:"tuba"}),`\n`,(0,e.jsx)(n.li,{children:"player"}),`\n`]}),`\n`,(0,e.jsx)(n.h3,{id:"19-quotes",children:"19. Quotes"}),`\n`,(0,e.jsx)(n.p,{children:"Words gathered together in quotation marks as adjectives do not usually need hyphens as well:"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:(0,e.jsx)(n.em,{children:"the \\u201CLive Free or Die\\u201D state."})}),`\n`]}),`\n`,(0,e.jsx)(n.h3,{id:"20-one-word",children:"20. One word"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"airfield"}),`\n`,(0,e.jsx)(n.li,{children:"airspace"}),`\n`,(0,e.jsx)(n.li,{children:"airtime"}),`\n`,(0,e.jsx)(n.li,{children:"bedfellow"}),`\n`,(0,e.jsx)(n.li,{children:"bestseller (-ing)"}),`\n`,(0,e.jsx)(n.li,{children:"bilingual"}),`\n`,(0,e.jsx)(n.li,{children:"blackboard"}),`\n`,(0,e.jsx)(n.li,{children:"blackout"}),`\n`,(0,e.jsx)(n.li,{children:"blueprint"}),`\n`,(0,e.jsx)(n.li,{children:"bookseller"}),`\n`,(0,e.jsx)(n.li,{children:"businessman"}),`\n`,(0,e.jsx)(n.li,{children:"bypass"}),`\n`,(0,e.jsxs)(n.li,{children:["cashflow (but ",(0,e.jsx)(n.em,{children:"cash flow"})," in accountancy)"]}),`\n`,(0,e.jsx)(n.li,{children:"catchphrase"}),`\n`,(0,e.jsx)(n.li,{children:"ceasefire"}),`\n`,(0,e.jsx)(n.li,{children:"checklist"}),`\n`,(0,e.jsx)(n.li,{children:"coastguard"}),`\n`,(0,e.jsx)(n.li,{children:"codebreaker"}),`\n`,(0,e.jsx)(n.li,{children:"comeback"}),`\n`,(0,e.jsx)(n.li,{children:"commonsense (adj)"}),`\n`,(0,e.jsx)(n.li,{children:"crossfire"}),`\n`,(0,e.jsx)(n.li,{children:"cyberspace"}),`\n`,(0,e.jsx)(n.li,{children:"dotcom"}
1),`\n`,(0,e.jsx)(n.li,{children:"downturn (noun)"}),`\n`,(0,e.jsx)(n.li,{children:"faultline"}),`\n`,(0,e.jsx)(n.li,{children:"figleaf"}),`\n`,(0,e.jsx)(n.li,{children:"fivefold"}),`\n`,(0,e.jsx)(n.li,{children:"foothold"}),`\n`,(0,e.jsx)(n.li,{children:"forever (adv, when preceding verb)"}),`\n`,(0,e.jsx)(n.li,{children:"foxhunter (-ing)"}),`\n`,(0,e.jsxs)(n.li,{children:["frontline (adj, but noun ",(0,e.jsx)(n.em,{children:"front line"}),")"]}),`\n`,(0,e.jsx)(n.li,{children:"girlfriend"}),`\n`,(0,e.jsx)(n.li,{children:"goodwill"}),`\n`,(0,e.jsx)(n.li,{children:"grassroots (adj and noun)"}),`\n`,(0,e.jsx)(n.li,{children:"groundsman"}),`\n`,(0,e.jsx)(n.li,{children:"halfhearted"}),`\n`,(0,e.jsx)(n.li,{children:"halfway"}),`\n`,(0,e.jsx)(n.li,{children:"handpicked"}),`\n`,(0,e.jsx)(n.li,{children:"handwriting"}),`\n`,(0,e.jsx)(n.li,{children:"hardline"}),`\n`,(0,e.jsx)(n.li,{children:"headache"}),`\n`,(0,e.jsx)(n.li,{children:"hijack"}),`\n`,(0,e.jsx)(n.li,{children:"hobnob"}),`\n`,(0,e.jsx)(n.li,{children:"kowtow"}),`\n`,(0,e.jsx)(n.li,{children:"lacklustre"}),`\n`,(0,e.jsx)(n.li,{children:"landmine"}),`\n`,(0,e.jsx)(n.li,{children:"laptop"}),`\n`,(0,e.jsx)(n.li,{children:"logjam"}),`\n`,(0,e.jsx)(n.li,{children:"loophole"}),`\n`,(0,e.jsx)(n.li,{children:"lopsided"}),`\n`,(0,e.jsx)(n.li,{children:"lukewarm"}),`\n`,(0,e.jsx)(n.li,{children:"machinegun"}),`\n`,(0,e.jsx)(n.li,{children:"marketplace"}),`\n`,(0,e.jsx)(n.li,{children:"minefield"}),`\n`,(0,e.jsx)(n.li,{children:"nationwide"}),`\n`,(0,e.jsx)(n.li,{children:"nevertheless"}),`\n`,(0,e.jsx)(n.li,{children:"nonetheless"}),`\n`,(0,e.jsx)(n.li,{children:"offline"}),`\n`,(0,e.jsx)(n.li,{children:"offshore"}),`\n`,(0,e.jsx)(n.li,{children:"oilfield"}),`\n`,(0,e.jsx)(n.li,{children:"oilrig"}),`\n`,(0,e.jsx)(n.li,{children:"online"}),`\n`,(0,e.jsx)(n.li,{children:"onshore"}),`\n`,(0,e.jsx)(n.li,{children:"peacetime"}),`\n`,(0,e.jsx)(n.li,{children:"petrochemical"}),`\n`,(0,e.jsx)(n.li,{children:"pickup truck"}),`\n`,(0,e.jsx)(n.li,{children:"placename"}),`\n`,(0,e.jsx)(n.li,{children:"rainforest"}),`\n`,(0,e.jsx)(n.li,{children:"ringtone"}),`\n`,(0,e.jsx)(n.li,{children:"roadblock"}),`\n`,(0,e.jsx)(n.li,{children:"rustbelt"}),`\n`,(0,e.jsx)(n.li,{children:"salesforce"}),`\n`,(0,e.jsx)(n.li,{children:"seabed"}),`\n`,(0,e.jsx)(n.li,{children:"shorthand"}),`\n`,(0,e.jsx)(n.li,{children:"shortlist"}),`\n`,(0,e.jsx)(n.li,{children:"shutdown"}),`\n`,(0,e.jsx)(n.li,{children:"sidestep"}),`\n`,(0,e.jsx)(n.li,{children:"soyabean"}),`\n`,(0,e.jsx)(n.li,{children:"spillover"}),`\n`,(0,e.jsx)(n.li,{children:"startup"}),`\n`,(0,e.jsx)(n.li,{children:"statewide"}),`\n`,(0,e.jsx)(n.li,{children:"stockmarket"}),`\n`,(0,e.jsx)(n.li,{children:"streetwalker"}),`\n`,(0,e.jsx)(n.li,{children:"strongman"}),`\n`,(0,e.jsx)(n.li,{children:"sunbelt"}),`\n`,(0,e.jsx)(n.li,{children:"takeover"}),`\n`,(0,e.jsx)(n.li,{children:"threefold"}),`\n`,(0,e.jsx)(n.li,{children:"threshold"}),`\n`,(0,e.jsx)(n.li,{children:"timetable"}),`\n`,(0,e.jsx)(n.li,{children:"trademark"}),`\n`,(0,e.jsx)(n.li,{children:"transatlantic"}),`\n`,(0,e.jsx)(n.li,{children:"transpacific"}),`\n`,(0,e.jsx)(n.li,{children:"twofold"}),`\n`,(0,e.jsx)(n.li,{children:"videocassette"}),`\n`,(0,e.jsx)(n.li,{children:"videodisc"}),`\n`,(0,e.jsx)(n.li,{children:"wartime"}),`\n`,(0,e.jsx)(n.li,{children:"watchdog"}),`\n`,(0,e.jsx)(n.li,{children:"website"}),`\n`,(0,e.jsx)(n.li,{children:"whistleblower"}),`\n`,(0,e.jsx)(n.li,{children:"windfall"}),`\n`,(0,e.jsx)(n.li,{children:"workforce"}),`\n`,(0,e.jsx)(n.li,{children:"worldwide"}),`\n`,(0,e.jsx)(n.li,{children:"worthwhile"}),`\n`]}),`\n`,(0,e.jsx)(n.h3,{id:"21-two-words",children:"21. Two words"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"ad hoc"}),`\n`,(0,e.jsx)(n.li,{children:"air base"}),`\n`,(0,e.jsx)(n.li,{children:"air force"}),`\n`,(0,e.jsx)(n.li,{children:"air strike"}),`\n`,(0,e.jsx)(n.li,{children:"all right"}),`\n`,(0,e.jsx)(n.li,{children:"any more"}),`\n`,(0,e.jsx)(n.li,{children:"any time"}),`\n`,(0,e.jsx)(n.li,{children:"arm\\u2019s length"}),`\n`,(0,e.jsx)(n.li,{children:"ballot box"}),`\n`,(0,e.jsx)(n.li,{children:"birth rate"}),`\n`,(0,e.jsx)(n.li,{children:"call centre"}),`\n`,(0,e.jsx)(n.li,{children:"child care (noun)"}),`\n`,(0,e.jsx)(n.li,{children:"cluster bombs"}),`\n`,(0,e.jsx)(n.li,{children:"common sense (noun)"}),`\n`,(0,e.jsx)(n.li,{children:"dare say"}),`\n`,(0,e.jsx)(n.li,{children:"errand boy"}),`\n`,(0,e.jsx)(n.li,{children:"for ever (when used after a verb)"}),`\n`,(0,e.jsx)(n.li,{children:"health care (noun)"}),`\n`,(0,e.jsx)(n.li,{children:"hedge fund"}),`\n`,(0,e.jsx)(n.li,{children:"home page"}),`\n`,(0,e.jsx)(n.li,{children:"joint venture"}),`\n`,(0,e.jsx)(n.li,{children:"Land Rover"}),`\n`,(0,e.jsx)(n.li,{children:"no one"}),`\n`,(0,e.jsx)(n.li,{children:"photo opportunity"}),`\n`,(0,e.jsx)(n.li,{children:"plea bargain"}),`\n`,(0,e.jsx)(n.li,{children:"some day"}),`\n`,(0,e.jsx)(n.li,{children:"some time"}),`\n`,(0,e.jsx)(n.li,{children:"under way"}),`\n`,(0,e.jsx)(n.li,{children:"vice versa"}),`\n`,(0,e.jsx)(n.li,{children:"wild flowers (but adj. wildflower)"}),`\n`]}),`\n`,(0,e.jsx)(n.h3,{id:"22-two-hyphenated-words",children:"22. Two hyphenated words"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"aid-worker"}),`\n`,(0,e.jsx)(n.li,{children:"aircraft-carrier"}),`\n`,(0,e.jsx)(n.li,{children:"asylum-seekers"}),`\n`,(0,e.jsx)(n.li,{children:"baby-boomer"}),`\n`,(0,e.jsx)(n.li,{children:"balance-sheet"}),`\n`,(0,e.jsx)(n.li,{children:"bell-ringer"}),`\n`,(0,e.jsx)(n.li,{children:"break-even"}),`\n`,(0,e.jsx)(n.li,{children:"climb-down"}),`\n`,(0,e.jsx)(n.li,{children:"come-uppance"}),`\n`,(0,e.jsx)(n.li,{children:"court-martial (noun and verb)"}),`\n`,(0,e.jsx)(n.li,{children:"cross-border"}),`\n`,(0,e.jsx)(n.li,{children:"cross-dresser"}),`\n`,(0,e.jsx)(n.li,{children:"cross-sell"}),`\n`,(0,e.jsx)(n.li,{children:"death-squads"}),`\n`,(0,e.jsx)(n.li,{children:"derring-do"}),`\n`,(0,e.jsx)(n.li,{children:"downpayment"}),`\n`,(0,e.jsx)(n.li,{children:"drawing-board"}),`\n`,(0,e.jsx)(n.li,{children:"end-game"}),`\n`,(0,e.jsx)(n.li,{children:"end-year"}),`\n`,(0,e.jsx)(n.li,{children:"faint-hearted"}),`\n`,(0,e.jsx)(n.li,{children:"fund-raiser (-ing)"}),`\n`,(0,e.jsx)(n.li,{children:"grown-up"}),`\n`,(0,e.jsx)(n.li,{children:"hand-held"}),`\n`,(0,e.jsx)(n.li,{children:"health-care (adj)"}),`\n`,(0,e.jsx)(n.li,{children:"heir-apparent"}),`\n`,(0,e.jsx)(n.li,{children:"home-made"}),`\n`,(0,e.jsx)(n.li,{children:"hot-head"}),`\n`,(0,e.jsx)(n.li,{children:"ice-cream"}),`\n`,(0,e.jsx)(n.li,{children:"in-fighting"}),`\n`,(0,e.jsx)(n.li,{children:"interest-group"}),`\n`,(0,e.jsx)(n.li,{children:"kerb-crawler"}),`\n`,(0,e.jsx)(n.li,{children:"know-how"}),`\n`,(0,e.jsx)(n.li,{children:"laughing-stock"}),`\n`,(0,e.jsx)(n.li,{children:"like-minded"}),`\n`,(0,e.jsx)(n.li,{children:"long-standing"}),`\n`,(0,e.jsx)(n.li,{children:"machine-tool"}),`\n`,(0,e.jsx)(n.li,{children:"money-laundering"}),`\n`,(0,e.jsx)(n.li,{children:"nation-building"}),`\n`,(0,e.jsx)(n.li,{children:"nation-state"}),`\n`,(0,e.jsx)(n.li,{children:"nest-egg"}),`\n`,(0,e.jsx)(n.li,{children:"news-stand"}),`\n`,(0,e.jsx)(n.li,{children:"number-plate"}),`\n`,(0,e.jsx)(n.li,{children:"pot-hole"}),`\n`,(0,e.jsx)(n.li,{children:"pressuregroup"}),`\n`,(0,e.jsx)(n.li,{children:"question-mark"}),`\n`,(0,e.jsx)(n.li,{children:"rain-check"}),`\n`,(0,e.jsx)(n.li,{children:"safety-valve"}),`\n`,(0,e.jsx)(n.li,{children:"short-lived"}),`\n`,(0,e.jsx)(n.li,{children:"starting-point"}),`\n`,(0,e.jsx)(n.li,{children:"stickingpoint"}),`\n`,(0,e.jsx)(n.li,{children:"stumbling-block"}),`\n`,(0,e.jsx)(n.li,{children:"subject-matter"}),`\n`,(0,e.jsx)(n.li,{children:"suicide-bomb (-er, -ing)"}),`\n`,(0,e.jsx)(n.li,{children:"talking-shop"}),`\n`,(0,e.jsx)(n.li,{children:"task-force"}),`\n`,(0,e.jsx)(n.li,{children:"tear-gas"}),`\n`,(0,e.jsx)(n.li,{children:"think-tank"}),`\n`,(0,e.jsx)(n.li,{children:"time-bomb"}),`\n`,(0,e.jsx)(n.li,{children:"turning-point"}),`\n`,(0,e.jsx)(n.li,{children:"voice-over"}),`\n`,(0,e.jsx)(n.li,{children:"vote-winner"}),`\n`,(0,e.jsx)(n.li,{children:"war-chest"}),`\n`,(0,e.jsx)(n.li,{children:"well-being"}),`\n`,(0,e.jsx)(n.li,{children:"Wi-Fi"}),`\n`,(0,e.jsx)(n.li,{children:"Wi-Max"}),`\n`,(0,e.jsx)(n.li,{children:"window-dressing"}),`\n`,(0,e.jsx)(n.li,{children:"wish-list"}),`\n`,(0,e.jsx)(n.li,{children:"witch-hunt"}),`\n`,(0,e.jsx)(n.li,{children:"working-party"}),`\n`,(0,e.jsx)(n.li,{children:"write-down (noun)"}),`\n`]}),`\n`,(0,e.jsx)(n.h3,{id:"23-three-words",children:"23. Three words"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:"ad hoc agreement (meeting, etc)"}),`\n`,(0,e.jsx)(n.li,{children:"armoured personnel carrier"}),`\n`,(0,e.jsx)(n.li,{children:"consumer price index"}),`\n`,(0,e.jsx)(n.li,{children:"chief(s) of staff"}),`\n`,(0,e.jsx)(n.li,{children:"half a dozen"}),`\n`,(0,e.jsx)(n.li,{children:"in as much"}),`\n`,(0,e.jsx)(n.li,{children:"in so far"}),`\n`,(0,e.jsx)(n.li,{children:"multiple rocket launcher"}),`\n`,(0,e.jsx)(n.li,{children:"nuclear power station"}),`\n`,(0,e.jsx)(n.li,{children:"sovereign wealth fund"}),`\n`,(0,e.jsx)(n.li,{children:"third world war (if things get bad)"}),`\n`]}),`\n`,(0,e.jsx)(n.h3,{id:"24-three-hyphenated-words",children:"24. Three hyphenated words"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"A-turned-B (unless this leads to something unwieldy, so jobbing churchwarden turned captain of industry)"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"brother-in-law"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"chock-a-block"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"commander-in-chief"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"no-man\\u2019s-land"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"prisoners-of-war"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"second-in-command"}),`\n`]}),`\n`,(0,e.jsxs)(n.li,{children:[`\n`,(0,e.jsx)(n.p,{children:"stock-in-trade"}),`\n`]}),`\n`]}),`\n`,(0,e.jsx)(n.h3,{id:"25-numbers",children:"25. Numbers"}),`\n`,(0,e.jsxs)(n.p,{children:["Avoid ",(0,e.jsx)(n.em,{children:"from 1947-50"})," (say ",(0,e.jsx)(n.em,{children:"in 1947-50"})," or ",(0,e.jsx)(n.em,{children:"from 1947 to 1950"}),") and ",(0,e.jsx)(n.em,{children:"between 1961-65"})," (say ",(0,e.jsx)(n.em,{children:"in 1961-65"}),", ",(0,e.jsx)(n.em,{children:"between 1961 and 1965"})," or ",(0,e.jsx)(n.em,{children:"from 1961 to 1965"}),")."]}),`\n`,(0,e.jsx)(n.p,{children:"\\u201CIf you take hyphens seriously, you will surely go mad.\\u201D (Oxford University Press style manual)"}),`\n`,(0,e.jsx)(n.h2,{id:"proofreading",children:"Proofreading"}),`\n`,(0,e.jsx)(n.h3,{id:"word-breaks",children:"Word breaks"}),`\n`,(0,e.jsx)(n.p,{children:"It may be necessary to break words, using a hyphen, at the end of lines. Computer word-processing programs come with standard hyphenation rules but these can always be changed or overruled. Ideally, the aim should be to make these breaks as undisruptive as possible, so that the reader does not stumble or falter. Whenever possible, the word should be broken so that, helped by the context, the reader can anticipate the whole word from the part of it given before the break. Here are some useful principles for deciding how to break a word."}),`\n`,(0,e.jsxs)(n.ol,{children:[`\n`,(0,e.jsx)(n.li,{children:"Words that are already hyphenated should be broken at the hyphen, not given a second hy
1phen."}),`\n`,(0,e.jsxs)(n.li,{children:["Words can be broken according to either their derivation (the British convention) or their pronunciation (the US convention): thus, ",(0,e.jsx)(n.a,{href:"/en-gb/words/aristocracy",children:(0,e.jsx)(n.strong,{children:"aristo-cracy"})})," (UK) or ",(0,e.jsx)(n.a,{href:"/en-us/words/aristocracy",children:(0,e.jsx)(n.strong,{children:"aristoc-racy"})})," (US), ",(0,e.jsx)(n.a,{href:"/en-gb/words/mellifluous",children:(0,e.jsx)(n.strong,{children:"melli-fluous"})})," (UK) or ",(0,e.jsx)(n.a,{href:"/en-us/words/mellifluous",children:(0,e.jsx)(n.strong,{children:"mellif-luous"})})," (US). (See Part 2 for American usage.)"]}),`\n`,(0,e.jsx)(n.li,{children:"Words of one syllable should not be broken."}),`\n`,(0,e.jsx)(n.li,{children:"Words of five or fewer characters should not be broken."}),`\n`,(0,e.jsx)(n.li,{children:"At least three characters must be taken over to the next line."}),`\n`,(0,e.jsx)(n.li,{children:"Words should not be broken so that their identity is confused or their identifying sound is distorted: thus, avoid fun\\xAC dament, the-rapist."}),`\n`,(0,e.jsx)(n.li,{children:"Personal names and acronyms (eg, nato) should not be broken."}),`\n`,(0,e.jsx)(n.li,{children:"Figures should not be broken or separated from their unit of measurement."}),`\n`,(0,e.jsx)(n.li,{children:"A word formed with a prefix or suffix should be broken at that point: thus, bi-furcated, ante-diluvian, convertible."}),`\n`,(0,e.jsx)(n.li,{children:"If a breakable word contains a double consonant, split it at that point: thus, assess, ship-ping, prob-lem."}),`\n`,(0,e.jsx)(n.li,{children:"Do not hyphenate the last word on the right-hand page."}),`\n`]}),`\n`,(0,e.jsx)(n.h2,{id:"extracted-from",children:"Extracted from:"}),`\n`,(0,e.jsxs)(n.ul,{children:[`\n`,(0,e.jsx)(n.li,{children:(0,e.jsx)(n.a,{href:"https://archive.org/details/EconomistBooksTheEconomistStyleGuideTheEconomistPublicAffairs2015/page/n267/mode/2up",children:"The Economist Style Guide"})}),`\n`]})]})}function s(i={}){let{wrapper:n}=i.components||{};return n?(0,e.jsx)(n,{...i,children:(0,e.jsx)(a,{...i})}):a(i)}return k(v);})();\n;return Component;',raw:`# _The Economist Style Guide_ Hyphenation Rules 2 3Here is a summary of the hyphenation rules from the Economist Style Guide. 4 5## The essence of style 6 7There is no firm rule to help you decide which words are run together, hyphenated or left separate. If in doubt, consult a dictionary. Do not overdo the literary device of hyphenating words that are not usually linked: the stringing-together-of-lotsand-lots-of-words-and-ideas tendency can be tiresome. 8 9### 1. Words with common or short prefixes 10 11 In general, try to avoid putting hyphens into words formed of one word and a short prefix. 12 13 _3D, asexual, biplane, declassify, disfranchise, geopolitical, neoclassicism, neoconservative but neo-cons, neoliberal, Neolithic, neologism, neonatal, overcapacity, overdone, overeducated, overemployment, precondition, predate, subcontinent, preoccupied, subcontract, preordained, subhuman, prepay, submachinegun, realign, suboptimal, rearm, subprime, rearrange, tetravalent, reborn, underdog, redirect, underdone, reopen, underinvest, reorder, underpaid, repurchase, subcommittee, upended_ 14 15### 2. Words beginning with _re-_ 16 17 Some words that begin with re are hyphenated to avoid confusion: 18 19 - re-cast 20 21 - re-create (meaning create again) 22 23 - re-present (meaning present again) 24 25 - re-sort (meaning sort again) 26 27### 3. Unfamiliar combinations 28 29 Words making unfamiliar combinations, especially if they would involve running consonants or vowels together, may benefit from a hyphen, so: 30 31 - cross-reference (a cross reference would be unpleasant) 32 33 - demi-paradise 34 35 - over-governed 36 37 - sub-investment grade 38 39 - under-age 40 41 - under-secretary 42 43 - _Antidisestablishmentarianism_ would, however, lose its point if it were hyphenated. 44 45### 4. Fractions 46 47 Whether nouns or adjectives, these take hyphens: 48 49 - one-half 50 - one-sixth 51 - four-fifths 52 - two-thirds 53 54 But note that it is a half, a fifth, a sixth. 55 56### 5. Words that begin with 57 58 - agri 59 - infra 60 - post 61 - anti 62 - inter 63 - pre 64 - counter 65 - mid 66 - semi 67 - extra 68 - multi 69 - ultra 70 - half 71 - non 72 73 The rules vary: 74 75 - agri-business, agriculture 76 77 - anti-aircraft, anti-fascist, anti-submarine (but antibiotic, anticlimax, antidote, antiseptic, antitrust) counter-attack, counter-clockwise, counter-espionage, counter-intuitive (but counteract, countermand, counterpane) 78 79 - extraordinary, extraterrestrial, extraterritorial (but extra¬ judicial) 80 81 - half-baked, half-hearted, half-serious (but halfway) infra-red 82 83 - inter-agency, inter-country, inter-faith, inter-governmental, inter-regional (but intermediate, international, interpose) mid-August, mid-week 84 85 - multibillion, multilingual, multiracial (but multi-occupancy, multi-storey, multi-user) 86 87 - non-combatant, non-existent, non-payment, non-violent (but nonaligned, nonconformist, nonplussed, nonstop) postdate, post-war, pre-war semi-automatic, semi-conscious, semi-detached ultra-violet 88 89### 6. The word worth 90 91 A sum followed by the word worth needs a hyphen: _$25m-worth of goods_. 92 93### 7. Some titles 94 95 - attorney-general 96 - lieutenant-colonel 97 - under-secretary 98 - director-general 99 - major-general 100 - vice-president 101 - field-marshal 102 - secretary-general 103 104 But: 105 106 - deputy 107 - director 108 - district 109 - attorney 110 - deputy 111 - secretary 112 - general 113 - secretary 114 115### 8. Avoiding ambiguities 116 117 - fine-tooth comb (most people do not comb their teeth) 118 - a little used-car lot (a little-used car lot) 119 - third-world war (third world-war) 120 - cross-complaint (cross complaint) 121 - high-school results (high school-results) 122 123### 9. Aircraft 124 125 - DC-10 126 - Mirage F-1E 127 - MiG-23 128 - Lockheed p-3 Orion 129 130 (If in doubt, consult Janeâ; âAll the Worldâs Aircraftâ.) 131
132 Note that Airbus A340, BAe RJ70 do not have hyphens. 133 134### 10. Calibres 135 136 The style for calibres is 50mm or 105mm with no hyphen, but 5.5-inch and 25-pounder. 137 138### 11. Adjectives formed from two or more words 139 140 - 70-year-old judge 141 - balance-of-payments difficulties 142 - private-sector wages 143 - public-sector borrowing requirement 144 - right-wing groups (_but_ the right wing of the party) 145 - state-of-the-union message 146 - value-added tax (VAT) 147 148### 12. Adverbs 149 150 Adverbs do not need to be linked to participles or adjectives by hyphens in simple constructions: 151 152 - _The regiment was ill equipped for its task._ 153 - _The principle is well established._ 154 - _Though expensively educated, the journalist knew no grammar._ 155 156 But if the adverb is one of two words together being used adjectivally, a hyphen may be needed: 157 158 - _The ill-equipped regiment was soon repulsed._ 159 - _All well-established principles should be periodically challenged._ 160 161 The hyphen is especially likely to be needed if the adverb is short and common, such as _ill_, _little_, _much_ and _well_. Less common adverbs, including all those that end -ly, are less likely to need hyphens: 162 163 - _Never employ an expensively educated journalist._ 164 165### 13. Separating identical letters 166 167 - book-keeping 168 - re-emerge 169 - coat-tails 170 - re-entry 171 - co-operate 172 - side-effect 173 - pre-eminent 174 - trans-ship 175 - pre-empt 176 - unco-operative 177 178 Exceptions include: 179 180 - overrate 181 - overrun 182 - overreach 183 - skiing 184 - override 185 - underrate 186 - overrule 187 - withhold 188 189### 14. Some nouns formed from prepositional verbs 190 191 - bail-out 192 - pay-off 193 - shake-out 194 - build-up 195 - pull-out 196 - shake-up 197 - buy-out 198 - rip-off 199 - stand-off 200 - call-up 201 - round-up 202 - start-up 203 - get-together 204 - run-up 205 - trade-off 206 - lay-off 207 - set-up 208 209 But: 210 211 - fallout 212 - lockout 213 - handout 214 - payout 215 - knockout 216 - turnout 217 218### 15. The quarters of the compass 219 220 - mid-west(ern) 221 - south-east(ern) 222 - north-east(ern) 223 - south-west(ern) 224 - north-west(ern) 225 226### 16. Hybrid ethnics 227 228 _Greek-Cypriot_, _Irish-American_, etc, whether noun or adjective. 229 230### 17. Makers and making 231 232 A general, though not iron, rule for _makers_ and _making_: if the prefix is of one or two syllables, attach it without a hyphen to form a single word, but if the prefix is of three or more syllables, introduce a hyphen. 233 234 - antimacassar-maker 235 - clockmaker 236 - steelmaker 237 - holiday-maker 238 - tiramisu-maker 239 - lawmaker 240 - troublemaker 241 - marketmaker 242 - peacemaker 243 - bookmaker 244 - candlestick-maker 245 - carmaker 246 - chipmaker 247 248 _Policymaker_ and _profitmaking_ are one word and an exception. But: note _foreign-policy maker_ (_-ing_). 249 250### 18. Other words ending _-er_ (_-ing_) that are similar to _maker_ and _making_ 251 252 The general rule should be to insert a hyphen: 253 254 - arms-trader 255 - copper-miner 256 - drug-dealer 257 - drug-trafficker 258 - field-worker 259 - front-runner 260 - gun-runner 261 - home-owner 262 - hostage-taker 263 - mill-owner 264 - truck-driver 265 - vegetable-grower 266 267 But some prefixes, especially those of one syllable, can be used to form single words. 268 269 - coalminer 270 - metalworker 271 - shipowner 272 - farmworker 273 - muckraker 274 - steelworker 275 - foxhunter 276 - nitpicker (-ing) 277 - steeplechaser 278 - gatekeeper 279 - peacekeeper 280 - taxpayer 281 - householder 282 - shipbroker 283 - landowner 284 - shipbuilder 285 286 Less common combinations are better written as two words: 287 288 - crossword 289 - compiler 290 - gun 291 - owner 292 - currency 293 - trader 294 - insurance 295 - broker 296 - dog 297 - owner 298 - tuba 299 - player 300 301### 19. Quotes 302 303 Words gathered together in quotation marks as adjectives do not usually need hyphens as well: 304 305 - _the âLive Free or Dieâ state._ 306 307### 20. One word 308 309 - airfield 310 - airspace 311 - airtime 312 - bedfellow 313 - bestseller (-ing)
314 - bilingual 315 - blackboard 316 - blackout 317 - blueprint 318 - bookseller 319 - businessman 320 - bypass 321 - cashflow (but _cash flow_ in accountancy) 322 - catchphrase 323 - ceasefire 324 - checklist 325 - coastguard 326 - codebreaker 327 - comeback 328 - commonsense (adj) 329 - crossfire 330 - cyberspace 331 - dotcom 332 - downturn (noun) 333 - faultline 334 - figleaf 335 - fivefold 336 - foothold 337 - forever (adv, when preceding verb) 338 - foxhunter (-ing) 339 - frontline (adj, but noun _front line_) 340 - girlfriend 341 - goodwill 342 - grassroots (adj and noun) 343 - groundsman 344 - halfhearted 345 - halfway 346 - handpicked 347 - handwriting 348 - hardline 349 - headache 350 - hijack 351 - hobnob 352 - kowtow 353 - lacklustre 354 - landmine 355 - laptop 356 - logjam 357 - loophole 358 - lopsided 359 - lukewarm 360 - machinegun 361 - marketplace 362 - minefield 363 - nationwide 364 - nevertheless 365 - nonetheless 366 - offline 367 - offshore 368 - oilfield 369 - oilrig 370 - online 371 - onshore 372 - peacetime 373 - petrochemical 374 - pickup truck 375 - placename 376 - rainforest 377 - ringtone 378 - roadblock 379 - rustbelt 380 - salesforce 381 - seabed 382 - shorthand 383 - shortlist 384 - shutdown 385 - sidestep 386 - soyabean 387 - spillover 388 - startup 389 - statewide 390 - stockmarket 391 - streetwalker 392 - strongman 393 - sunbelt 394 - takeover 395 - threefold 396 - threshold 397 - timetable 398 - trademark 399 - transatlantic 400 - transpacific 401 - twofold 402 - videocassette 403 - videodisc 404 - wartime 405 - watchdog 406 - website 407 - whistleblower 408 - windfall 409 - workforce 410 - worldwide 411 - worthwhile 412 413### 21. Two words 414 415 - ad hoc 416 - air base 417 - air force 418 - air strike 419 - all right 420 - any more 421 - any time 422 - armâs length 423 - ballot box 424 - birth rate 425 - call centre 426 - child care (noun) 427 - cluster bombs 428 - common sense (noun) 429 - dare say 430 - errand boy 431 - for ever (when used after a verb) 432 - health care (noun) 433 - hedge fund 434 - home page 435 - joint venture 436 - Land Rover 437 - no one 438 - photo opportunity 439 - plea bargain 440 - some day 441 - some time 442 - under way 443 - vice versa 444 - wild flowers (but adj. wildflower) 445 446### 22. Two hyphenated words 447 448 - aid-worker 449 - aircraft-carrier 450 - asylum-seekers 451 - baby-boomer 452 - balance-sheet 453 - bell-ringer 454 - break-even 455 - climb-down 456 - come-uppance 457 - court-martial (noun and verb) 458 - cross-border 459 - cross-dresser 460 - cross-sell 461 - death-squads 462 - derring-do 463 - downpayment 464 - drawing-board 465 - end-game 466 - end-year 467 - faint-hearted 468 - fund-raiser (-ing) 469 - grown-up 470 - hand-held 471 - health-care (adj) 472 - heir-apparent 473 - home-made 474 - hot-head 475 - ice-cream 476 - in-fighting 477 - interest-group 478 - kerb-crawler 479 - know-how 480 - laughing-stock 481 - like-minded 482 - long-standing 483 - machine-tool 484 - money-laundering 485 - nation-building 486 - nation-state 487 - nest-egg 488 - news-stand 489 - number-plate 490 - pot-hole 491 - pressuregroup 492 - question-mark 493 - rain-check 494 - safety-valve 495 - short-lived 496 - starting-point 497 - stickingpoint 498 - stumbling-block 499 - subject-matter 500 - suicide-bomb (-er, -ing) 501 - talking-shop 502 - task-force 503 - tear-gas 504 - think-tank 505 - time-bomb 506 - turning-point 507 - voice-over 508 - vote-winner 509 - war-chest 510 - well-being 511 - Wi-Fi 512 - Wi-Max 513 - window-dressing 514 - wish-list 515 - witch-hunt 516 - working-party 517 - write-down (noun) 518 519### 23. Three words 520 521 - ad hoc agreement (meeting, etc) 522 - armoured personnel carrier 523 - consumer price index 524 - chief(s) of staff 525 - half a dozen 526 - in as much 527 - in so far 528 - multiple rocket launcher 529 - nuclear power station 530 - sovereign wealth fund 531 - third world war (if things get bad) 532 533### 24. Three hyphenated words 534 535 - A-turned-B (unless this leads to something unwieldy, so jobbing churchwarden turned captain of industry) 536 537 - brother-in-law 538 539 - chock-a-block 540 541 - commander-in-chief 542 543 - no-manâs-land 544 545 - prisoners-of-war 546 547 - second-in-command 548 549 - stock-in-trade 550 551### 25. Numbers 552 553 Avoid _from 1947-50_ (say _in 1947-50_ or _from 1947 to 1950_) and _between 1961-65_ (say _in 1961-65_, _between 1961 and 1965_ or _from 1961 to 1965_). 554 555 âIf you take hyphens seriously, you will surely go mad.â (Oxford University Press style manual) 556 557## Proofreading 558 559### Word breaks 560 561It may be necessary to break words, using a hyphen, at the end of lines. Computer word-processing programs come with standard hyphenation rules but these can always be changed or overruled. Ideally, the aim should be to make these breaks as undisruptive as possible, so that the reader does not stumble or falter. Whenever possible, the word should be broken so that, helped by the context, the reader can anticipate the whole word from the part of it given before the break. Here are some useful principles for deciding how to break a word. 562 5631. Words that are already hyphenated should be broken at the hyphen, not given a second hy
563phen. 5642. Words can be broken according to either their derivation (the British convention) or their pronunciation (the US convention): thus, [**aristo-cracy**](/en-gb/words/aristocracy) (UK) or [**aristoc-racy**](/en-us/words/aristocracy) (US), [**melli-fluous**](/en-gb/words/mellifluous) (UK) or [**mellif-luous**](/en-us/words/mellifluous) (US). (See Part 2 for American usage.) 5653. Words of one syllable should not be broken. 5664. Words of five or fewer characters should not be broken. 5675. At least three characters must be taken over to the next line. 5686. Words should not be broken so that their identity is confused or their identifying sound is distorted: thus, avoid fun¬ dament, the-rapist. 5697. Personal names and acronyms (eg, nato) should not be broken. 5708. Figures should not be broken or separated from their unit of measurement. 5719. A word formed with a prefix or suffix should be broken at that point: thus, bi-furcated, ante-diluvian, convertible. 57210. If a breakable word contains a double consonant, split it at that point: thus, assess, ship-ping, prob-lem. 57311. Do not hyphenate the last word on the right-hand page. 574 575## Extracted from: 576 577- [The Economist Style Guide](https://archive.org/details/EconomistBooksTheEconomistStyleGuideTheEconomistPublicAffairs2015/page/n267/mode/2up)`},_meta:{filePath:`economist-style-guide-on-hyphens/index.mdx`,fileName:`index.mdx`,directory:`economist-style-guide-on-hyphens`,extension:`mdx`,path:`economist-style-guide-on-hyphens`},readingTime:`10 min read`,lastModification:`2026-09-01T08:32:45.633Z`,url:`/posts/economist-style-guide-on-hyphens`,slug:`economist-style-guide-on-hyphens`},{title:`The Quest for the Perfect Hyphenation Algorithm: Franklin Mark Liang's Algorithm`,description:`Franklin Mark Liangâs hyphenation algorithm revolutionized text processing by using patterns and a packed trie structure, ensuring efficient, accurate word splitting in typesetting, and leaving a lasting legacy in TeX.`,image:{url:`/posts/liang-hyphenation-algorithm-explained/cover.png`,blurDataURL:`data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wAARCAAEAAgDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAb/xAAXEAEBAQEAAAAAAAAAAAAAAAAAESNh/8QAFAEBAAAAAAAAAAAAAAAAAAAAAf/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/AI65zoAL/9k=`},publishedAt:new Date(`2024-07-13T00:00:00.000Z`),author:{name:`Alexandru Furculita`,url:`https://twitter.com/afurculita`},tags:[],content:{mdx:'var Component=(()=>{var p=Object.create;var o=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var g=Object.getPrototypeOf,y=Object.prototype.hasOwnProperty;var f=(a,e)=>()=>(e||a((e={exports:{}}).exports,e),e.exports),w=(a,e)=>{for(var n in e)o(a,n,{get:e[n],enumerable:!0})},s=(a,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of m(e))!y.call(a,i)&&i!==n&&o(a,i,{get:()=>e[i],enumerable:!(r=u(e,i))||r.enumerable});return a};var b=(a,e,n)=>(n=a!=null?p(g(a)):{},s(e||!a||!a.__esModule?o(n,"default",{value:a,enumerable:!0}):n,a)),k=a=>s(o({},"__esModule",{value:!0}),a);var l=f((x,h)=>{h.exports=_jsx_runtime});var v={};w(v,{default:()=>c});var t=b(l());function d(a){let e={a:"a",h3:"h3",h4:"h4",li:"li",p:"p",strong:"strong",ul:"ul",...a.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e.p,{children:"When you think about the intricacies of text processing, hyphenation probably isn\\u2019t the first thing that comes to mind. It might not even make the top ten. But if you\\u2019ve ever been jarred by a word split awkwardly at the end of a line in a book or a paper, you\\u2019ll appreciate that hyphenation is more than just a minor detail. It\\u2019s one of those small but vital aspects of typography that can make or break the readability of a text. Franklin Mark Liang, under the mentorship of the legendary Donald Knuth, took on the challenge of developing a hyphenation algorithm that would become a cornerstone of modern typesetting."}),`\n`,(0,t.jsx)(e.h3,{id:"setting-the-scene-the-problem-of-hyphenation",children:"Setting the Scene: The Problem of Hyphenation"}),`\n`,(0,t.jsx)(e.p,{children:"Before we dive into the technicalities, let\\u2019s set the stage a bit. Typesetting\\u2014especially computerized typesetting\\u2014was undergoing a revolution in the 1970s and 1980s. Donald Knuth, dissatisfied with the state of computerized typesetting, embarked on a mission to create a typesetting system that could produce professional-quality documents. This led to the development of TeX, a system that has become the gold standard for typesetting, particularly in academic and scientific communities."}),`\n`,(0,t.jsx)(e.p,{children:"TeX was (and still is) brilliant, but there was a catch:
577it needed a way to automatically hyphenate words. Hyphenation isn\\u2019t just about sticking a dash in the middle of a word wherever it fits. There are rules\\u2014lots of them. English, with its bizarre mix of linguistic influences, presents a particular challenge because many of these rules have exceptions, and some exceptions have exceptions."}),`\n`,(0,t.jsx)(e.p,{children:"A poor hyphenation algorithm would produce text that was hard to read, with words broken at points that made them look ugly or even confusing. Imagine reading a paragraph and seeing words like \\u201Crel- ationship\\u201D or \\u201Cfin-ance\\u201D broken in the middle of a line. It\\u2019s not just visually jarring; it can slow down reading and comprehension, turning a smooth reading experience into a choppy one. That\\u2019s where Liang\\u2019s work comes in."}),`\n`,(0,t.jsx)(e.h3,{id:"the-early-approaches-rule-based-and-dictionary-based-methods",children:"The Early Approaches: Rule-Based and Dictionary-Based Methods"}),`\n`,(0,t.jsx)(e.p,{children:"Before Liang\\u2019s algorithm, most hyphenation systems relied on two main approaches: rule-based methods and dictionary-based methods."}),`\n`,(0,t.jsxs)(e.p,{children:[(0,t.jsx)(e.strong,{children:"Rule-based methods"})," attempted to hyphenate words based on a set of predefined rules. For example, one common rule might be to hyphenate compound words or to split between double consonants (e.g., \\u201Csum-mer\\u201D). This method works reasonably well, but English, being the unruly language it is, has plenty of exceptions to these rules. Plus, this method doesn\\u2019t account for the subtleties of pronunciation or the more complex words that don\\u2019t follow simple rules."]}),`\n`,(0,t.jsxs)(e.p,{children:[(0,t.jsx)(e.strong,{children:"Dictionary-based methods"})," were another approach. Here, the system would check each word against a precompiled list of words with their hyphenation points marked. If the word was in the dictionary, the system could hyphenate it correctly. This method could be highly accurate, but it had a significant downside: it required a massive dictionary, which took up a lot of memory and could slow down the typesetting process. Additionally, any word not in the dictionary\\u2014new words, technical terms, or even common words with multiple acceptable hyphenation points\\u2014would be left out in the cold."]}),`\n`,(0,t.jsx)(e.p,{children:"Neither method was perfect, and both had serious drawbacks that made them less than ideal for use in a system like TeX, which was designed to be highly efficient and adaptable."}),`\n`,(0,t.jsx)(e.h3,{id:"the-inspiration-a-better-way-to-hyphenate",children:"The Inspiration: A Better Way to Hyphenate"}),`\n`,(0,t.jsx)(e.p,{children:"Liang, working under Knuth\\u2019s guidance, was inspired to find a middle ground between these two approaches. He wanted an algorithm that was as accurate as a dictionary-based method but without the heavy memory demands. At the same time, it needed the flexibility of a rule-based method but without the brittleness that comes from strict, inflexible rules."}),`\n`,(0,t.jsx)(e.p,{children:"This led him to think about hyphenation in a new way\\u2014not as a problem of finding rules or building a massive word list, but as a problem of pattern recognition. After all, many hyphenation rules could be seen as patterns in the way letters and syllables are arranged in words."}),`\n`,(0,t.jsx)(e.h3,{id:"the-core-idea-patterns-and-tries",children:"The Core Idea: Patterns and Tries"}),`\n`,(0,t.jsx)(e.p,{children:"Liang\\u2019s breakthrough idea was to use patterns of letters to identify potential hyphenation points. These patterns would essentially serve as mini-rules that could be applied to any word. For example, the pattern \\u201Ction\\u201D could suggest that a word ending in these letters could be hyphenated as \\u201Cti-on.\\u201D Similarly, the pattern \\u201Ccon\\u201D might indicate that words beginning with these letters could be hyphenated as \\u201Ccon-\\u201D at certain points."}),`\n`,(0,t.jsxs)(e.p,{children:["But how do you efficiently store and search through all these patterns? That\\u2019s where the data structure known as a ",(0,t.jsx)(e.strong,{children:"trie"})," comes into play. A trie (pronounced like \\u201Ctry\\u201D) is a tree-like structure that allows for fast retrieval of strings, making it perfect for storing the patterns Liang wanted to use."]}),`\n`,(0,t.jsx)(e.h4,{id:"what-is-a-trie",children:"What is a Trie?"}),`\n`,(0,t.jsx)(e.p,{children:"Let\\u2019s take a quick detour to explain what a trie is. Imagine you have a bunch of strings\\u2014say, words in a dictionary\\u2014and you want to organize them in a way that allows you to find any word quickly. You could just list them all out, but that\\u2019s not very efficie
577nt. Instead, you could create a tree structure where each level of the tree corresponds to a letter in the string."}),`\n`,(0,t.jsx)(e.p,{children:"For example, suppose you have the words \\u201Ccat,\\u201D \\u201Ccar,\\u201D and \\u201Cdog.\\u201D In a trie, you would start with a root node, then create branches for each letter. The first branch might split into \\u201Cc\\u201D and \\u201Cd\\u201D for \\u201Ccat/car\\u201D and \\u201Cdog,\\u201D respectively. From the \\u201Cc\\u201D branch, you would then branch out again for \\u201Ca,\\u201D leading to further branches for \\u201Ct\\u201D and \\u201Cr.\\u201D This way, common prefixes like \\u201Cca\\u201D are shared, which saves space and allows for fast lookup."}),`\n`,(0,t.jsx)(e.h3,{id:"liangs-innovation-the-packed-trie",children:"Liang\\u2019s Innovation: The Packed Trie"}),`\n`,(0,t.jsxs)(e.p,{children:["Liang didn\\u2019t just stop with a basic trie. He realized that while tries are efficient, they can still end up wasting space\\u2014especially when dealing with English words, which share a lot of common prefixes and suffixes. So, he developed what he called a ",(0,t.jsx)(e.strong,{children:"packed trie"}),"."]}),`\n`,(0,t.jsx)(e.p,{children:"The packed trie is an optimized version of the trie that minimizes wasted space by carefully packing the data into a structure that leaves no room unused. It\\u2019s like taking a suitcase and fitting every single item into it with no wasted space\\u2014no gaps, no empty corners. Every byte of memory is used as efficiently as possible."}),`\n`,(0,t.jsx)(e.h4,{id:"the-packed-trie-in-action",children:"The Packed Trie in Action"}),`\n`,(0,t.jsx)(e.p,{children:"Here\\u2019s how it works in practice. When you\\u2019re storing patterns in a trie, many branches may have only one or two children. In a standard trie, this could lead to a lot of empty space where branches don\\u2019t go anywhere. But in a packed trie, Liang\\u2019s algorithm would pack these branches together tightly, reusing space where possible."}),`\n`,(0,t.jsx)(e.p,{children:"This might sound like a small improvement, but it had a significant impact. The packed trie allowed Liang\\u2019s algorithm to store a large number of patterns in a relatively small amount of memory. This made the algorithm both fast and space-efficient\\u2014two critical factors for any typesetting system."}),`\n`,(0,t.jsx)(e.h3,{id:"generating-the-patterns",children:"Generating the Patterns"}),`\n`,(0,t.jsx)(e.p,{children:"Okay, so Liang had figured out how to store the patterns efficiently. But how do you come up with the patterns in the first place? After all, English words can be pretty unpredictable."}),`\n`,(0,t.jsx)(e.p,{children:"Liang\\u2019s approach was to generate patterns automatically from a list of words with known hyphenation points. Essentially, he used a dictionary of words that were already correctly hyphenated and analyzed them to find patterns that could be generalized."}),`\n`,(0,t.jsx)(e.h4,{id:"analyzing-the-words",children:"Analyzing the Words"}),`\n`,(0,t.jsx)(e.p,{children:"Let\\u2019s say you have a word list with words like \\u201Ccomputer,\\u201D \\u201Cnation,\\u201D and \\u201Cunderstand.\\u201D Liang\\u2019s algorithm would look at where these words are hyphenated and try to find commonalities. For example, if \\u201Cnation\\u201D is hyphenated as \\u201Cna-tion,\\u201D and \\u201Cstation\\u201D is hyphenated as \\u201Csta-tion,\\u201D the algorithm might identify \\u201Ction\\u201D as a pattern that suggests a hyphenation point just before the \\u201Ct.\\u201D"}),`\n`,(0,t.jsx)(e.p,{children:"But it\\u2019s not just about finding one pattern\\u2014it\\u2019s about finding the right set of patterns that work together to cover as many words as possible, with as few mistakes as possible. This process of generating and selecting patterns is a bit like trying to find the perfect combination of puzzle pieces that fit together just right."}),`\n`,(0,t.jsx)(e.h4,{id:"patterns-and-heuristics",children:"Patterns and Heuristics"}),`\n`,(0,t.jsx)(e.p,{children:"To make the pattern generation process more effective, Liang also employed heuristics. Heuristics are rules of thumb\\u2014guidelines that help the algorithm make decisions when there isn\\u2019t a clear-cut answer. For example, a heuristic might prioritize shorter patterns because they\\u2019re more likely to match multiple words, or it might favor patterns that have fewer exceptions."}),`\n`,(0,t.jsx)(e.p,{children:"These heuristics allowed Liang\\u2019s algorithm to strike a balance between finding as many hyphenation points as possible and avoiding errors. It\\u2019s like teaching the algorithm to have a bit of judgment\\u2014knowing when to follow a pattern strictly and when to be a bit more flexible."}),`\n`,(0,t.jsx)(e.h3,{id:"handling-exceptions-because-english-is-weird",children:"Handling Exceptions: Because English is Weird"}),`\n`,(0,t.jsx)(e.p,{children:"Of course, no matter how many patterns you have, there will always be exceptions\\u2014those weird words that don\\u2019t fit the mold. English is full of them. Words like \\u201Cknight\\u201D or \\u201Cisland\\u201D don\\u2019t follow the usual rules, and trying to hyphenate them based on patterns alone could lead to some odd results."}),`\n`,(0,t.jsx)(e.p,{children:"To handle these exceptions, Liang\\u2019s algorithm included a
577small exception dictionary. This dictionary wasn\\u2019t meant to store every possible word\\u2014just the ones that couldn\\u2019t be correctly hyphenated by patterns alone. Think of it as a VIP list for words that needed special treatment."}),`\n`,(0,t.jsx)(e.h4,{id:"balancing-patterns-and-exceptions",children:"Balancing Patterns and Exceptions"}),`\n`,(0,t.jsx)(e.p,{children:"The challenge, of course, was to keep the exception list small. If the list grew too large, it would defeat the purpose of the algorithm, which was to avoid the need for a massive dictionary. Liang had to strike a balance, including just enough exceptions to handle the trickiest cases while relying on patterns for the vast majority of words."}),`\n`,(0,t.jsx)(e.p,{children:"This balance between patterns and exceptions is one of the reasons Liang\\u2019s algorithm was so successful. It was comprehensive enough to handle most words correctly, but lean enough to be fast and efficient."}),`\n`,(0,t.jsx)(e.h3,{id:"the-results-a-nearly-perfect-hyphenation-algorithm",children:"The Results: A Nearly Perfect Hyphenation Algorithm"}),`\n`,(0,t.jsx)(e.p,{children:"After all this work\\u2014designing the trie, generating patterns, and handling exceptions\\u2014what were the results? In short, Liang\\u2019s algorithm was a huge success. It could correctly hyphenate about 89% of the words in a typical dictionary, with almost no errors. For comparison, earlier attempts at hyphenation were lucky to get anywhere near that level of accuracy."}),`\n`,(0,t.jsx)(e.h4,{id:"memory-efficiency",children:"Memory Efficiency"}),`\n`,(0,t.jsx)(e.p,{children:"One of the most impressive aspects of Liang\\u2019s algorithm was how little memory it used. Thanks to the packed trie and the careful selection of patterns, the algorithm was incredibly space-efficient. This was critical in the days when computer memory was a precious resource, but it\\u2019s still valuable today in applications where efficiency matters."}),`\n`,(0,t.jsx)(e.h4,{id:"speed-and-accuracy",children:"Speed and Accuracy"}),`\n`,(0,t.jsx)(e.p,{children:"The algorithm wasn\\u2019t just space-efficient\\u2014it was fast too. Because the patterns were stored in a packed trie, the algorithm could quickly look up hyphenation points without having to sift through a massive dictionary. This speed, combined with its high accuracy, made it perfect for use in TeX and other typesetting systems where performance is key."}),`\n`,(0,t.jsx)(e.h3,{id:"the-legacy-liangs-algorithm-in-the-real-world",children:"The Legacy: Liang\\u2019s Algorithm in the Real World"}),`\n`,(0,t.jsx)(e.p,{children:"Liang\\u2019s hyphenation algorithm didn\\u2019t just stay in the realm of academic research. It became a core component of TeX, which is still widely used today for typesetting books, academic papers, and other documents that require high-quality typography."}),`\n`,(0,t.jsx)(e.h4,{id:"impact-on-typesetting",children:"Impact on Typesetting"}),`\n`,(0,t.jsx)(e.p,{children:"TeX is known for producing beautifully typeset documents, and part of that beauty comes from its ability to hyphenate words correctly. Liang\\u2019s algorithm plays a big role in this, ensuring that text is split in a way that\\u2019s both aesthetically pleasing and easy to read."}),`\n`,(0,t.jsx)(e.p,{children:"If you\\u2019ve ever read a math textbook, a scientific journal, or even a well-formatted PDF, there\\u2019s a good chance you\\u2019ve seen Liang\\u2019s work in action. His algorithm helps to make sure that the text flows smoothly from line to line, without awkward breaks or distracting hyphenations."}),`\n`,(0,t.jsx)(e.h4,{id:"influence-on-other-systems",children:"Influence on Other Systems"}),`\n`,(0,t.jsx)(e.p,{children:"Liang\\u2019s work has also influenced other hyphenation systems. While TeX might be the most famous application of his algorithm, the ideas behind it\\u2014especially the use of patterns and tries\\u2014have been adopted in various forms in other text processing and typesetting systems."}),`\n`,(0,t.jsx)(e.h3,{id:"the-bigger-picture-what-liangs-work-teaches-us",children:"The Bigger Picture: What Liang\\u2019s Work Teaches Us"}),`\n`,(0,t.jsx)(e.p,{children:"At first glance, hyphenation might seem like a minor problem. But Liang\\u2019s work on this topic illustrates something important about computer science and problem-solving in general: even the smallest details matter, and solving these details can have a big impact."}),`\n`,(0,t.jsx)(e.h4,{id:"the-power-of-data-structures",children:"The Power of Data Structures"}),`\n`,(0,t.jsx)(e.p,{children:"One of the key takeaways from Liang\\u2019s work is the power of data structures. The packed trie wasn\\u2019t just a clever solution; it was the foundation that made the entire algorithm possible. Without it, Liang\\u2019s algorithm wouldn\\u2019t have been nearly as efficie
577nt or effective."}),`\n`,(0,t.jsx)(e.p,{children:"This highlights the importance of choosing the right data structure for the problem at hand. In computer science, the way you organize and store information can be just as important as the algorithms you use to process it."}),`\n`,(0,t.jsx)(e.h4,{id:"balancing-generality-and-specificity",children:"Balancing Generality and Specificity"}),`\n`,(0,t.jsx)(e.p,{children:"Another lesson from Liang\\u2019s work is the importance of balancing generality and specificity. The patterns in his algorithm are general enough to apply to a wide range of words, but specific enough to avoid most errors. The use of heuristics helps the algorithm to strike this balance, making it both powerful and flexible."}),`\n`,(0,t.jsx)(e.p,{children:"This balance is crucial in many areas of computer science, where the goal is often to create solutions that work well in a variety of situations, without being too rigid or too vague."}),`\n`,(0,t.jsx)(e.h3,{id:"wrapping-up-liangs-lasting-contribution",children:"Wrapping Up: Liang\\u2019s Lasting Contribution"}),`\n`,(0,t.jsx)(e.p,{children:"Franklin Mark Liang\\u2019s work on hyphenation algorithms might not be as flashy as some other breakthroughs in computer science, but its impact is undeniable. His algorithm has stood the test of time, continuing to be used in TeX and influencing other systems as well."}),`\n`,(0,t.jsx)(e.p,{children:"Liang\\u2019s approach to hyphenation\\u2014using patterns, packed tries, and a careful balance of general rules and specific exceptions\\u2014turned what could have been a mundane problem into a fascinating and elegant solution. It\\u2019s a reminder that even in the world of algorithms and data structures, there\\u2019s room for creativity, innovation, and a bit of artistry."}),`\n`,(0,t.jsx)(e.p,{children:"So next time you\\u2019re reading a beautifully typeset book or a perfectly formatted academic paper, take a moment to appreciate the work that went into making sure every word is hyphenated just right. Somewhere in the background, Liang\\u2019s algorithm is hard at work, making sure your reading experience is as smooth and seamless as possible."}),`\n`,(0,t.jsx)(e.p,{children:"And who knows? Maybe the next time you\\u2019re faced with a tricky problem\\u2014whether it\\u2019s in computer science or elsewhere\\u2014you\\u2019ll find inspiration in Liang\\u2019s approach: look for the patterns, choose the right structure, and remember that even the smallest details can make a big difference."}),`\n`,(0,t.jsx)(e.h3,{id:"references",children:"References"}),`\n`,(0,t.jsxs)(e.ul,{children:[`\n`,(0,t.jsxs)(e.li,{children:["Franklin M. Liang: Word Hy-phen-a-tion by Com-put-er. Stanford University, 1983. ",(0,t.jsx)(e.a,{href:"http://www.tug.org/docs/liang",children:"http://www.tug.org/docs/liang"}),"."]}),`\n`]})]})}function c(a={}){let{wrapper:e}=a.components||{};return e?(0,t.jsx)(e,{...a,children:(0,t.jsx)(d,{...a})}):d(a)}return k(v);})();\n;return Component;',raw:`When you think about the intricacies of text processing, hyphenation probably isnât the first thing that comes to mind. It might not even make the top ten. But if youâve ever been jarred by a word split awkwardly at the end of a line in a book or a paper, youâll appreciate that hyphenation is more than just a minor detail. Itâs one of those small but vital aspects of typography that can make or break the readability of a text. Franklin Mark Liang, under the mentorship of the legendary Donald Knuth, took on the challenge of developing a hyphenation algorithm that would become a cornerstone of modern typesetting. 578 579### Setting the Scene: The Problem of Hyphenation 580 581Before we dive into the technicalities, letâs set the stage a bit. Typesettingâespecially computerized typesettingâwas undergoing a revolution in the 1970s and 1980s. Donald Knuth, dissatisfied with the state of computerized typesetting, embarked on a mission to create a typesetting system that could produce professional-quality documents. This led to the development of TeX, a system that has become the gold standard for typesetting, particularly in academic and scientific communities. 582
583TeX was (and still is) brilliant, but there was a catch: it needed a way to automatically hyphenate words. Hyphenation isnât just about sticking a dash in the middle of a word wherever it fits. There are rulesâlots of them. English, with its bizarre mix of linguistic influences, presents a particular challenge because many of these rules have exceptions, and some exceptions have exceptions. 584 585A poor hyphenation algorithm would produce text that was hard to read, with words broken at points that made them look ugly or even confusing. Imagine reading a paragraph and seeing words like ârel- ationshipâ or âfin-anceâ broken in the middle of a line. Itâs not just visually jarring; it can slow down reading and comprehension, turning a smooth reading experience into a choppy one. Thatâs where Liangâs work comes in. 586 587### The Early Approaches: Rule-Based and Dictionary-Based Methods 588 589Before Liangâs algorithm, most hyphenation systems relied on two main approaches: rule-based methods and dictionary-based methods. 590 591**Rule-based methods** attempted to hyphenate words based on a set of predefined rules. For example, one common rule might be to hyphenate compound words or to split between double consonants (e.g., âsum-merâ). This method works reasonably well, but English, being the unruly language it is, has plenty of exceptions to these rules. Plus, this method doesnât account for the subtleties of pronunciation or the more complex words that donât follow simple rules. 592 593**Dictionary-based methods** were another approach. Here, the system would check each word against a precompiled list of words with their hyphenation points marked. If the word was in the dictionary, the system could hyphenate it correctly. This method could be highly accurate, but it had a significant downside: it required a massive dictionary, which took up a lot of memory and could slow down the typesetting process. Additionally, any word not in the dictionaryânew words, technical terms, or even common words with multiple acceptable hyphenation pointsâwould be left out in the cold. 594 595Neither method was perfect, and both had serious drawbacks that made them less than ideal for use in a system like TeX, which was designed to be highly efficient and adaptable. 596 597### The Inspiration: A Better Way to Hyphenate 598 599Liang, working under Knuthâs guidance, was inspired to find a middle ground between these two approaches. He wanted an algorithm that was as accurate as a dictionary-based method but without the heavy memory demands. At the same time, it needed the flexibility of a rule-based method but without the brittleness that comes from strict, inflexible rules. 600 601This led him to think about hyphenation in a new wayânot as a problem of finding rules or building a massive word list, but as a problem of pattern recognition. After all, many hyphenation rules could be seen as patterns in the way letters and syllables are arranged in words. 602 603### The Core Idea: Patterns and Tries 604 605Liangâs breakthrough idea was to use patterns of letters to identify potential hyphenation points. These patterns would essentially serve as mini-rules that could be applied to any word. For example, the pattern âtionâ could suggest that a word ending in these letters could be hyphenated as âti-on.â Similarly, the pattern âconâ might indicate that words beginning with these letters could be hyphenated as âcon-â at certain points. 606 607But how do you efficiently store and search through all these patterns? Thatâs where the data structure known as a **trie** comes into play. A trie (pronounced like âtryâ) is a tree-like structure that allows for fast retrieval of strings, making it perfect for storing the patterns Liang wanted to use. 608 609#### What is a Trie? 610 611Letâs take a quick detour to explain what a trie is. Imagine you have a bunch of stringsâsay, words in a dictionaryâand you want to organize them in a way that allows you to find any word quickly. You could just list them all out, but thatâs not very efficient. Instead, you could create a tree structure where each level of the tree corresponds to a letter in the string. 612 613For example, suppose you have the words âcat,â âcar,â and âdog.â In a trie, you would start with a root node, then create branches for each letter. The first branch might split into âcâ and âdâ for âcat/carâ and âdog,â respectively. From the âcâ branch, you would then branch out again for âa,â leading to further branches for âtâ and âr.â This way, common prefixes like âcaâ are shared, which saves space and allows for fast lookup. 614 615### Liangâs Innovation: The Packed Trie 616 617Liang didnât just stop with a basic trie. He realized that while tries are efficient, they can still end up wasting spaceâespecially when dealing with English words, which share a lot of common prefixes and suffixes. So, he developed what he called a **packed trie**. 618 619The packed trie is an optimized version of the trie that minimizes wasted space by carefully packing the data into a structure that leaves no room unused. Itâs like taking a suitcase and fitting every single item into it with no wasted spaceâno ga
619ps, no empty corners. Every byte of memory is used as efficiently as possible. 620 621#### The Packed Trie in Action 622 623Hereâs how it works in practice. When youâre storing patterns in a trie, many branches may have only one or two children. In a standard trie, this could lead to a lot of empty space where branches donât go anywhere. But in a packed trie, Liangâs algorithm would pack these branches together tightly, reusing space where possible. 624 625This might sound like a small improvement, but it had a significant impact. The packed trie allowed Liangâs algorithm to store a large number of patterns in a relatively small amount of memory. This made the algorithm both fast and space-efficientâtwo critical factors for any typesetting system. 626 627### Generating the Patterns 628 629Okay, so Liang had figured out how to store the patterns efficiently. But how do you come up with the patterns in the first place? After all, English words can be pretty unpredictable. 630 631Liangâs approach was to generate patterns automatically from a list of words with known hyphenation points. Essentially, he used a dictionary of words that were already correctly hyphenated and analyzed them to find patterns that could be generalized. 632 633#### Analyzing the Words 634 635Letâs say you have a word list with words like âcomputer,â ânation,â and âunderstand.â Liangâs algorithm would look at where these words are hyphenated and try to find commonalities. For example, if ânationâ is hyphenated as âna-tion,â and âstationâ is hyphenated as âsta-tion,â the algorithm might identify âtionâ as a pattern that suggests a hyphenation point just before the ât.â 636 637But itâs not just about finding one patternâitâs about finding the right set of patterns that work together to cover as many words as possible, with as few mistakes as possible. This process of generating and selecting patterns is a bit like trying to find the perfect combination of puzzle pieces that fit together just right. 638 639#### Patterns and Heuristics 640 641To make the pattern generation process more effective, Liang also employed heuristics. Heuristics are rules of thumbâguidelines that help the algorithm make decisions when there isnât a clear-cut answer. For example, a heuristic might prioritize shorter patterns because theyâre more likely to match multiple words, or it might favor patterns that have fewer exceptions. 642 643These heuristics allowed Liangâs algorithm to strike a balance between finding as many hyphenation points as possible and avoiding errors. Itâs like teaching the algorithm to have a bit of judgmentâknowing when to follow a pattern strictly and when to be a bit more flexible. 644 645### Handling Exceptions: Because English is Weird 646 647Of course, no matter how many patterns you have, there will always be exceptionsâthose weird words that donât fit the mold. English is full of them. Words like âknightâ or âislandâ donât follow the usual rules, and trying to hyphenate them based on patterns alone could lead to some odd results. 648 649To handle these exceptions, Liangâs algorithm included a small exception dictionary. This dictionary wasnât meant to store every possible wordâjust the ones that couldnât be correctly hyphenated by patterns alone. Think of it as a VIP list for words that needed special treatment. 650 651#### Balancing Patterns and Exceptions 652 653The challenge, of course, was to keep the exception list small. If the list grew too large, it would defeat the purpose of the algorithm, which was to avoid the need for a massive dictionary. Liang had to strike a balance, including just enough exceptions to handle the trickiest cases while relying on patterns for the vast majority of words. 654 655This balance between patterns and exceptions is one of the reasons Liangâs algorithm was so successful. It was comprehensive enough to handle most words correctly, but lean enough to be fast and efficient. 656 657### The Results: A Nearly Perfect Hyphenation Algorithm 658 659After all this workâdesigning the trie, generating patterns, and handling exceptionsâwhat were the results? In short, Liangâs algorithm was a huge success. It could correctly hyphenate about 89% of the words in a typical dictionary, with almost no errors. For comparison, earlier attempts at hyphenation were lucky to get anywhere near that level of accuracy. 660 661#### Memory Efficiency 662 663One of the most impressive aspects of Liangâs algorithm was how little memory it used. Thanks to the packed trie and the careful selection of patterns, the algorithm was incredibly space-efficient. This was critical in the days when computer memory was a precious resource, but itâs still valuable today in applications where efficiency matters. 664 665#### Speed and Accuracy 666 667The algorithm wasnât just space-efficientâit was fast too. Because the patterns were stored in a packed trie, the algorithm could quickly look up hyphenation points without having to sift through a massive dictionary. This speed, combined with its high accuracy, made it perfect for use in TeX and other typesetting systems where performance is key. 668 669### The Legacy: Liangâs Algorithm in the Real World 670 671Liangâs hyphenation algorithm didnât just stay in the realm of academic research. It became a core component of TeX, which is still widely used today for typesetting books, academic papers, and other documents that require high-quality typography. 672 673#### Impact on Typesetting 674 675TeX is known for producing beautifully typeset documents, and part of that beauty comes from its ability to hyphenate words correctly. Liangâs algorithm plays a big role in this, ensuring that text is split in a way thatâs both aesthetically pleasing and easy to read. 676 677If youâve ever read a math textbook, a scientific journal, or even a well-formatted PDF, thereâs a good chance youâve seen Liangâs work in action. His algorithm helps to make sure that the text flows
677smoothly from line to line, without awkward breaks or distracting hyphenations. 678 679#### Influence on Other Systems 680 681Liangâs work has also influenced other hyphenation systems. While TeX might be the most famous application of his algorithm, the ideas behind itâespecially the use of patterns and triesâhave been adopted in various forms in other text processing and typesetting systems. 682 683### The Bigger Picture: What Liangâs Work Teaches Us 684 685At first glance, hyphenation might seem like a minor problem. But Liangâs work on this topic illustrates something important about computer science and problem-solving in general: even the smallest details matter, and solving these details can have a big impact. 686 687#### The Power of Data Structures 688 689One of the key takeaways from Liangâs work is the power of data structures. The packed trie wasnât just a clever solution; it was the foundation that made the entire algorithm possible. Without it, Liangâs algorithm wouldnât have been nearly as efficient or effective. 690 691This highlights the importance of choosing the right data structure for the problem at hand. In computer science, the way you organize and store information can be just as important as the algorithms you use to process it. 692 693#### Balancing Generality and Specificity 694 695Another lesson from Liangâs work is the importance of balancing generality and specificity. The patterns in his algorithm are general enough to apply to a wide range of words, but specific enough to avoid most errors. The use of heuristics helps the algorithm to strike this balance, making it both powerful and flexible. 696 697This balance is crucial in many areas of computer science, where the goal is often to create solutions that work well in a variety of situations, without being too rigid or too vague. 698 699### Wrapping Up: Liangâs Lasting Contribution 700 701Franklin Mark Liangâs work on hyphenation algorithms might not be as flashy as some other breakthroughs in computer science, but its impact is undeniable. His algorithm has stood the test of time, continuing to be used in TeX and influencing other systems as well. 702 703Liangâs approach to hyphenationâusing patterns, packed tries, and a careful balance of general rules and specific exceptionsâturned what could have been a mundane problem into a fascinating and elegant solution. Itâs a reminder that even in the world of algorithms and data structures, thereâs room for creativity, innovation, and a bit of artistry. 704 705So next time youâre reading a beautifully typeset book or a perfectly formatted academic paper, take a moment to appreciate the work that went into making sure every word is hyphenated just right. Somewhere in the background, Liangâs algorithm is hard at work, making sure your reading experience is as smooth and seamless as possible. 706 707And who knows? Maybe the next time youâre faced with a tricky problemâwhether itâs in computer science or elsewhereâyouâll find inspiration in Liangâs approach: look for the patterns, choose the right structure, and remember that even the smallest details can make a big difference. 708 709### References 710 711- Franklin M. Liang: Word Hy-phen-a-tion by Com-put-er. Stanford University, 1983. http://www.tug.org/docs/liang.`},_meta:{filePath:`liang-hyphenation-algorithm-explained/index.mdx`,fileName:`index.mdx`,directory:`liang-hyphenation-algorithm-explained`,extension:`mdx`,path:`liang-hyphenation-algorithm-explained`},readingTime:`13 min read`,lastModification:`2026-09-01T08:32:45.628Z`,url:`/posts/liang-hyphenation-algorithm-explained`,slug:`liang-hyphenation-algorithm-explained`},{title:`What is Hyphenation and Why is it Important?`,description:`Explore the importance of hyphenation in writing, its impact on readability and layout, and tools for accurate application.`,image:{url:`/posts/what-is-hyphenation/cover.png`,blurDataURL:`data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wAARCAAEAAgDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAb/xAAXEAEBAQEAAAAAAAAAAAAAAAAAESNh/8QAFAEBAAAAAAAAAAAAAAAAAAAAAf/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/AI65zoAL/9k=`},publishedAt:new Date(`2024-01-05T00:00:00.000Z`),author:{name:`Alexandru Furculita`,url:`https://twitter.com/afurculita`},tags:[],content:{mdx:'var Component=(()=>{var p=Object.create;var o=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty;var f=(i,e)=>()=>(e||i((e={exports:{}}).exports,e),e.exports),w=(i,e)=>{for(var t in e)o(i,t,{get:e[t],enumerable:!0})},r=(i,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of m(e))!g.call(i,a)&&a!==t&&o(i,a,{get:()=>e[a],enumerable:!(s=u(e,a))||s.enumerable});return i};var b=(i,e,t)=>(t=i!=null?p(y(i)):{},r(e||!i||!i.__esModule?o(t,"default",{value:i,enumerable:!0}):t,i)),v=i=>r(o({},"__esModule",{value:!0}),i);var l=f((H,h)=>{h.exports=_jsx_runtime});var x={};w(x,{default:()=>d});var n=b(l());function c(i){let e={h2:"h2",h3:"h3",p:"p",...i.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.p,{children:"In the world of writing and publishing, hyphenation is a small detail that plays a significant role in the readability and presentation of text. Whether you\'re a professional writer, a student preparing an academic paper, or a publisher working on the layout of a book, understanding hyphenation is crucial. But what exactly is hyphenation, and why does it matter so much in written content?"}),`\n`,(0,n.jsx)(e.h2,{id:"understanding-hyphenation",children:"Understanding Hyphenation"}),`\n`,(0,n.jsx)(e.p,{children:"Hyphenation is the process of breaking words at the end of a line with a hyphen. This might seem straightforward, but it involves a complex set of rules that vary depending on the language, the word itself, and the context in which it is used. The primary goal of hyphenation is to ensure that text is evenly distributed across a page or column, thus improving readability and aesthetic appeal."}),`\n`,(0,n.jsx)(e.p,{children:"In English, for instance, hyphenation often occurs in compound words (e.g., mother-in-law), to join prefixes or suffixes (e.g., anti-inflammatory), and to break long words at the end of a line to avoid uneven spacing or \'rivers of white\' in justified text."}),`\n`,(0,n.jsx)(e.h2,{id:"the-importance-of-hyphenation",children:"The Importance of Hyphenation"}
711),`\n`,(0,n.jsx)(e.h3,{id:"1-enhances-readability-and-comprehension",children:"1. Enhances Readability and Comprehension"}),`\n`,(0,n.jsx)(e.p,{children:"Hyphenation prevents awkward gaps in justified text, making it easier for readers to follow lines and maintain their place in the text. This seamless flow is essential for comprehension, especially in dense or complex material."}),`\n`,(0,n.jsx)(e.h3,{id:"2-improves-aesthetics-and-professionalism",children:"2. Improves Aesthetics and Professionalism"}),`\n`,(0,n.jsx)(e.p,{children:"Texts without proper hyphenation can look unprofessional and messy. Hyphenation contributes to a neat, organized layout, which is particularly crucial in formal documents and publications."}),`\n`,(0,n.jsx)(e.h3,{id:"3-optimizes-space",children:"3. Optimizes Space"}),`\n`,(0,n.jsx)(e.p,{children:"In publishing, space is a valuable commodity. Hyphenation allows for more efficient use of space, ensuring that more words fit on a page without compromising readability."}),`\n`,(0,n.jsx)(e.h3,{id:"4-reduces-ambiguity",children:"4. Reduces Ambiguity"}),`\n`,(0,n.jsx)(e.p,{children:"Proper hyphenation can also clarify meaning. Incorrectly hyphenating a word might change its meaning or make it difficult to understand, especially in technical or academic writing."}),`\n`,(0,n.jsx)(e.h2,{id:"hyphenation-challenges-and-solutions",children:"Hyphenation Challenges and Solutions"}),`\n`,(0,n.jsx)(e.p,{children:"Despite its importance, hyphenation can be challenging. Different languages and dialects have unique rules, and even within English, variations exist between American and British practices. Additionally, hyphenation can be subjective and open to interpretation, particularly with newer words or industry-specific terminology."}),`\n`,(0,n.jsx)(e.p,{children:"Fortunately, tools like HyphenateIt have emerged to assist with these challenges. These tools use algorithms based on linguistic rules to provide accurate hyphenation, saving time and reducing the risk of errors. However, it\'s always good practice to double-check automatic hyphenation, especially in formal or published materials."}),`\n`,(0,n.jsx)(e.h2,{id:"conclusion",children:"Conclusion"}),`\n`,(0,n.jsx)(e.p,{children:"Hyphenation, though a small aspect of writing, has a significant impact on the effectiveness and professionalism of a text. Understanding and applying correct hyphenation rules is essential for anyone involved in writing or publishing. With the aid of modern tools and a bit of knowledge, you can ensure that your documents are not only readable but also visually appealing and professionally presented."})]})}function d(i={}){let{wrapper:e}=i.components||{};return e?(0,n.jsx)(e,{...i,children:(0,n.jsx)(c,{...i})}):c(i)}return v(x);})();\n;return Component;',raw:`In the world of writing and publishing, hyphenation is a small detail that plays a significant role in the readability and presentation of text. Whether you're a professional writer, a student preparing an academic paper, or a publisher working on the layout of a book, understanding hyphenation is crucial. But what exactly is hyphenation, and why does it matter so much in written content? 712 713## Understanding Hyphenation 714 715Hyphenation is the process of breaking words at the end of a line with a hyphen. This might seem straightforward, but it involves a complex set of rules that vary depending on the language, the word itself, and the context in which it is used. The primary goal of hyphenation is to ensure that text is evenly distributed across a page or column, thus improving readability and aesthetic appeal. 716 717In English, for instance, hyphenation often occurs in compound words (e.g., mother-in-law), to join prefixes or suffixes (e.g., anti-inflammatory), and to break long words at the end of a line to avoid uneven spacing or 'rivers of white' in justified text. 718 719## The Importance of Hyphenation 720 721### 1. Enhances Readability and Comprehension 722 723Hyphenation prevents awkward gaps in justified text, making it easier for readers to follow lines and maintain their place in the text. This seamless flow is essential for comprehension, especially in dense or complex material. 724 725### 2. Improves Aesthetics and Professionalism 726 727Texts without proper hyphenation can look unprofessional and messy. Hyphenation contributes to a neat, organized layout, which is particularly crucial in formal documents and publications. 728 729### 3. Optimizes Space 730 731In publishing, space is a valuable commodity. Hyphenation allows for more efficient use of space, ensuring that more words fit on a page without compromising readability. 732 733### 4. Reduces Ambiguity 734 735Proper hyphenation can also clarify meaning. Incorrectly hyphenating a word might change its meaning or make it difficult to understand, especially in technical or academic writing. 736 737## Hyphenation Challenges and Solutions 738 739Despite its importance, hyphenation can be challenging. Different languages and dialects have unique rules, and even within English, variations exist between American and British practices. Additionally, hyphenation can be subjective and open to interpretation, particularly with newer words or industry-specific terminology. 740 741Fortunately, tools like HyphenateIt have emerged to assist with these challenges. These tools use algorithms based on linguistic rules to provide accurate hyphenation, saving time and reducing the risk of errors. However, it's always good practice to double-check automatic hyphenation, especially in formal or published materials. 742 743## Conclusion 744 745Hyphenation, though a small aspect of writing, has a significant impact on the effectiveness and professionalism of a text. Understanding and applying correct hyphenation rules is essential for anyone involved in writing or publishing. With the aid of modern tools and a bit of knowledge, you can ensure that your documents are not only readable but also visually appealing and professionally presented.`},_meta:{filePath:`what-is-hyphenation/index.mdx`,fileName:`index.mdx`,directory:`what-is-hyphenation`,extension:`mdx`,path:`what-is-hyphenation`}
745,readingTime:`3 min read`,lastModification:`2026-09-01T08:32:45.628Z`,url:`/posts/what-is-hyphenation`,slug:`what-is-hyphenation`}],t=[{title:`Privacy Policy`,updatedAt:`2023-05-29`,content:`Welcome to [hyphenateit.com](/) (the "Site"), hosted by HyphenateIt ("HyphenateIt", 746"we", "us", and/or "our"). HyphenateIt provides a platform for creating and 747managing short links (the "Services")â1â. We value your privacy and are 748dedicated to protecting your personal data. This Privacy Policy covers how we 749collect, handle, and disclose personal data on our Platform. 750 751If you have any questions, comments, or concerns regarding this Privacy Policy, 752our data practices, or would like to exercise your rights, do not hesitate to 753contact us. 754 755## To Whom Does This Policy Apply 756 757This Privacy Policy applies to customers and site visitors. Each customer is 758responsible for posting its own terms, conditions, and privacy policies, and 759ensuring compliance with all applicable laws and regulations. 760 761## Changes To This Privacy Policy 762 763This Privacy Policy may change from time to time, as our Platform and our 764business may change. Your continued use of the Platform after any changes to 765this Privacy Policy indicates your agreement with the terms of the revised 766Privacy Policy. 767 768## What Information Do We Collect 769 770We collect information directly from you when you provide it to us explicitly on 771our Site. We do not use third-party cookies on our Site. 772 773## What We Use Your Information For 774 775We use your information to provide our Services, to improve our Platform, to 776understand how you use our Platform, and to communicate with you. 777 778## How To Contact Us 779 780For privacy-related questions, please contact us at [email protected].`,_meta:{filePath:`privacy.mdx`,fileName:`privacy.mdx`,directory:`.`,extension:`mdx`,path:`privacy`},mdx:'var Component=(()=>{var u=Object.create;var r=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var m=Object.getPrototypeOf,f=Object.prototype.hasOwnProperty;var v=(e,o)=>()=>(o||e((o={exports:{}}
780).exports,o),o.exports),P=(e,o)=>{for(var t in o)r(e,t,{get:o[t],enumerable:!0})},c=(e,o,t,a)=>{if(o&&typeof o=="object"||typeof o=="function")for(let i of p(o))!f.call(e,i)&&i!==t&&r(e,i,{get:()=>o[i],enumerable:!(a=y(o,i))||a.enumerable});return e};var w=(e,o,t)=>(t=e!=null?u(m(e)):{},c(o||!e||!e.__esModule?r(t,"default",{value:e,enumerable:!0}):t,e)),g=e=>c(r({},"__esModule",{value:!0}),e);var h=v((T,s)=>{s.exports=_jsx_runtime});var x={};P(x,{default:()=>d});var n=w(h());function l(e){let o={a:"a",h2:"h2",p:"p",...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(o.p,{children:["Welcome to ",(0,n.jsx)(o.a,{href:"/",children:"hyphenateit.com"}),` (the "Site"), hosted by HyphenateIt ("HyphenateIt",\n"we", "us", and/or "our"). HyphenateIt provides a platform for creating and\nmanaging short links (the "Services")\\u200B1\\u200B. We value your privacy and are\ndedicated to protecting your personal data. This Privacy Policy covers how we\ncollect, handle, and disclose personal data on our Platform.`]}),`\n`,(0,n.jsx)(o.p,{children:`If you have any questions, comments, or concerns regarding this Privacy Policy,\nour data practices, or would like to exercise your rights, do not hesitate to\ncontact us.`}),`\n`,(0,n.jsx)(o.h2,{id:"to-whom-does-this-policy-apply",children:"To Whom Does This Policy Apply"}),`\n`,(0,n.jsx)(o.p,{children:`This Privacy Policy applies to customers and site visitors. Each customer is\nresponsible for posting its own terms, conditions, and privacy policies, and\nensuring compliance with all applicable laws and regulations.`}),`\n`,(0,n.jsx)(o.h2,{id:"changes-to-this-privacy-policy",children:"Changes To This Privacy Policy"}),`\n`,(0,n.jsx)(o.p,{children:`This Privacy Policy may change from time to time, as our Platform and our\nbusiness may change. Your continued use of the Platform after any changes to\nthis Privacy Policy indicates your agreement with the terms of the revised\nPrivacy Policy.`}),`\n`,(0,n.jsx)(o.h2,{id:"what-information-do-we-collect",children:"What Information Do We Collect"}),`\n`,(0,n.jsx)(o.p,{children:`We collect information directly from you when you provide it to us explicitly on\nour Site. We do not use third-party cookies on our Site.`}),`\n`,(0,n.jsx)(o.h2,{id:"what-we-use-your-information-for",children:"What We Use Your Information For"}),`\n`,(0,n.jsx)(o.p,{children:`We use your information to provide our Services, to improve our Platform, to\nunderstand how you use our Platform, and to communicate with you.`}),`\n`,(0,n.jsx)(o.h2,{id:"how-to-contact-us",children:"How To Contact Us"}),`\n`,(0,n.jsxs)(o.p,{children:["For privacy-related questions, please contact us at ",(0,n.jsx)(o.a,{href:"mailto:[email protected]",children:"[email protected]"}),"."]})]})}function d(e={}){let{wrapper:o}=e.components||{};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}return g(x);})();\n;return Component;',slug:`privacy`},{title:`Terms of Service`,updatedAt:`2023-05-29`,content:`Subject to these Terms of Service (this "Agreement"), [hyphenateit.com](/) 781("HyphenateIt", "we", "us" and/or "our") provides access to HyphenateIt's cloud 782platform as a service (collectively, the "Services"). By using or accessing the 783Services, you acknowledge that you have read, understand, and agree to be bound 784by this Agreement. 785 786If you are entering into this Agreement on behalf of a company, business or 787other legal entity, you represent that you have the authority to bind such 788entity to this Agreement, in which case the term "you" shall refer to such 789entity. If you do not have such authority, or if you do not agree with this 790Agreement, you must not accept this Agreement and may not use the Services. 791 792## 1. Acceptance of Terms 793 794By signing up and using the services provided by HyphenateIt (referred to as the 795"Service"), you are agreeing to be bound by the following terms and conditions 796("Terms of Service"). The Service is owned and operated by HyphenateIt ("Us", 797"We", or "Our"). 798 799## 2. Description of Service 800 801HyphenateIt provides a tool that helps you hyphenate words. ("the 802Product"). The Product is accessible at hyphenateit.com and other domains and 803subdomains controlled by Us (collectively, "the Website"). 804 805## 3. Fair Use 806 807You are responsible for your use of the Service and for any content that you 808post or transmit through the Service. You may not use the Service for any 809purpose that is illegal or infringes upon the rights of others. 810 811We reserve the right to suspend or terminate your access to the Service if we 812determine, in our sole discretion, that you have violated these Terms of 813Service, including but not limited to, adding phishing links, spam links, scam 814links, or other inappropriate or illegal content. 815 816## 4. Intellectual Property Rights 817 818You acknowledge and agree that the Service and its entire contents, features, 819and functionality, including but not limited to all information, software, code, 820text, displays, graphics, photographs, video, audio, design, presentation, 821selection, and arrangement, are owned by Us, our licensors, or other providers 822of such material and are protected by United States and international copyright, 823trademark, patent, trade secret, and other intellectual property or proprietary 824rights laws. 825 826## 5. Changes to these Terms 827 828We reserve the right to revise and update these Terms of Service from time to 829time in our sole discretion. All changes are effective immediately when we post 830them, and apply to all access to and use of the Website thereafter. Your 831continued use of the Website following the posting of revised Terms of Service 832means that you accept and agree to the changes. 833 834## 6. Contact Information 835
836Questions or comments about the Website or these Terms of Service may be 837directed to our support team at [email protected]. 838 839## 7. Disclaimer of Warranties 840 841THE SERVICE AND ITS CONTENT ARE PROVIDED ON AN "AS IS" AND "AS AVAILABLE" BASIS 842WITHOUT ANY WARRANTIES OF ANY KIND. WE DISCLAIM ALL WARRANTIES, INCLUDING, BUT 843NOT LIMITED TO, THE WARRANTY OF TITLE, MERCHANTABILITY, NON-INFRINGEMENT OF 844THIRD PARTIESâ RIGHTS, AND FITNESS FOR PARTICULAR PURPOSE. 845 846## 8. Limitation of Liability 847 848IN NO EVENT WILL WE, OUR AFFILIATES OR THEIR LICENSORS, SERVICE PROVIDERS, 849EMPLOYEES, AGENTS, OFFICERS OR DIRECTORS BE LIABLE FOR DAMAGES OF ANY KIND, 850UNDER ANY LEGAL THEORY, ARISING OUT OF OR IN CONNECTION WITH YOUR USE, OR 851INABILITY TO USE, THE WEBSITE, THE SERVICE, ANY WEBSITES LINKED TO IT, ANY 852CONTENT ON THE WEBSITE OR SUCH OTHER WEBSITES, INCLUDING ANY DIRECT, INDIRECT, 853SPECIAL, INCIDENTAL, CONSEQUENTIAL, OR PUNITIVE DAMAGES. 854 855## 9. Governing Law and Jurisdiction 856 857These Terms of Service and any dispute or claim arising out of or related to 858them, their subject matter or their formation (in each case, including 859non-contractual disputes or claims) shall be governed by and construed in 860accordance with the internal laws of France without giving effect to any choice 861or conflict of law provision or rule. Any legal suit, action, or proceeding 862arising out of, or related to, these Terms of Service or the Website shall be 863instituted exclusively in the federal courts of France. 864 865--- 866 867By using HyphenateIt , you acknowledge that you have read these Terms of Service, 868understood them, and agree to be bound by them. If you do not agree to these 869Terms of Service, you are not authorized to use the Service. We reserve the 870right to change these Terms of Service at any time, so please review them 871frequently. 872 873Thank you for using HyphenateIt!`,_meta:{filePath:`terms.mdx`,fileName:`terms.mdx`,directory:`.`,extension:`mdx`,path:`terms`},mdx:`var Component=(()=>{var u=Object.create;var i=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,I=Object.prototype.hasOwnProperty;var f=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),T=(n,e)=>{for(var r in e)i(n,r,{get:e[r],enumerable:!0})},s=(n,e,r,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of m(e))!I.call(n,o)&&o!==r&&i(n,o,{get:()=>e[o],enumerable:!(a=p(e,o))||a.enumerable});return n};var g=(n,e,r)=>(r=n!=null?u(y(n)):{},s(e||!n||!n.__esModule?i(r,"default",{value:n,enumerable:!0}):r,n)),E=n=>s(i({},"__esModule",{value:!0}),n);var c=f((N,h)=>{h.exports=_jsx_runtime});var S={};T(S,{default:()=>l});var t=g(c());function d(n){let e={a:"a",h2:"h2",hr:"hr",p:"p",...n.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(e.p,{children:['Subject to these Terms of Service (this "Agreement"), ',(0,t.jsx)(e.a,{href:"/",children:"hyphenateit.com"}),\` 874("HyphenateIt", "we", "us" and/or "our") provides access to HyphenateIt's cloud 875platform as a service (collectively, the "Services"). By using or accessing the 876Services, you acknowledge that you have read, understand, and agree to be bound 877by this Agreement.\`]}),\` 878\`,(0,t.jsx)(e.p,{children:\`If you are entering into this Agreement on behalf of a company, business or 879other legal entity, you represent that you have the authority to bind such 880entity to this Agreement, in which case the term "you" shall refer to such 881entity. If you do not have such authority, or if you do not agree with this 882Agreement, you must not accept this Agreement and may not use the Services.\`}),\` 883\`,(0,t.jsx)(e.h2,{id:"1-acceptance-of-terms",children:"1. Acceptance of Terms"}),\` 884\`,(0,t.jsx)(e.p,{children:\`By signing up and using the services provided by HyphenateIt (referred to as the 885"Service"), you are agreeing to be bound by the following terms and conditions 886("Terms of Service"). The Service is owned and operated by HyphenateIt ("Us", 887"We", or "Our").\`}),\` 888\`,(0,t.jsx)(e.h2,{id:"2-description-of-service",children:"2. Description of Service"}),\` 889\`,(0,t.jsx)(e.p,{children:\`HyphenateIt provides a tool that helps you hyphenate words. ("the 890Product"). The Product is accessible at hyphenateit.com and other domains and 891subdomains controlled by Us (collectively, "the Website").\`}),\` 892\`,(0,t.jsx)(e.h2,{id:"3-fair-use",children:"3. Fair Use"}),\` 893\`,(0,t.jsx)(e.p,{children:\`You are responsible for your use of the Service and for any content that you 894post or transmit through the Service. You may not use the Service for any 895purpose that is illegal or infringes upon the rights of others.\`}),\` 896\`,(0,t.jsx)(e.p,{children:\`We reserve the right to suspend or terminate your access to the Service if we 897determine, in our sole discretion, that you have violated these Terms of 898Service, including but not limited to, adding phishing links, spam links, scam 899links, or other inappropriate or illegal content.\`}),\` 900\`,(0,t.jsx)(e.h2,{id:"4-intellectual-property-rights",children:"4. Intellectual Property Rights"}),\` 901\`,(0,t.jsx)(e.p,{children:\`You acknowledge and agree that the Service and its entire contents, features, 902and functionality, including but not limited to all information, software, code, 903text, displays, graphics, photographs, video, audio, design, presentation, 904selection, and arrangement, are owned by Us, our licensors, or other providers 905of such material and are protected by United States and international copyright, 906trademark, patent, trade secret, and other intellectual property or proprietary 907rights laws.\`}),\` 908\`,(0,t.jsx)(e.h2,{id:"5-changes-to-these-terms",children:"5. Changes to these Terms"}),\` 909\`,(0,t.jsx)(e.p,{children:\`We reserve the right to revise and update these Terms of Service from time to 910time in our sole discretion. All changes are effective immediately when we post 911them, and apply to all access to and use of the Website thereafter. Your 912continued use of the Website following the posting of revised Terms of Service 913means that you accept and agree to the changes.\`}),\` 914\`,(0,t.jsx)(e.h2,{id:"6-contact-information",children:"6. Contact Information"}),\` 915\`,(0,t.jsxs)(e.p,{children:[\`Questions or comments about the Website or these Terms of Service may be 916directed to our support team at \`,(0,t.jsx)(e.a,{href:"mailto:[email protected]",children:"[email protected]"}),"."]}),\` 917\`,(0,t.jsx)(e.h2,{id:"7-disclaimer-of-warranties",children:"7. Disclaimer of Warranties"}),\` 918\`,(0,t.jsx)(e.p,{children:\`THE SERVICE AND ITS CONTENT ARE PROVIDED ON AN "AS IS" AND "AS AVAILABLE" BASIS 919WITHOUT ANY WARRANTIES OF ANY KIND. WE DISCLAIM ALL WARRANTIES, INCLUDING, BUT 920NOT LIMITED TO, THE WARRANTY OF TITLE, MERCHANTABILITY, NON-INFRINGEMENT OF 921THIRD PARTIES\\u2019 RIGHTS, AND FITNESS FOR PARTICULAR PURPOSE.\`}),\` 922\`,(0,t.jsx)(e.h2,{id:"8-limitation-of-liability",children:"8. Limitation of Liability"}),\` 923\`,(0,t.jsx)(e.p,{children:\`IN NO EVENT WILL WE, OUR AFFILIATES OR THEIR LICENSORS, SERVICE PROVIDERS, 924EMPLOYEES, AGENTS, OFFICERS OR DIRECTORS BE LIABLE FOR DAMAGES OF ANY KIND, 925UNDER ANY LEGAL THEORY, ARISING OUT OF OR IN CONNECTION WITH YOUR USE, OR 926INABILITY TO USE, THE WEBSITE, THE SERVICE, ANY WEBSITES LINKED TO IT, ANY 927CONTENT ON THE WEBSITE OR SUCH OTHER WEBSITES, INCLUDING ANY DIRECT, INDIRECT, 928SPECIAL, INCIDENTAL, CONSEQUENTIAL, OR PUNITIVE DAMAGES.\`}),\` 929\`,(0,t.jsx)(e.h2,{id:"9-governing-law-and-jurisdiction",children:"9. Governing Law and Jurisdiction"}),\` 930\`,(0,t.jsx)(e.p,{children:\`These Terms of Service and any dispute or claim arising out of or related to 931them, their subject matter or their formation (in each case, including 932non-contractual disputes or claims) shall be governed by and construed in 933accordance with the internal laws of France without giving effect to any choice 934or conflict of law provision or rule. Any legal suit, action, or proceeding 935arising out of, or related to, these Terms of Service or the Website shall be 936instituted exclusively in the federal courts of France.\`}),\` 937\`,(0,t.jsx)(e.hr,{}),\` 938\`,(0,t.jsx)(e.p,{children:\`By using HyphenateIt , you acknowledge that you have read these Terms of Service, 939understood them, and agree to be bound by them. If you do not agree to these 940Terms of Service, you are not authorized to use the Service. We reserve the 941right to change these Terms of Service at any time, so please review them
942frequently.\`}),\` 943\`,(0,t.jsx)(e.p,{children:"Thank you for using HyphenateIt!"})]})}function l(n={}){let{wrapper:e}=n.components||{};return e?(0,t.jsx)(e,{...n,children:(0,t.jsx)(d,{...n})}):d(n)}return E(S);})(); 944;return Component;`,slug:`terms`}],n=[],r=[{title:`Dark mode support`,description:`Choose your favorite theme. Dark or light.`,image:{url:`/changelog/dark-theme-support/cover.png`,blurDataURL:`data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wAARCAAEAAgDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAb/xAAXEAEBAQEAAAAAAAAAAAAAAAAAESNh/8QAFAEBAAAAAAAAAAAAAAAAAAAAAf/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/AI65zoAL/9k=`},publishedAt:new Date(`2024-01-03T00:00:00.000Z`),content:{mdx:'var Component=(()=>{var u=Object.create;var s=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var g=Object.getPrototypeOf,_=Object.prototype.hasOwnProperty;var f=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),p=(n,e)=>{for(var o in e)s(n,o,{get:e[o],enumerable:!0})},h=(n,e,o,c)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of x(e))!_.call(n,r)&&r!==o&&s(n,r,{get:()=>e[r],enumerable:!(c=l(e,r))||c.enumerable});return n};var j=(n,e,o)=>(o=n!=null?u(g(n)):{},h(e||!n||!n.__esModule?s(o,"default",{value:n,enumerable:!0}):o,n)),w=n=>h(s({},"__esModule",{value:!0}),n);var i=f((y,a)=>{a.exports=_jsx_runtime});var M={};p(M,{default:()=>m});var t=j(i());function d(n){let e={p:"p",strong:"strong",...n.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(e.p,{children:"You can now use dark mode on the website."}),`\n`,(0,t.jsxs)(e.p,{children:["The ",(0,t.jsx)(e.strong,{children:"default"})," theme is the ",(0,t.jsx)(e.strong,{children:"system"}),` one. You can change the theme in\nthe header of the website.`]})]})}function m(n={}){let{wrapper:e}=n.components||{};return e?(0,t.jsx)(e,{...n,children:(0,t.jsx)(d,{...n})}):d(n)}return w(M);})();\n;return Component;',raw:`You can now use dark mode on the website. 945 946The **default** theme is the **system** one. You can change the theme in 947the header of the website.`},_meta:{filePath:`dark-theme-support/index.mdx`,fileName:`index.mdx`,directory:`dark-theme-support`,extension:`mdx`,path:`dark-theme-support`},url:`/changelog/dark-theme-support`,slug:`dark-theme-support`},{title:`Hottest word splits`,description:`See the most popular word splits`,image:{url:`/changelog/hottest-word-splits/cover.png`,blurDataURL:`data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wAARCAAEAAgDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAb/xAAXEAEBAQEAAAAAAAAAAAAAAAAAESNh/8QAFAEBAAAAAAAAAAAAAAAAAAAAAf/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/AI65zoAL/9k=`},publishedAt:new Date(`2024-11-20T00:00:00.000Z`),content:{mdx:`var Component=(()=>{var u=Object.create;var s=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var w=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty;var x=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),_=(t,e)=>{for(var n in e)s(t,n,{get:e[n],enumerable:!0})},i=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of m(e))!g.call(t,o)&&o!==n&&s(t,o,{get:()=>e[o],enumerable:!(r=d(e,o))||r.enumerable});return t};var f=(t,e,n)=>(n=t!=null?u(w(t)):{},i(e||!t||!t.__esModule?s(n,"default",{value:t,enumerable:!0}):n,t)),y=t=>i(s({},"__esModule",{value:!0}),t);var p=x((C,h)=>{h.exports=_jsx_runtime});var j={};_(j,{default:()=>l});var a=f(p());function c(t){let e={p:"p",...t.components};return(0,a.jsx)(e.p,{children:"You can now see the most popular word splits, which are the most searched words on HyphenateIt. On the word hyphenation page, the list contains the latest word splits in the language you are viewing. On the homepage, the list contains the most popular word splits in all languages."})}function l(t={}){let{wrapper:e}=t.components||{};return e?(0,a.jsx)(e,{...t,children:(0,a.jsx)(c,{...t})}):c(t)}return y(j);})(); 948;return Component;`,raw:`You can now see the most popular word splits, which are the most searched words on HyphenateIt. On the word hyphenation page, the list contains the latest word splits in the language you are viewing. On the homepage, the list contains the most popular word splits in all languages.`},_meta:{filePath:`hottest-word-splits/index.mdx`,fileName:`index.mdx`,directory:`hottest-word-splits`,extension:`mdx`,path:`hottest-word-splits`},url:`/changelog/hottest-word-splits`,slug:`hottest-word-splits`}
948,{title:`Language words list`,description:`See all the words of a language in one place`,image:{url:`/changelog/language-words-list/cover.png`,blurDataURL:`data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wAARCAAEAAgDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAb/xAAXEAEBAQEAAAAAAAAAAAAAAAAAESNh/8QAFAEBAAAAAAAAAAAAAAAAAAAAAf/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/AI65zoAL/9k=`},publishedAt:new Date(`2024-01-20T00:00:00.000Z`),content:{mdx:`var Component=(()=>{var h=Object.create;var a=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var x=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty;var _=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports),f=(e,n)=>{for(var r in n)a(e,r,{get:n[r],enumerable:!0})},l=(e,n,r,s)=>{if(n&&typeof n=="object"||typeof n=="function")for(let t of m(n))!g.call(e,t)&&t!==r&&a(e,t,{get:()=>n[t],enumerable:!(s=p(n,t))||s.enumerable});return e};var w=(e,n,r)=>(r=e!=null?h(x(e)):{},l(n||!e||!e.__esModule?a(r,"default",{value:e,enumerable:!0}):r,e)),j=e=>l(a({},"__esModule",{value:!0}),e);var d=_((C,c)=>{c.exports=_jsx_runtime});var M={};f(M,{default:()=>u});var o=w(d());function i(e){let n={a:"a",p:"p",...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(n.p,{children:["You can now see all the words of a language in one place. For example, here are all the ",(0,o.jsx)(n.a,{href:"/en-us/words",children:"English words"}),"."]}),\` 949\`,(0,o.jsx)(n.p,{children:"Currently, only English US and UK is supported. More languages will be added soon."})]})}function u(e={}){let{wrapper:n}=e.components||{};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(i,{...e})}):i(e)}return j(M);})(); 950;return Component;`,raw:`You can now see all the words of a language in one place. For example, here are all the [English words](/en-us/words). 951 952Currently, only English US and UK is supported. More languages will be added soon.`},_meta:{filePath:`language-words-list/index.mdx`,fileName:`index.mdx`,directory:`language-words-list`,extension:`mdx`,path:`language-words-list`},url:`/changelog/language-words-list`,slug:`language-words-list`},{title:`Nearby Words List Section`,description:`This section is used to display a list of words that are similar to the current word. It is used in the word page.`,image:{url:`/changelog/nearby-words/cover.png`,blurDataURL:`data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wAARCAAEAAgDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAb/xAAXEAEBAQEAAAAAAAAAAAAAAAAAESNh/8QAFAEBAAAAAAAAAAAAAAAAAAAAAf/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/AI65zoAL/9k=`},publishedAt:new Date(`2024-02-08T00:00:00.000Z`),content:{mdx:`var Component=(()=>{var f=Object.create;var s=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var w=Object.getPrototypeOf,p=Object.prototype.hasOwnProperty;var x=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),_=(e,t)=>{for(var r in t)s(e,r,{get:t[r],enumerable:!0})},a=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of m(t))!p.call(e,o)&&o!==r&&s(e,o,{get:()=>t[o],enumerable:!(i=l(t,o))||i.enumerable});return e};var g=(e,t,r)=>(r=e!=null?f(w(e)):{},a(t||!e||!e.__esModule?s(r,"default",{value:e,enumerable:!0}):r,e)),j=e=>a(s({},"__esModule",{value:!0}),e);var c=x((T,d)=>{d.exports=_jsx_runtime});var y={};_(y,{default:()=>u});var n=g(c());function h(e){let t={p:"p",...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"This section is used to display a list of words that are similar to the current word. It is used in the word page."}),\` 953\`,(0,n.jsx)(t.p,{children:"This gives the user a quick way to see other words that are nearby in the dictionary. This can be useful for finding other related words, or for finding words with the same root."})]})}function u(e={}){let{wrapper:t}=e.components||{};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}return j(y);})(); 954;return Component;`,raw:`This section is used to display a list of words that are similar to the current word. It is used in the word page. 955 956This gives the user a quick way to see other words that are nearby in the dictionary. This can be useful for finding other related words, or for finding words with the same root.`},_meta:{filePath:`nearby-words/index.mdx`,fileName:`index.mdx`,directory:`nearby-words`,extension:`mdx`,path:`nearby-words`},url:`/changelog/nearby-words`,slug:`nearby-words`},{title:`Search Suggestions`,description:`Get suggestions for words that match the search query.`,image:{url:`/changelog/search-suggestions/cover.png`,blurDataURL:`data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wAARCAAEAAgDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAb/xAAXEAEBAQEAAAAAAAAAAAAAAAAAESNh/8QAFAEBAAAAAAAAAAAAAAAAAAAAAf/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/AI65zoAL/9k=`},publishedAt:new Date(`2024-10-08T00:00:00.000Z`),content:{mdx:`var Component=(()=>{var d=Object.create;var a=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var m=Object.getPrototypeOf,p=Object.prototype.hasOwnProperty;var f=(e,o)=>()=>
956(o||e((o={exports:{}}).exports,o),o.exports),w=(e,o)=>{for(var t in o)a(e,t,{get:o[t],enumerable:!0})},h=(e,o,t,r)=>{if(o&&typeof o=="object"||typeof o=="function")for(let s of g(o))!p.call(e,s)&&s!==t&&a(e,s,{get:()=>o[s],enumerable:!(r=l(o,s))||r.enumerable});return e};var x=(e,o,t)=>(t=e!=null?d(m(e)):{},h(o||!e||!e.__esModule?a(t,"default",{value:e,enumerable:!0}):t,e)),_=e=>h(a({},"__esModule",{value:!0}),e);var c=f((q,i)=>{i.exports=_jsx_runtime});var b={};w(b,{default:()=>y});var n=x(c());function u(e){let o={p:"p",...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.p,{children:"You can now get suggestions for words that match the search query. This can help you find the word you are looking for more quickly, and can also help you discover new words that you may not have thought of. The suggestions are based on the words in the dictionary, and are sorted by how closely they match the search query."}),\` 957\`,(0,n.jsx)(o.p,{children:"The suggestions are displayed as you type in the search box, so you can see them in real time as you type. This can help you refine your search query and find the word you are looking for more quickly. The suggestions are also displayed in a list below the search box, so you can see all of the suggestions at once."})]})}function y(e={}){let{wrapper:o}=e.components||{};return o?(0,n.jsx)(o,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}return _(b);})(); 958;return Component;`,raw:`You can now get suggestions for words that match the search query. This can help you find the word you are looking for more quickly, and can also help you discover new words that you may not have thought of. The suggestions are based on the words in the dictionary, and are sorted by how closely they match the search query. 959 960The suggestions are displayed as you type in the search box, so you can see them in real time as you type. This can help you refine your search query and find the word you are looking for more quickly. The suggestions are also displayed in a list below the search box, so you can see all of the suggestions at once.`},_meta:{filePath:`search-suggestions/index.mdx`,fileName:`index.mdx`,directory:`search-suggestions`,extension:`mdx`,path:`search-suggestions`},url:`/changelog/search-suggestions`,slug:`search-suggestions`},{title:`Word of the day page`,description:`Check out the hyphenation of the word of the day from Mirriam-Webster`,image:{url:`/changelog/word-of-the-day-list/cover.png`,blurDataURL:`data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wAARCAAEAAgDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAb/xAAXEAEBAQEAAAAAAAAAAAAAAAAAESNh/8QAFAEBAAAAAAAAAAAAAAAAAAAAAf/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/AI65zoAL/9k=`},publishedAt:new Date(`2024-01-10T00:00:00.000Z`),content:{mdx:`var Component=(()=>{var f=Object.create;var a=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var u=Object.getPrototypeOf,x=Object.prototype.hasOwnProperty;var w=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),_=(e,t)=>{for(var o in t)a(e,o,{get:t[o],enumerable:!0})},c=(e,t,o,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of p(t))!x.call(e,r)&&r!==o&&a(e,r,{get:()=>t[r],enumerable:!(s=l(t,r))||s.enumerable});return e};var j=(e,t,o)=>(o=e!=null?f(u(e)):{},c(t||!e||!e.__esModule?a(o,"default",{value:e,enumerable:!0}):o,e)),y=e=>c(a({},"__esModule",{value:!0}),e);var i=w((C,h)=>{h.exports=_jsx_runtime});var M={};_(M,{default:()=>m});var n=j(i());function d(e){let t={a:"a",p:"p",...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"You can now see all the words of the day from Mirriam-Webster in one place."}),\` 961\`,(0,n.jsxs)(t.p,{children:["Check out the ",(0,n.jsx)(t.a,{href:"/lists/word-of-the-day/merriam-webster",children:"word of the day page"})," to see the hyphenation for each word."]})]})}function m(e={}){let{wrapper:t}=e.components||{};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}return y(M);})(); 962;return Component;`,raw:`You can now see all the words of the day from Mirriam-Webster in one place. 963 964Check out the [word of the day page](/lists/word-of-the-day/merriam-webster) to see the hyphenation for each word.`},_meta:{filePath:`word-of-the-day-list/index.mdx`,fileName:`index.mdx`,directory:`word-of-the-day-list`,extension:`mdx`,path:`word-of-the-day-list`},url:`/changelog/word-of-the-day-list`,slug:`word-of-the-day-list`}],i=e.sort((e,t)=>
964t.publishedAt.getTime()-e.publishedAt.getTime());n.sort((e,t)=>e.order-t.order);var a=r.sort((e,t)=>t.publishedAt.getTime()-e.publishedAt.getTime()),o=t.sort((e,t)=>e.title.localeCompare(t.title)),s=e=>a.find(t=>t.slug===e);export{i,a as n,o as r,s as t};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.