マクロツイーター

はてダから移行した記事の表示が崩れてますが、そのうちに直せればいいのに(えっ)

ギリシャ語ネタのための LaTeX

↑のような、ギリシャ語的なネタ画像を LaTeX で作りたい人のために、古典ギリシャ語の文章のための、現状での標準的な設定の例を挙げておく。もちろん、ネタでない真面目なギリシャ語の文書を作る場合にも通用する。「今ギリシャ語するなら XeLaTeX か LuaLaTeX に決まってるだろ常(ry」という意見もあるだろうが、ここでは敢えて 8 ビット欧文の LaTeXlatex または pdflatex)を使うことにする。

ギリシャ語だけの文書

以前の記事で別の話題のついでに触れたことがあるが、ここで改めて、「現状で標準的な」設定方法を示しておく。多言語設定の基本に忠実に従って「inputenc で utf8」「fontenc で LGR」「Babel でギリシャ語」を指定すればよい。フォントを変えたい人は、リンク先の記事も見ておくといいだろう。

% 文字コードUTF-8
% (pdf)latex組版
\documentclass[a4paper]{article}
% (欧文の)UTF-8 での入力を行う
\usepackage[utf8]{inputenc}
% ギリシャ語出力のためLGRを有効にする
\usepackage[LGR,T1]{fontenc}
% Computer Modern のままT1にするならlmodernを使うべき
\usepackage{lmodern}
% Babel で古典ギリシャ語を基底言語に指定する
\usepackage[greek]{babel}
\languageattribute{greek}{polutoniko}
\begin{document}
Ὁ βίος βραχὺς, ἡ δὲ {\TeX}νη μακρὴ.
\end{document}
「英語の文書」にギリシャ語を混ぜる

先の例では文書全体がギリシャ語だったので、Babel のオプションに greek のみを指定したが、この状態ではラテン文字を普通に入力することができない(ギリシャ文字に化けてしまう)。英語がメインの文書の中に時々ギリシャ語が現れる、という場合は、Babel のオプションに greek,english のように複数の言語を指定する。ここで一番最後に指定したものが基底言語(その文書のメインの言語)と見做される。文書内で「言語を切り替える」場合は、\foreignlanguage 命令や otherlanguage* 環境を利用する。

% 文字コードUTF-8
% (pdf)latex組版
\documentclass[a4paper]{article}
% この辺りは先と同じ
\usepackage[utf8]{inputenc}
\usepackage[LGR,T1]{fontenc}
\usepackage{lmodern}
% ギリシャ語も使うが、基底言語は英語
% →オプション english を最後に書く
\usepackage[greek,english]{babel}
\languageattribute{greek}{polutoniko}
\begin{document}
It's all Greek to me!

% \foreignlanguage 命令で言語を切り替える
\foreignlanguage{greek}{%
Ὁ βίος βραχὺς, ἡ δὲ {\TeX}νη μακρὴ.}
\end{document}
「日本語の文書」にギリシャ語を混ぜる

日本語とギリシャ語が混在していて、かつ日本語の組版pTeX 系エンジンを使いたい場合。pTeX 系といっても、pLaTeX ではギリシャ語の扱いが極めて煩雑なので、現状では upLaTeX を使うのが適当であろう。「ギリシャ文字を欧文扱いに変更する(pxcjkcat)」「Babel で基底言語を日本語にする(pxbabel)」という設定を加えている。

% 文字コードUTF-8
% uplatex で組版
\documentclass[a4paper,uplatex]{jsarticle}
% ギリシャ文字を欧文扱いにする
\usepackage[prefernoncjk]{pxcjkcat}
% この辺りは先と同じ
\usepackage[utf8]{inputenc}
\usepackage[LGR,T1]{fontenc}
\usepackage{lmodern}
\usepackage[greek]{babel}
\languageattribute{greek}{polutoniko}
% 基底言語を日本語にする
\usepackage[main=japanese]{pxbabel}
\begin{document}
\begin{flushleft}
人生は短く、{\TeX}は長し。\\
\foreignlanguage{greek}{%
Ὁ βίος βραχὺς, ἡ δὲ {\TeX}νη μακρὴ.}
\end{flushleft}
\end{document}
余談

なるほど。つまり、TeX は(ry