J'ai eu le même problème. J'utilise trait d'union plus la macro suivante :
\RequirePackage{hyphenat}
\RequirePackage{expl3}
% The following defs make sure words that contain an explicit `-` (hyphen) are still hyphenated the normal way, and double- and triple hyphens keep working the way they should. Just don't use a `-` as the last token of your document. Also note that `-` is now a macro that is not fully expandable
\ExplSyntaxOn
% latex2e doesn't like commands starting with 'end', apparently expl3 doesn't have any problems with it
\cs_new:Npn \hyphenfix_emdash:c {---}
\cs_new:Npn \hyphenfix_endash:c {--}
\cs_new:Npn \hyphenfix_discardnext:NN #1#2{#1}
\catcode`\-=\active
\cs_new_protected:Npn -{
\futurelet\hyphenfix_nexttok\hyphenfix_i:w
}
\cs_new:Npn \hyphenfix_i:w {
\cs_if_eq:NNTF{\hyphenfix_nexttok}{-}{
%discard the next `-` token
\hyphenfix_discardnext:NN{\futurelet\hyphenfix_nexttok\hyphenfix_ii:w}
}{
% from package hyphenat
\hyp
}
}
\cs_new:Npn \hyphenfix_ii:w {
\cs_if_eq:NNTF{\hyphenfix_nexttok}{-}{
\hyphenfix_discardnext:NN{\hyphenfix_emdash:c}
}{
\hyphenfix_endash:c
}
}
\ExplSyntaxOff
Notez que cela utilise le paquet expl3 de latex3.
Il rend le -
un caractère actif qui scanne vers l'avant pour voir s'il est suivi par d'autres tirets. Si c'est le cas, il reste un -
pour s'assurer --
y ---
continuer à travailler. Sinon, il devient le \hyp
de hyphenat, permettant les coupures de mots dans le reste du mot. Il s'agit d'une solution générique qui permet à tous les mots contenant des traits d'union explicites de s'interrompre normalement.
Notez que -
devient une macro qui n'est pas entièrement extensible, essayez donc de l'inclure après avoir chargé d'autres paquets qui ne s'attendent peut-être pas à ce que -
pour être une macro
Edit : Il s'agit de ma deuxième version, la première version était moins robuste lorsqu'une {
o }
suivi d'un trait d'union. Celle-ci ne l'est pas, mais à la différence de la première version, l'élément -
dans cette version n'est pas entièrement extensible.
0 votes
Pourquoi est-ce un problème que le mot soit cassé au niveau du trait d'union ? N'est-ce pas "multi- \newline dimensionnel" ok ?
1 votes
Réponse bonus : Une recherche sur Google de "césure latex" a donné toutes sortes de résultats utiles, dont le livre du wiki latex qui contient la réponse : fr.wikibooks.org/wiki/LaTeX/Formatting#Hyphenation
5 votes
@mica : non, ça ne l'est pas. J'ai lu toutes ces pages il y a des années. @geoff : ce serait correct, en effet, si latex faisait un trait d'union à cet endroit. mais dans cet exemple, cela provoquerait une "boîte à lettres insuffisamment remplie", et latex choisit de ne pas faire de trait d'union du tout.
0 votes
Pouvez-vous mettre la barre oblique inversée sur le premier - de l'expression \hyphenation commande ?
0 votes
Voir aussi tex.stackexchange.com/q/2706/1340
1 votes
Cette question semble être hors sujet car elle concerne le Latex, et devrait être migrée vers tex.stackexchange.com
3 votes
Merci pour votre commentaire @DrewSteen. Je suis évidemment d'accord. Mais pour ma défense, le tex.SX n'existait pas à l'époque où j'ai posé ces questions :-)
0 votes
Oh, je comprends tout à fait. Il s'agit en fait d'un commentaire automatisé lié au système de migration de stackexchange.