Hi Massi,
I do not know if there is the completely automated solution but I guess
that the following code might help you, the #3 way with
\definetextmodediscretionary
seems the best to me.
Tomáš
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% APOSTROPHE, HYPHENATED
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% For number 3 you need:
\definetextmodediscretionary l' {\discretionary{-}{l'}{l'}}
%\definetextmodediscretionary l’ {\discretionary{-}{l’}{l’}}
\def\mycmd{\par\thinrule
\par 1.~\discretionary{nel-}{l'opera}{nell'opera}
\par 2.~nel\discretionary{-}{l'}{l'}opera
\par 3.~nel|l'|opera
}
\starttext
\hsize10cc \par \mycmd
\hsize1dd \par \mycmd
\stoptext
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% FULL WORDS, NO HYPHENATION
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% For number 3 you need:
\definetextmodediscretionary ' {\discretionary{a}{}{'}}
%\definetextmodediscretionary ’ {\discretionary{a}{}{’}}
\def\mycmd{\par\thinrule
\par 1.~\discretionary{nella}{opera}{nell'opera}
\par 2.~nell\discretionary{a}{}{'}opera
\par 3.~nell|'|opera
}
\starttext
\hsize10cc \par \mycmd
\hsize1dd \par \mycmd
\stoptext
On Tue, Oct 22, 2024 at 01:59:10PM +0200, mf wrote:
> Hello list,
>
> I'd like to know how to specify the following rules of the Italian language.
>
> Feminine words starting with a vowel change the preceding indefinite
> article ending with a vowel: the article loses the ending vowel,
> that is replaced by an apostrophe. Example:
>
> una opera => un'opera ("a work", but also "an opera")
> una opera => un’opera (with the unicode curly single quote)
>
> In case of definite articles, that is true also for masculine words
> starting with a vowel.
>
> la opera => l'opera ("the work", also "the opera", feminine)
>
> lo operaio => l'operaio ("the worker", masculine)
>
> This extends to articulate prepositions (preposition+article), like
>
> nella opera => nell'opera ("in the work", "in the opera")
>
> dello operaio => dell'operaio ("of the worker")
>
> HYPHENATION
>
> In Italian you can't hyphenate after an apostrophe:
>
> un'opera => un'o-pe-ra
> nell'opera => nel-l'o-pe-ra
>
> so these are the allowed hyphenations:
>
> un'o-
> pera typographically rather ugly
>
> un'ope-
> ra better
>
> nel-
> l'opera typographically the best (preposition-article split)
>
> nell'o- ugly
> pera
>
> nell'ope-
> ra
>
> but, though it's not used much anymore, you can go back to the
> version without apostrophe, as long as the uncut article or
> preposition is the last word in a line:
>
> una
> opera
>
> nella
> opera
>
> These are seldom used, but they would be a good solution, especially
> when the line break occurs across pages.
> Sometimes it's also the finest typographical solution when you have
> narrow columns.
>
> The reason it is seldom used is because there's no automatic
> solution in typesetting software.
> You can do it manually, but when a change in the text modifies the
> line breaking, the article/preposition could move away from the end
> of the line, and you'd get "una opera" or "nella opera" in the
> middle of a line, which is grammatically correct but definitely not
> something you would expect in a printed text, considered almost an
> error.
>
> THE QUESTION
>
> Is there a way to encode such rules with \hyphenation and \discretionary?
>
> I tried
>
> \hyphenation{nel{-l'o}{la}{o}-pe-ra}
>
> but it does not seem to work.
>
> Massi
> ___________________________________________________________________________________
> If your question is of interest to others as well, please add an entry to the
> Wiki!
>
> maillist : [email protected] /
> https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
> webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
> archive : https://github.com/contextgarden/context
> wiki : https://wiki.contextgarden.net
> ___________________________________________________________________________________
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the
Wiki!
maillist : [email protected] /
https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive : https://github.com/contextgarden/context
wiki : https://wiki.contextgarden.net
___________________________________________________________________________________