通常の Babel 用のものに加えて(*)の記述が必要です。
\documentclass[a4paper,12pt,uplatex]{jsarticle} \kcatcode`α=15 (*) \kcatcode`ἀ=15 (*) \kcatcode`“=15 (*) \usepackage{ucs} (*) \usepackage[utf8x]{inputenc} (*) \usepackage[greek,english,japanese]{babel} \languageattribute{greek}{polutoniko}
\kcatcode`“=15 の記述を加えると和文の「—」(全角ダーシ)や「…」など、2000から206Fの範囲にある文字が欧文扱いになります。このとき、たとえば「—」(全角ダーシ)は組版の際に unicode パッケージによってコマンドに置き換えられるので、okumacro パッケージで定義されている \—— を使おうとするとエラーになります。この場合は \—— を他のコマンドで置き換えます。