唐突にTexLive 2023の環境を使う。
パスを通して使いやすくする
各種コマンドは、私の環境では以下のディレクトリにインストールされている。
/usr/local/texlive/2023/bin/universal-darwin
Emacsから使用しやすくするためパスを通す。
(add-to-list 'exec-path
"/usr/local/texlive/2023/bin/universal-darwin")
(setenv "PATH" (string-join exec-path ":"))最小のTeX
まずは小さな TeX 形式のファイルを作成する。
Hello, world!
\end\end は常に必要だ。おそらくこれが最小の TeX のように思う。
この最小の TeX を変換してみよう。 tex というコマンドがある。このコマンドを使い、texファイルをdviファイルに変換できる。
tex simple.texThis is TeX, Version 3.141592653 (TeX Live 2023) (preloaded format=tex) (./simple.tex [1] ) Output written on simple.dvi (1 page, 212 bytes). Transcript written on simple.log.
DVIとEmacs
DVIは、文書の見た目を画像形式・表示デバイス・プリンタにまったく依存せず保存する1。 tex は、 TeX 形式で記述されたファイルを読み込み、DVIファイルを出力する。
DVIはフォントを格納しないため、フォントはシステムに予めインストールする必要がある。DVIやその他のツールの説明は、pTexのドキュメントが役に立つかもしれない2。
Emacsはdoc-modeによって、DVIファイルを表示できるかもしれないが、僕の環境ではそれはできなかった。少しインターネットを探すと、dvi-view-modeなるものを見つけた。これは dvipng によってdviをpngに変換させた後、バッファに張り付けるもののようだ。ただし、これも上手く動かす事ができなかったため、手動で dvipng を実行し、PNGファイルを開き確認する事にした。 dvi-view.el は直接curlでダウンロードして、Emacs Lispを評価した。
curl -o dvi-view.el https://www.emacswiki.org/emacs/download/dvi-view.elhttps://www.emacswiki.org/emacs/download/dvi-view.el
texdoc
TeX のドキュメントを参照するためのコマンドとして texdoc が提供されている。
TeXのプリミティブ
TeX には数多くのプリミティブのコマンドがある。 TeX のオンラインエディタ overleaf のドキュメントは、プリミティブの一覧を掲載している3。ここではいくつかのプリミティブの挙動を確認する。
文字列操作
簡単な例から始めよう。記述している英文字列を全て大文字や小文字にする場合、=\uppercase= や \lowercase を使用する。
\uppercase{Hello, world!}
\lowercase{Hello, world!}
\endこのファイルを tex コマンドで DVI に変換した後、 PNG に変換する。
tex primitive-text-manipulation.tex
dvipng primitive-text-manipulation.dvigこれは次のような画像となる。

日本語を含める
初期設定のままでは、日本語などの文字は表示できないだろう。 \setmainfont でフォントを設定する必要がある。
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Hiragino Mincho ProN}
\begin{document}
こんにちは
\end{document}また tex や latex では、これらの設定を正しく処理できない。 xelatex や lualatex を使う事で、フォントの設定を正しく読み込める。
xelatex char.texまたは
lualatex char.texhttps://ja.wikipedia.org/wiki/DVI_(%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88)