唐突に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.tex
This 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.el
https://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.tex
https://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)