9
  1. I'm not native English.
  2. I have to write an academic paper with LaTeX, in US English, without mistakes.

My problem is with hyphenation. I do not know whether it is done correctly.

I use:

  • MikTeX.
  • \hyphenation{mon-i-tor-ing sub-se-quently pro-vi-sion-ally Smart-Road-Sen-se} for the words that I know that the hyphenation is wrong.
  • LanguageTool C:\Program Files\LanguageTool-2.8\languagetool.jar (in TeXstudio).

And now the question: there is a tool to control (and improve) hyphenation in LaTeX, without looking at all the words in the PDF?

  • You really have SmartRoadSense as a single word? – David Carlisle Feb 05 '15 at 11:03
  • 1
    The default hyphenations on those words are mon-i-tor-ing sub-se-quently pro-vi-sion-ally SmartRoad-Sense so you need nothing except for the “nonstandard word”. Can you show an example where monitoring (or another word in the list) is hyphenated incorrectly? – egreg Feb 05 '15 at 11:03
  • @DavidCarlisle Of course: this is the my main project. :-) – Giacomo Alessandroni Feb 05 '15 at 11:05
  • 1
    as egreg says the other words you mention are all hyphenated the way you suggest automatically. The default patterns are designed for natural language and don't work for camel case. You could put individual words in \hyphenation as you suggest or perhaps better mark them up as \camel{SmartRoadSense} where Camel allows breaking of camel case before each capital letter (There are answers for that, I'll find one) – David Carlisle Feb 05 '15 at 11:09
  • 1
    see http://tex.stackexchange.com/questions/66593/automatic-camel-case-breaking/66603#66603 – David Carlisle Feb 05 '15 at 11:10
  • @egreg "incorrectly" is a very big word for me. But when I see in the output "anal-ysis" in my mind I think his hyphenation is "a-na-ly-sis". But, I repeat: I'm not native English. – Giacomo Alessandroni Feb 05 '15 at 11:11
  • You might like to check that you are actually loading the US English hyphenation tables... can you post a compilable example, and your log file? – Thruston Feb 05 '15 at 11:12
  • 2
    The default US patterns give anal-y-sis which looks about right (if slightly unfortunate) I don't think your breaks after either a are correct, tex never breaks after the first letter in english anyway – David Carlisle Feb 05 '15 at 11:13
  • What egreg meant is what caused you to add monitoring to your hyphenation exception list? Do you have an example where it broke at a different point? If you do it indicates something else is wrong that you have not told us. – David Carlisle Feb 05 '15 at 11:16
  • Ok. Thank you to all. I have understood that the problem is mine: I have to learn better English. This is not a LaTeX problem (except very long words or invented words). – Giacomo Alessandroni Feb 05 '15 at 11:22
  • 3
    @GiacomoAlessandroni US English hyphenation is much different from Italian (and from British English hyphenation either). Breaking after consonants is quite common. – egreg Feb 05 '15 at 11:22

1 Answers1

8

TeX hyphenation is quite reliable, in general. However, some words can slip off its mechanism, because hyphenation is based on patterns. In order to be sure as much as possible of getting correct hyphenation in US English, load ushyphex.tex. See Where can I find a list of English hyphenation exceptions?

If I try the simple document

\documentclass{article}

\begin{document}
\parbox{0pt}{\hspace{0pt}%
  monitoring
  subsequently
  provisionally
  SmartRoadSense
}
\end{document}

so that words are split as much as possible, I get

enter image description here

If I add (in the preamble)

\input{ushyphex}
\hyphenation{Smart-Road-Sense}

I get

enter image description here

Note that “Sense” should not by hyphenated even if \righthyphenmin is less than its default value 3, because the final “e” is mute and so can't form a syllable center.


Final word

Add \input{ushyphex} just to be very sure. Add explicit hyphenation only for “nonstandard words”.

egreg
  • 1,121,712
  • Thank you also for \hyphenation{Smart-Road-Sen-se}. – Giacomo Alessandroni Feb 05 '15 at 11:31
  • 1
    as a native english speaker, i would not accept a hyphen before the se in ...Sense', even ifSensewere followed by something else. the fact that it isn't hyphenated in your test is simply owing to the setting\righthyphenmin=3. (by contrast, i *would* accept a hyphen beforelyin "subsequently" and "provisionally"; those are also not hyphenated here because of the\righthyphenmin=3`.) – barbara beeton Feb 05 '15 at 18:05
  • @barbarabeeton I just followed the OP on this, but I'll gladly fix the answer. – egreg Feb 05 '15 at 18:43
  • Setting Smart-Road-Sen-se is definitely very incorrect. It should be Smart-Road-Sense. – Mico Mar 02 '15 at 10:11