1. はじめに
Windows 側でも構わないのですが,基本的には Emacs から利用するので,WSL 側に導入しました.プロキシ環境だと WSL にインストールする方が面倒が少ないと思います.また,随時 tlmgr
でアップデートするので,Package (apt) を利用しないことにします.そろそろ,環境も整ってきたので WSL
シリーズも終わりかもしれません.手間取った作業があれば,備忘録代わりに Qiita
にメモします.
2. TeX Live 2018
ISO
イメージのダウンロード
私の環境からは,ネットワークインストールすると結構な時間がかかるので,DVD イメージをダウンロードしてインストールします(数分でダウンロードが終わりました).
TeX Live の on DVD
→ downloading the TeX Live ISO image and burning your own DVD
→ download from a nearby CTAN mirror
→ texlive2018-20180414.iso
からダウンロードする(20180414
は変わると思います).
ISO イメージのマウント
WSL 上でマウントできなかったので,Windows 側でマウントする(右クリック → マウント).私の環境では,E ドライブにマウントされたので,WSL 上にマウントポイントを作成してマウントする.
$ sudo mkdir -p /mnt/e
$ sudo mount -t drvfs E: /mnt/e
インストール
SSD の容量が 500 GB と心許ないので,scheme-small
でインストールして,足りないものは,tlmgr
から個別に導入します.
$ sudo /mnt/e/install-tl
メニューが立ち上がるので【Schme】から s
→c
→r
,【Collections】から c
→x
→m
→r
,【Options】o
→p
→d
→s
→r
に変更後,i
でインストールする.
upLaTeX
が使えればいいので,この設定でインストールしていますが,LuaLaTeX
をタイプセットするには不足していると思います.もう少し早くなれば LuaLaTeX
に移行したいのですが…….
設定
- PATH の設定
.bashrc
に PATH
を通してもいいのですが,今回は /usr/local/bin
にシンボリックリンクをはることにします.ついでに用紙の設定もします.
$ sudo /usr/local/texlive/2018/bin/x86_64-linux/tlmgr path add
$ sudo tlmgr paper a4
$ sudo umount /mnt/e
- ダミーパッケージの導入
詳しい内容は,TeX Wiki を確認してください.
WSL では,SYSVIPC
が完全(?)に実装されていないので,https://github.com/Microsoft/WSL/issues/2465 を参考に,fakeroot
を fakeroot-tcp
に変更します.これをしないと,equivs-build
で止まります.
$ sudo update-alternatives --set fakeroot /usr/bin/fakeroot-tcp
なぜダミーパッケージに freeglut3
が必要なのかわからないのですが,TeX Live
の for TL 2018 では依存しているので導入しておきます.
$ sudo apt install freeglut3
下記の手順でダミーパッケージを導入します.
$ cd ~/downloads/src
$ sudo -E apt install equivs
$ curl -O http://www.tug.org/texlive/files/debian-equivs-2018-ex.txt
$ equivs-build debian-equivs-2018-ex.txt
$ sudo dpkg -i texlive-local_2018-1_all.deb
- Tex Live のアップデート
$ sudo tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet
$ sudo -E tlmgr update --self
$ sudo -E tlmgr update --list
$ sudo -E tlmgr update --all
必要なものを追加でインストールします.フォント関連は省いています.
$ sudo -E tlmgr install pdfcrop latexmk dvipng
$ sudo -E tlmgr path add
3. Emacs の設定
PDF Tools の導入
pdf-tools を使ってみます.epdinfo
のビルドに必要なパッケージを導入する.
$ sudo apt install automake autoconf
$ sudo apt install libpng-dev zlib1g-dev libpoppler-glib-dev libpoppler-private-dev
$ sudo apt install imagemagick
init.el
などに下記内容を追加して,pdf-tools
を use-package
でインストールする.
;;; pdf-tools
(use-package pdf-tools
:ensure t
:magic ("%PDF" . pdf-view-mode)
:config
(pdf-tools-install)
(define-key pdf-view-mode-map (kbd "C-s") 'isearch-forward)
(setq pdf-view-resize-factor 1.1)
)
-
M-x pdf-tools-install RET
でepdfindo
をコンパイル -
M-x pdf-info-check-epdfinfo RET
でテスト
AUCTeX の導入
init.el
などに下記内容を追加してインストールする.今回は,AUCTeX から Latexmk を使わない設定をしています(どうしても,View との連携がうまくいかなかったので).
(use-package tex-jp
:ensure auctex
:defer t
:mode ("\\.tex\\'" . japanese-latex-mode)
:custom
(TeX-PDF-mode t)
(TeX-PDF-from-DVI "Dvipdfmx")
:config
(setq TeX-parse-self t
;; japanese-TeX-engine-default 'uptex
TeX-clean-confirm nil
TeX-auto-save t
TeX-auto-local (expand-file-name "auctex/auto" temp-dir)
TeX-style-local (expand-file-name "auctex/style" temp-dir)
TeX-auto-untabify t
TeX-view-program-selection '((output-pdf "PDF Tools"))
TeX-electric-sub-and-superscript t
TeX-electric-math '("\\(" . "\\)")
TeX-quote-after-quote t
TeX-source-correlate-mode t
TeX-source-correlate-method 'synctex
TeX-source-correlate-start-server t
font-latex-fontify-sectioning 1.0
font-latex-fontify-script nil
font-latex-script-display nil)
(add-hook 'LaTeX-mode-hook 'TeX-PDF-mode)
(add-hook 'LaTeX-mode-hook 'LaTeX-math-mode)
(add-hook 'TeX-after-compilation-finished-functions #'TeX-revert-document-buffer)
)
-
C-c C-a
でタイプセットとプレビュー -
C-c C-g
でソースの場所を表示
【補足】
'temp-dir'は別途下記のように設定しています.
(defvar temp-dir (expand-file-name "temp/" user-emacs-directory))
- おまけ
org-mode
で PDF を管理.
Using Emacs 44 の動画を見てください.
(use-package org-pdfview
:ensure t
)
PDF
の 書き出しが面倒なので,Organizing my papers in org-mode のシェルスクリプトを変更して,PDF を管理します(メモやら感想など).
実際はもう少し変更してますが,下記のスクリプトは相対パスから絶対パスに変更したものです.
#!/bin/sh
#
# make-org -- generates an org-mode file from a directory of PDFs
#
# AUTHOR:
# Jon-Michael Deldin
# USAGE:
# cd ~/path/to/papers && make-org > papers.org
#
echo "#+TITLE: Research Papers"
echo "#+STARTUP: align hidestars indent lognotedone"
echo
for f in $(find `pwd` -name '*.pdf'); do
name=$(basename $f .pdf)
path=$(echo $f | sed 's/ /%20/') # encode spaces as %20
echo "* TODO $name :unread:"
echo
echo "[[pdfview:$path::1][$name]]"
echo
done
(C-u C-c C-q
to realign the tags)