Bugzilla – Bug 555448
LaTeX does not know any hyphenation except English
Last modified: 2010-03-01 14:43:17 UTC
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.9.1.5) Gecko/20091103 SUSE/3.5.5-2.1 Firefox/3.5.5 When using \usepackage[ngerman]{babel} in a tex-file LaTeX says that no hyphenation patterns were loaded for ngerman and as a result many bad boxes are created. The reason for this bug is probably that /etc/texmf/tex/generic/config/language.dat does not contain any languages besides English. Adding a "ngerman dehyphn.tex" line to the file and runing "sudo fmtutil-sys --all" fixes the problem for me. Reproducible: Always Steps to Reproduce: 1. compile .tex-file with \usepackage[ngerman]{babel} Actual Results: No hyphenatinon patterns are loaded and finished document has many overfull boxes and locks bad defeating the purpose of using LaTeX. Expected Results: Hyphenation patterns should be loaded. I fixed the problem on my machine thanks to dhaumann. http://forums.opensuse.org/applications/425403-latex-hyphenation-not-working-german-other-languages.html
Several comments: 1. I don't know whether my workaround is the right fix. 2. Gentoo has a similar report: http://bugs.gentoo.org/212515 Maybe it helps fixing this report as well (see last comment there). Just for reference, the error message in tex is: Package babel Warning: No hyphenation patterns were loaded for (babel) the language `German' (babel) I will use the patterns loaded for \language=0 instead
Maybe indeed important: in the gentoo report the link to the gentoo texlive-update process says at the very end: Code Listing 4.6: find language.dat $ kpsewhich language.dat /usr/share/texmf/tex/generic/config/language.dat This file is automatically generated by texmf-update and is the result of concatenating language.*.dat files present in the directory with language.us (for TeX Live 2008, the language.*.dat files are taken from /etc/texmf/language.dat.d/). This directory should be /usr/share/texmf/tex/generic/config/. So you should check that there are no other language.*.dat files in that directory other than the ones installed by the various dev-texlive/texlive-lang* ebuilds. A file present in that directory means that you want to enable hyphenation support for a specific language; if you don't have the hyphenation support files the formats that use this extra hyphenation support will fail to build. I have not tried this.
More on adding new langauges to the babel package: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=newlang
Something is wrong with your system /suse/werner> rpm -qf /etc/texmf/tex/generic/config/language.dat texlive-2008-12.14.noarch /suse/werner> grep -c -v '^%' /etc/texmf/tex/generic/config/language.dat 70 /suse/werner> grep ngerman /etc/texmf/tex/generic/config/language.dat ngerman-x-2008-06-18 dehyphn-x-2008-06-18.tex =ngerman-x-latest ngerman loadhyph-de-1996.tex could it be that you have overwritten language.dat by installing a foreign TeX(Live) package? Please run rpm -V texlive texlive-bin texlive-latex texlive-bin-latex and report the result.
$ rpm -V texlive texlive-bin texlive-latex texlive-bin-latex No output. $ rpm -v -V texlive texlive-bin texlive-latex texlive-bin-latex [...] ......... /etc/texmf/ls-R ......... /etc/texmf/tex ......... /etc/texmf/tex/amstex ......... /etc/texmf/tex/amstex/base ......... c /etc/texmf/tex/amstex/base/amsppt.sti ......... /etc/texmf/tex/generic ......... /etc/texmf/tex/generic/config ......... c /etc/texmf/tex/generic/config/language.dat ......... c /etc/texmf/tex/generic/config/language.def ......... c /etc/texmf/tex/generic/config/pdftexconfig.tex ......... /etc/texmf/tex/mex ......... /etc/texmf/tex/mex/base ......... c /etc/texmf/tex/mex/base/mexconf.tex ......... /etc/texmf/tex/plain ......... /etc/texmf/tex/plain/cyrplain ......... c /etc/texmf/tex/plain/cyrplain/cyrtex.cfg ......... /etc/texmf/web2c ......... c /etc/texmf/web2c/fmtutil.cnf ......... c /etc/texmf/web2c/mktex.cnf ......... c /etc/texmf/web2c/texmf.cnf ......... c /etc/texmf/web2c/updmap.cfg ......... /etc/texmf/xdvi ......... c /etc/texmf/xdvi/XDvi [...] lots of ... ... without any c or d [...] /usr/lib/texmf/doc/info/dir ......... d /usr/lib/texmf/doc/info/dvipng.info.gz ......... d /usr/lib/texmf/doc/info/dvips.info.gz ......... d /usr/lib/texmf/doc/info/eplain.info.gz ......... d /usr/lib/texmf/doc/info/fontname.info.gz ......... d /usr/lib/texmf/doc/info/kpathsea.info.gz ......... d /usr/lib/texmf/doc/info/localdir ......... d /usr/lib/texmf/doc/info/tds.info.gz ......... d /usr/lib/texmf/doc/info/texdraw.info.gz ......... d /usr/lib/texmf/doc/info/web2c.info.gz [...] This is a fresh openSUSE 11.2 installation. If you need further info, just let me know.
run as root /sbin/conf.d/SuSEconfig.texlive *or* SuSEconfig --module texlive ... this should generate the appropiate language setup. Be aware that ENABLE_SUSECONFIG="yes" should beset in /etc/sysconfig/suseconfig for this.
ENABLE_SUSECONFIG="yes" is set. Running one of the above does not fix it. Maybe I should try the following? # rm -rf /etc/texmf/tex # or rather rename. # texmf-update
Don't do this. There is *no* texmf-update *nor* tlmgr as this destroys the RPM data base on the installed files and directories. About the bug you're right. There was a change between TeX Live 2007 and TeX Live 2008. In the first version the /etc/texmf/tex/generic/config/language.dat had to been autogenerated from round about 36 other language.*.dat files for any supported language. This is done by /sbin/conf.d/SuSEconfig.texlive ... now the part of the autogeneration is already there but beside the us case no one of the other language.*.dat files. I'll attach the correct /etc/texmf/tex/generic/config/language.dat to this bug which you may copy into the same place
Created attachment 327862 [details] /etc/texmf/tex/generic/config/language.dat The initial /etc/texmf/tex/generic/config/language.dat as it should be installed. The SuSEconfig should not override this anymore as the md5 check sum does not belong anymore to this file. But nevertheless the part of /sbin/conf.d/SuSEconfig.texlive looks like this # # Create new language.dat if needed # if test $omd5lang = 0 -o \ \( $md5lang = $omd5lang -a "$md5_nt_lang" = "yes" \) then if test -n "$cnf_base" -a -e ${cnf_base}; then trap 'rm -f $tmp' 1 2 3 5 7 10 13 15 tmp=$(mktemp ${TMPDIR:-/tmp}/language.dat.XXXXXX) || exit 0 cat ${cnf_base} > $tmp for lang in ${cnf_base%/*}/language.*.dat ; do test -e $lang || break cat $lang done >> $tmp if ! cmp -s $tmp ${cnf_lang} ; then cat $tmp > ${cnf_lang} set -- $(md5sum < ${cnf_lang}) echo $1 > ${md5_lang} fmtutil-sys --byhyphen ${cnf_lang} fi rm -f $tmp trap - 1 2 3 5 7 10 13 15 fi fi you may simply remove this part.
Created attachment 327892 [details] /sbin/conf.d/SuSEconfig.texlive A changed /sbin/conf.d/SuSEconfig.texlive which should avoid the problem its self.
language.dat is still not generated correclty here. What I tried now is this: 1. remove langauge.dat 2. touch language.dat (0 byte file) 3. call new SuSEconfig.texlive language.dat remains a 0 byte file. Nothing is generated. If I call the old SuSEconfig.texlive script, language.dat is regenerated at least with the old (buggy) content. Any further ideas?
the language.dat will *not* generated anymore even in the original TeX Live 2008 tar ball ... please use the attachment #327862 [details] as replacment for /etc/texmf/tex/generic/config/language.dat then install attachment #327892 [details] as replacment for /sbin/conf.d/SuSEconfig.texlive
Ping! Any news about?
@Dr. Werner Fink After installing openSUSE 11.2 and TeXlive on my netbook I faced the same problem I had on my desktop computer, no languages besides Enlish, dumylang and nohyphenation. After replacing /etc/texmf/tex/generic/config/language.dat with your attached version and doing "sudo fmtutil-sys --all" the problem is fixed.
Are any more infos needed?
I want to add that in my Windows (MikTex) installation I have similar problem (with portuguese hyphenation). But even if I have included the similiar lines, the PDFLatex still doesn't recognizing the hyphenation. portuguese loadhyph-pt.tex =portuges uncommented in my language.dat file
Werner, I faced the very same issue on my openSUSE-11.2 machines. I replaced language.dat and SuSEconfig.texlive with the versions from this bugzilla entry. Doing that the issue was gone. Hopefully this is provides the NEEDINFO.
all users having this problem may try out the version found at http://download.opensuse.org/repositories/Publishing/
I did the same steps as Thunder Kidd at Comment #14 and my hyphenation problem from portuguese has been fixed also. Werner, what's the procedure to take this fix to the openSUSE-11.2-Update repository?
A SWAMPID is required (IMHO)
regression fix, so i would do it: +1 (once finally approved, submit fixed package + patchinfo, see Miantenance packages on opensuse.org wiki)
The SWAMPID for this issue is 30557. Please submit the patch and patchinfo file using this ID. (https://swamp.suse.de/webswamp/wf/30557)
please submit.
Request id 32394 for openSUSE:11.2
you missed submitting the patchinfo. i just submitted one with texlive,texlive-bin as PACKAGE (will be completed to all generated binary packages).
Update released for: texlive, texlive-arab, texlive-bin, texlive-bin-cjk, texlive-bin-cjk-debuginfo, texlive-bin-debuginfo, texlive-bin-debugsource, texlive-bin-devel, texlive-bin-devel-debuginfo, texlive-bin-dvilj, texlive-bin-dvilj-debuginfo, texlive-bin-jadetex, texlive-bin-latex, texlive-bin-latex-debuginfo, texlive-bin-metapost, texlive-bin-metapost-debuginfo, texlive-bin-musictex, texlive-bin-musictex-debuginfo, texlive-bin-omega, texlive-bin-omega-debuginfo, texlive-bin-tex4ht, texlive-bin-tex4ht-debuginfo, texlive-bin-tools, texlive-bin-tools-debuginfo, texlive-bin-xetex, texlive-bin-xetex-debuginfo, texlive-bin-xmltex, texlive-cjk, texlive-context, texlive-devel, texlive-doc, texlive-dvilj, texlive-jadetex, texlive-latex, texlive-latex-doc, texlive-metapost, texlive-musictex, texlive-nfs, texlive-omega, texlive-ppower4, texlive-tex4ht, texlive-tools, texlive-xetex, texlive-xmltex Products: openSUSE 11.2 (debug, i586, x86_64)