rm -rf /*

忘れようとしても思い出せない

UbuntuとDebianにPandocとTeX Liveを導入

最近はWordにいろいろ書くようにしていたが、数式を使うようになった途端にめんどくさくなったのでMarkdownに回帰した。昔と状況が違うので、VS codePandocで環境を構築。特にTeX Liveの導入に苦労したので覚え書きを残す。

Pandocの実行環境はWSL2(Windows 10)のUbuntuとCrostini(Chrome OS)のDebianに構築した。

Pandocのインストール

特にこだわりがなければ、以下のコマンドでディストリビューションの公式レポジトリからaptでインストールするだけで良い。

$ sudo apt-get install pandoc

TeX Liveのインストール

ディストリビューションの公式レポジトリからaptでインストールしたものの、なんだか挙動がいまいちなことがあったので調べたところ「TeX Liveはローリングリリースなので、各ディストリビューションの公式レポジトリのものは古い」という記述を見つけた。TeX Liveの公式サイトからインストールスクリプトをダウンロードしてインストールすることにした。

すでにインストールしたTeX Liveは以下のサイトの方法でアンインストールした。

How to remove everything related to TeX Live for fresh install on Ubuntu?

私の場合はaptでインストールしただけでなく、すでにいろんなことを試していたが以下のコマンドでだいたいきれいにアンインストールできた。

$ sudo apt-get purge texlive*
$ rm -rf ~/.texlive*

その後、以下のコマンドでTeX Liveを公式のスクリプトでインストールした。

$ wget http://ftp.jaist.ac.jp/pub/CTAN/systems/texlive/tlnet/install-tl-unx.tar.gz
$ tar xzf install-tl-unx.tar.gz
$ cd install-tl-20240808/
$ sudo ./install-tl

インストール後はスクリプトの指示通にしたがって以下の環境変数を.bashrcに書いてパスを通す。エディタを使わず書き込むのであれば以下のようにechoで書けば良い。

$ echo 'export MANPATH="$MANPATH:/usr/local/texlive/2024/texmf-dist/doc/man"' >> ~/.bashrc
$ echo 'export INFOPATH="$INFOPATH:/usr/local/texlive/2024/texmf-dist/doc/info"' >> ~/.bashrc
$ echo 'export PATH="$PATH:/usr/local/texlive/2024/bin/x86_64-linux"' >> ~/.bashrc

TeX Liveのパッケージマネージャーのtlmgrの実行にはスーパーユーザー権限が必要になるが、スーパーユーザーでは上記の環境変数が反映されていないので、ユーザーのホームディレクトリで以下のようにして対処する。

$ sudo su
# source .bashrc
# tlmgr

aptでインストールする場合は以下の記事で紹介されているエラーに注意すること。

Ubuntu22.04にtexliveをapt installする際にPregenerating ConTeXt MarkIV format. This may take some time...で停止する不具合を回避する方法

テンプレートのインストール

Pandoc LaTeX templateのEisvogelを使用したかったので、GitHubのリリースページからダウンロード。(このときはEisvogel-2.4.2.zip )

アーカイブを展開して、展開したディレクトリで以下のコマンドを実行してテンプレートをインストール。

$ cp eisvogel.latex ~/.pandoc/templates/

公式サイトのインストールガイドに書かれている以下のパッケージをtlmgrでインストール。

$ sudo su
# source .bashrc
# tlmgr install soul adjustbox babel-german background bidi collectbox csquotes everypage filehook footmisc footnotebackref framed fvextra letltxmacro ly1 mdframed mweights needspace pagecolor sourcecodepro sourcesanspro titling ucharcat ulem unicode-math upquote xecjk xurl zref

Pandocの実行

テンプレートにeisvogelを指定して実行。日本語フォントの表示で困ったが'-V CJKmainfont=IPAexGothic'とするだけで対処できた。Mathjaxの数式ブロック内の'//'で改行には対応できなかった。

pandoc sample.md -o sample.pdf -f markdown --pdf-engine=lualatex  --template eisvogel --listings -V CJKmainfont=IPAexGothic --mathjax