summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/FAQ-en/html/FAQ-nohyph.html
blob: 1a7a15eaff228fc4b2f2daf28c903f21064aa523 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<head>
<title>UK TeX FAQ -- question label nohyph</title>
</head><body>
<h3>My words aren&#8217;t being hyphenated</h3>
<p/>Let&#8217;s assume you&#8217;ve selected the right TeX &#8216;language&#8217; &#8212; as
explained in <a href="FAQ-hyphen.html">&#8220;how hyphenation works&#8221;</a>,
you&#8217;re not likely to get the correct results typesetting one language
using the hyphenation rules of another.  (Select the proper language,
using <i>babel</i> if you&#8217;re a LaTeX user.  This may reveal that
you need another set of hyphenation patterns; see

<a href="FAQ-newlang.html">&#8220;using a new language&#8221;</a> for advice on how
to install it.)
<p/>So what else can go wrong?
<ul>
<li> Since TeX version 3.0, the limits on how near to either end
  of a word hyphenation may take place have been programmable (see
  <a href="FAQ-weirdhyphen.html">&#8220;weird hyphenation&#8221;</a>), and for some
  reason the values in question may have been corrupted in some macros
  you are using.  TeX won&#8217;t hyphenate less than <code>\</code><code>lefthyphenmin</code>
  characters after the start of a word, nor less than
  <code>\</code><code>righthyphenmin</code> before the end of a word; thus it won&#8217;t
  hyphenate a word shorter than the sum of the two minima, at all.
  For example, since the minima are 2 and 3 for English, TeX won&#8217;t
  hyphenate a word shorter than 5 letters long, if it believes the
  word to be English.
<li> TeX won&#8217;t hyphenate a word that&#8217;s already been hyphenated.
  For example, the (caricature) English surname Smyth-Postlethwaite
  wouldn&#8217;t hyphenate, which could be troublesome.  This is correct
  English typesetting style (it may not be correct for other
  languages), but if needs must, you can replace the hyphen in the
  name with a <code>\</code><code>hyph</code> command, defined
<blockquote>
<pre>
\def\hyph{-\penalty0\hskip0pt\relax}
</pre>
</blockquote><p>
  This is <em>not</em> the sort of thing this FAQ would
  ordinarily recommend&#8230; The <i>hyphenat</i> package defines a
  bundle of such commands (for introducing hyphenation points at
  various punctuation characters).
<li> There may be accents in the word.  The causes of and remedies
  for this effect are discussed in
  
  <a href="FAQ-hyphenaccents.html">accents and hyphens</a>.
<li> The hyphenation may simply not have been spotted; while TeX&#8217;s
  algorithm is good, it&#8217;s not infallible, and it does miss perfectly
  good hyphenations in some languages.  When this happens, you need to
  give TeX <em>explicit</em> instructions on how to hyphenate.
</ul>
The <code>\</code><code>hyphenation</code> command allows you to give explicit instructions.
Provided that the word will hyphenate at all (that is, it is not
prevented from hyphenating by any of the other restrictions above),
the command will override anything the hyphenation patterns might
dictate.  The command takes one or more hyphenated words as
argument &#8212; <code>\</code><code>hyphenation{ana-lysis pot-able}</code>; note that
(as here, for analysis) you can use the command to overrule TeX&#8217;s
choice of hyphenation (ana-lysis is the British etymological
hyphenation; some feel the American hyphenation feels
&#8216;unfortunate&#8217;&#8230;).
<dl>
<dt><tt><i>hyphenat.sty</i></tt><dd><a href="http://mirror.ctan.org/macros/latex/contrib/hyphenat.zip">macros/latex/contrib/hyphenat</a> (or <a href="http://mirror.ctan.org/macros/latex/contrib/hyphenat/">browse the directory</a>); <a href="http://mirror.ctan.org/help/Catalogue/entries/hyphenat.html">catalogue entry</a>
</dl>
<p/><p>This question on the Web: <a href="http://www.tex.ac.uk/cgi-bin/texfaq2html?label=nohyph">http://www.tex.ac.uk/cgi-bin/texfaq2html?label=nohyph</a>
</body>