1

Using this solution allows to have LaTeX hyphenates words starting or finishing with a bracket. I'd like to use it also to hyphenate words containing a single quotation mark (called "apostrophe" in French). As my MWE shows, it does not work but I do not really know why… Thank you for your help!

The MWE:

\documentclass{scrartcl}
\lccode`\(`\(
\lccode`\)`\)
\lccode`\'`\'

\begin{document}

Eblouissement eblouissement eblouissement eblouissement eblouissement eblouissement eblouissement

(Eblouissement) (eblouissement) (eblouissement) (eblouissement) (eblouissement) (eblouissement) (eblouissement)

D'eblouissement d'eblouissement d'eblouissement d'eblouissement d'eblouissement d'eblouissement d'eblouissement

\end{document}

Text with incorrect hyphenation

bmrs
  • 87
  • 1
    I guess you're typesetting with XeLaTeX. Such information would be very important. On the other hand, if your document is in French, you should use babel. – egreg Feb 22 '24 at 14:37

1 Answers1

2

Let's analyze a few versions. In all cases the showframe package is employed for the output (but not shown in the code)

First version (pdflatex)

\documentclass{scrartcl}

\begin{document}

Eblouissement eblouissement eblouissement eblouissement eblouissement eblouissement eblouissement

(Eblouissement) (eblouissement) (eblouissement) (eblouissement) (eblouissement) (eblouissement) (eblouissement)

D'eblouissement d'eblouissement d'eblouissement d'eblouissement d'eblouissement d'eblouissement d'eblouissement

\end{document}

enter image description here

Comment

No hyphenation, as expected.

Second version (pdflatex)

\documentclass{scrartcl}

\lccode\(=( \lccode\)=) \lccode\'='

\begin{document}

Eblouissement eblouissement eblouissement eblouissement eblouissement eblouissement eblouissement

(Eblouissement) (eblouissement) (eblouissement) (eblouissement) (eblouissement) (eblouissement) (eblouissement)

D'eblouissement d'eblouissement d'eblouissement d'eblouissement d'eblouissement d'eblouissement d'eblouissement

\end{document}

enter image description here

Commant

You see that there is no overfull. The same happens with lualatex.

Third version (pdflatex)

\documentclass{scrartcl}

\usepackage[T1]{fontenc} \usepackage[french]{babel}

\begin{document}

Eblouissement eblouissement eblouissement eblouissement eblouissement eblouissement eblouissement

(Eblouissement) (eblouissement) (eblouissement) (eblouissement) (eblouissement) (eblouissement) (eblouissement)

D'eblouissement d'eblouissement d'eblouissement d'eblouissement d'eblouissement d'eblouissement d'eblouissement

\end{document}

enter image description here

Comment

There are overfull boxes, because of the hyphenation minima stated by babel-french, but the “words” containing parentheses and apostrophes are hyphenated.

Fourth version (xelatex)

\documentclass{scrartcl}

\lccode\(=( \lccode\)=) \lccode\'='

\begin{document}

Eblouissement eblouissement eblouissement eblouissement eblouissement eblouissement eblouissement

(Eblouissement) (eblouissement) (eblouissement) (eblouissement) (eblouissement) (eblouissement) (eblouissement)

D'eblouissement d'eblouissement d'eblouissement d'eblouissement d'eblouissement d'eblouissement d'eblouissement

\end{document}

enter image description here

Comment

This reproduces your issue. What's the difference? XeLaTeX can (and does) use a mapping file for fonts, because of a different algorithm it uses for typesetting. In this mapping file, ASCII apostrophes are substituted with “real” apostrophes U+2019.

Solution (xelatex)

\documentclass{scrartcl}

\lccode\(=( \lccode\)=) %\lccode\'=' % not needed \lccode"2019="2019

\begin{document}

Eblouissement eblouissement eblouissement eblouissement eblouissement eblouissement eblouissement

(Eblouissement) (eblouissement) (eblouissement) (eblouissement) (eblouissement) (eblouissement) (eblouissement)

D'eblouissement d'eblouissement d'eblouissement d'eblouissement d'eblouissement d'eblouissement d'eblouissement

\end{document}

enter image description here

egreg
  • 1,121,712
  • Perfect solution, thanks a lot! And sorry for not having said that I am actually using XeLaTeX… Concerning the babel package, I am already loading polyglossia, I was thinking they were kind of redundant? – bmrs Feb 23 '24 at 11:08