Apologies for bug reporting here, but thought I might as well. My current banner is:
$ pdflatex -version | grep 'TeX Live'
pdfTeX 3.14159265-2.6-1.40.15 (TeX Live 2014)
The problem seems to be described in Printing sentence in ancient Greek - comp.text.tex, and in my case stems from here: Getting Texlive version in pdflatex?; regardless of which example I try, say:
\documentclass{article}
\def\gettexliveversion#1(#2 #3 #4#5#6#7#8)#9\relax{#4#5#6#7}
\edef\texliveversion{\expandafter\gettexliveversion\pdftexbanner\relax}
% \usepackage{unravel}
% [Printing sentence in ancient Greek - Google Groups](https://groups.google.com/forum/?_escaped_fragment_=topic/comp.text.tex/ajGFiDqpvW0#!topic/comp.text.tex/ajGFiDqpvW0)
% fail at step 16200 (16190)
% \unravel{
\usepackage[greek,english]{babel}
\usepackage[utf8]{inputenc}
\ifnum\texliveversion<2013
\usepackage[LGRx,T1]{fontenc}
\else
\usepackage[T1]{fontenc}
\fi
% }
\listfiles
\begin{document}
The starting verse of the Iliad is
\begin{quotation}\greektext
Μῆνιν ἄειδε, θεά, Πηληιάδεω Ἀχιλῆος
\end{quotation}
and it's really great.
\end{document}
... it fails with:
Package babel Warning: No hyphenation patterns were preloaded for
(babel) the language `greek' into the format.
(babel) Please, configure your TeX system to add them and
(babel) rebuild the format. Now I will use the patterns
(babel) preloaded for english instead on input line 44.
! Undefined control sequence.
l.50 ...\bbl@monogreek \bbl@monogreek=\l@monogreek
If I keep on pressing ENTER at each error, eventually it compiles a PDF, and the listfiles output is:
*File List*
article.cls 2007/10/19 v1.4h Standard LaTeX document class
size10.clo 2007/10/19 v1.4h Standard LaTeX file (size option)
babel.sty 2014/09/25 3.9l The Babel package
greek.ldf 2014/09/18 v1.9b Greek support for the babel system
lgrenc.def 2013/12/02 v0.11.2 LGR Greek font encoding definitions
greek-fontenc.def 2013/11/28 v0.11 Common Greek font encoding definitions
english.ldf 2012/08/20 v3.3p English support from the babel system
inputenc.sty 2014/04/30 v1.2b Input encoding file
utf8.def 2008/04/05 v1.1m UTF-8 support for inputenc
t1enc.dfu 2008/04/05 v1.1m UTF-8 support for inputenc
ot1enc.dfu 2008/04/05 v1.1m UTF-8 support for inputenc
omsenc.dfu 2008/04/05 v1.1m UTF-8 support for inputenc
lgrenc.dfu 2014/09/14 1.5 UTF-8 support for Greek
fontenc.sty
t1enc.def 2005/09/27 v1.99g Standard LaTeX file
lgrcmr.fd 2013/09/01 v1.0 Greek European Computer Regular
***********
The comp.text.tex thread actually mentions:
Actually, to get this far I edited
/usr/share/texlive/texmf-local/texmf-compat/tex/latex/greek.ldfreplacing\ifx\l@monogreek\@undefined \adddialect\@monogreek 0\fi \ifx\l@ancientgreek\@undefined \adddialect\@ancientgreek 0\fiby
\ifx\l@monogreek\@undefined \adddialect\l@monogreek 0\fi \ifx\l@ancientgreek\@undefined \adddialect\l@ancientgreek 0\fi...
The second version has
\l@monogreekin the second line (for\@monogreek), and a similar change in the fourth line.After the change my problems go away.
For me, that snippet is in /media/texlive/2014/texmf-dist/tex/generic/babel-greek/greek.ldf, and contains:
...
\ProvidesLanguage{greek}
[2014/09/18 v1.9b Greek support for the babel system]
%% File `babel-greek.dtx'
...
\ifx\l@greek\@undefined
\@nopatterns{greek}
\adddialect\l@greek 0\fi
\ifx\l@monogreek\@undefined
\adddialect\@monogreek 0\fi
\ifx\l@ancientgreek\@undefined
\adddialect\@ancientgreek 0\fi
Clearly, it should be \adddialect\l@monogreek, not \adddialect\@monogreek as it is; and indeed, when I make that change as well, the document compiles just fine.
The thing is this: I installed TexLive from scratch (install-tl), tried to compile the given MWE, it fails with given error - had to hack babel-greek/greek.ldf as described to get it to compile. So, there's either faulty code in greek.ldf and it's a bug -- or I miss some package, and Latex cannot tell me which with the usual "file not found" message. Since no one else can reproduce this error, it is probably not a bug - but how do I find what I am missing, then?
babelis handled by the LaTeX team so any issues should be reported to http://latex-project.org/bugs.html. – Joseph Wright Oct 09 '14 at 05:59greek.ldfmanually? – sdaau Oct 09 '14 at 06:23.ldffile is wrong here (I have\ifx\l@monogreek\@undefined\adddialect\@monogreek 0\fiand so on, and I think this looks right). What I do wonder is about file paths: have you got mismatched files. Can you post the part of your.logfile which shows the various files being loaded so we can see the full paths? – Joseph Wright Oct 09 '14 at 07:18.logsay? I haveBabel <3.9l> and hyphenation patterns for 79 languages loaded.– Joseph Wright Oct 09 '14 at 07:21greek.ldfto its original contents, and rebuilt the test in OP (so it now fails, and I keep pressing ENTER) - a full paste of the log file, tuned to the path given in OP, is here: http://pastebin.com/x2QMVSL0 ; the log file says "Babel <3.9l> and hyphenation patterns for 2 languages loaded." - this looks like it's the error! Thoughts? – sdaau Oct 09 '14 at 07:32less $(kpsewhich language.dat); and the full contents of that file as I have it are on http://pastebin.com/waaen1v2 ; nothing in there but=usenglishand=american; this is likely the problem (related to what Babel says in log file). What can I do to add greek to this, now? – sdaau Oct 09 '14 at 07:36