As mentioned by @UlrikeFischer in a comment, you may want to look into using the showhyphens
package, which inserts little red markers at every hyphenation point known to LaTeX. (To handle German hyphenation, be sure to load the babel
package with the option ngerman
-- or something broadly equivalent, say, naustrian
.) Providing such markers doesn't go as far as does assigning different colors to the syllables, but it should help your student nevertheless.
I assume you're aware of the fact that in German not all syllable boundaries are valid hyphenation break points. E.g., if a word starts and/or ends with a one-letter syllable (Abend, aber, Atem, Atom, Element, Elend, Idylle, ober, oder, über; Arie, etc), hyphenation is not performed after the first syllable or before the final syllable. Thus, even though the word "Arie" has three syllables, it's usually not hyphenated. A separate case of hyphenation not being performed at a syllable boundary occurs if hyphenating a compound word would risk changing its meaning. E.g., while it's OK to hyphenate the word "Instinkt" after "In", the compound word "Urinstinkt" should never be hyphenated at the second syllable boundary.
Here's an example that uses the first paragraph of Thomas Mann's novel Tonio Kröger. (Of course, some might say that not only children but many adults as well may need help parsing anything written by Thomas Mann...) Only the word "über" is missing a syllable break marker, but that's to be expected.
% !TEX TS-program = lualatex
\documentclass[ngerman]{article}
\usepackage{fontspec,babel,showhyphens}
\setlength\textwidth{8cm} % just for this example
\begin{document}
\raggedright % disables hyphenation at line ends
Die Wintersonne stand nur als armer Schein, milchig und matt hinter
Wolkenschichten über der engen Stadt. Naß und zugig war's in den
giebeligen Gassen, und manchmal fiel eine Art von weichem Hagel, nicht
Eis, nicht Schnee.
\end{document}
Addendum, to accommodate the OP's follow-up comment that he/she is willing to "bend" the hyphenation rules to allow hyphenation after the first letter in words such as aber, ober, über, and Abend.
I assume you'll be loading the babel
package with the option ngerman
. To let the showhyphens
package insert little red markers after the first letters of words such as aber, ober, über, and Abend, issue the instruction
\renewcommand\ngermanhyphenmins{12}
in the preamble. (The default setting is "22", by the way.) Then, re-run LuaLaTeX and check if all words are still hyphenated correctly: some words may still be missing valid hyphenation points, while others may now display invalid hyphenation points. For example, in the case of the Tonio Kröger excerpt shown above, it turns out that the word über
isn't hyphenated after the letter "ü". To rectify this, one could issue the command
\hyphenation{ü-ber}
(after loading babel
). Interestingly, the words aber, ober, and Abend need no extra tweeking.
Conversely, if one were to modify the preceding example to include the novel's second paragraph as well, one would find that the word "Jupiterbart" features a fourth, spurious hyphenation point -- between "b" and "a". To correct this error, one could issue another command, viz., \hyphenation{ju-pi-ter-bart}
. The two commands can be combined as
\hyphenation{ju-pi-ter-bart ü-ber}