計算物理屋の研究備忘録

Linux, Cygwin, Mac, zsh, emacs等の使い方、設定などのメモ

MacにBasicTex (2018)を入れる

目次

BasicTex

MacTeXはフルで2G超えてインストールが大変だったり、MacTexで入るGhostscriptに問題もあるらしいので、最小限構成のBasicTexを入れることにする。BasicTexは余計なGUIアプリなどが入っていない。日本語環境やLatexitなどはあとで入れればいい。

インストール

BasicTex

Tex Wkiに書いてあるようにするだけ。caskで入れるといい。 BasicTeX - TeX Wiki

$ brew cask install basictex
$ sudo tlmgr update --self --all
$ sudo tlmgr paper a4
$ sudo tlmgr install collection-langjapanese

Ghostscript

Ghostscriptはhomebrewでインストールする。

$ brew install ghostscript

MacTexで入るバージョン9.23は脆弱性があるらしい。homebrewではバージョン9.25が入った(2018/11/26)。

Sphinxを使うときに必要になるもの

最小構成では色々足りなくてSphinxで数式を使うときにエラーがでる。以下のものを入れる。

  • ucs
  • anyfontsize
  • dvipng
$ sudo tlmgr install ucs
$ sudo tlmgr install anyfontsize
$ sudo tlmgr install dvipng

フォント

---------- 2020/03/05 追記 ----------
フォントが無くてエラーが出るような時はフォントも追加しておく

$ sudo  tlmgr install collection-fontsrecommended

---------- 追記終了 ----------

LaTeXiT

数式の画像を出力できるLaTeXiTも入れておく。caskで。

$ brew cask install latexit

Skim

SyncTeXに対応したPDFビューワのSkimを入れる。pdfやdviなどリアルタイムで確認できる。caskで入れる。

$ brew cask install skim

環境設定 --> 同期する --> ファイルの変更をチェック自動的にリロードするにチェックを入れて、PDF-TeX 同期サポートの初期値をEmacsにしておく

Emacsの設定

YaTeXを使う。

YaTeXの設定

基本的にはpdflatexを使用して、日本語を使う場合はtexソースファイルの先頭に

%#!platex -synctex=1

と書くことでタイプセットを指定して、日本語の時だけplatexを使う

設定ファイル

---------- 2019/12/28 追記 ----------
use-packageを使い始めて、init.elの設定を書き換えた。

with use-packae

;;
;; YaTeX (melpa)
;;
(use-package yatex
  :ensure t
  :pin melpa
  :init
  (setq YaTeX-inhibit-prefix-letter t)    ;; yatex.elを読み込む前に設定が必要らしい
  :mode
  (("\\.tex\\'" . yatex-mode)
   ("\\.ltx\\'" . yatex-mode)
   ("\\.cls\\'" . yatex-mode)
   ("\\.sty\\'" . yatex-mode)
   ("\\.clo\\'" . yatex-mode)
   ("\\.bbl\\'" . yatex-mode))
  :config
  (setq YaTeX-kanji-code nil)
  (setq YaTeX-latex-message-code 'utf-8)
  (setq YaTeX-use-AMS-LaTeX t)
  (setq YaTeX-dvi2-command-ext-alist
        '(("TeXworks\\|texworks\\|texstudio\\|mupdf\\|SumatraPDF\\|Preview\\|Skim\\|TeXShop\\|evince\\|okular\\|zathura\\|qpdfview\\|Firefox\\|firefox\\|chrome\\|chromium\\|Adobe\\|Acrobat\\|AcroRd32\\|acroread\\|pdfopen\\|xdg-open\\|open\\|start" . ".pdf")))
  ;;(setq tex-command "platex -synctex=1")
  (setq tex-command "pdflatex -synctex=1")
  (setq dvi2-command "xdvi")
  (when (equal system-type 'darwin)     ;; for Mac only
    (setq dvi2-command "/usr/bin/open -a Skim")
    (setq tex-pdfview-command "/usr/bin/open -a Skim"))
  (setq bibtex-command "pbibtex")
  (setq dviprint-command-format "dvipdfmx")
  (add-hook 'yatex-mode-hook '(lambda () (auto-fill-mode -1)))) ;; 自動で改行しない


;;
;; reftex (default)
;;
(use-package reftex
  :hook (yatex-mode . reftex-mode))

---------- 追記終了 ----------

;;
;; YaTeX
;;
(autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t)
(setq auto-mode-alist
      (append '(("\\.tex$" . yatex-mode)
        ("\\.ltx$" . yatex-mode)
        ("\\.cls$" . yatex-mode)
        ("\\.sty$" . yatex-mode)
        ("\\.clo$" . yatex-mode)
        ("\\.bbl$" . yatex-mode)) auto-mode-alist))
(setq YaTeX-inhibit-prefix-letter t)  ;; screenのコマンドC-tとかぶる。tじゃなくnil
(setq YaTeX-kanji-code nil)
(setq YaTeX-latex-message-code 'utf-8)
(setq YaTeX-use-AMS-LaTeX t)
(setq YaTeX-dvi2-command-ext-alist
      '(("TeXworks\\|texworks\\|texstudio\\|mupdf\\|SumatraPDF\\|Preview\\|Skim\\|TeXShop\\|evince\\|okular\\|zathura\\|qpdfview\\|Firefox\\|firefox\\|chrome\\|chromium\\|Adobe\\|Acrobat\\|AcroRd32\\|acroread\\|pdfopen\\|xdg-open\\|open\\|start" . ".pdf")))
;;(setq tex-command "platex -synctex=1")
(setq tex-command "pdflatex -synctex=1")
(setq dvi2-command "xdvi")
(when (equal system-type 'darwin)     ;; for Mac only
  (setq dvi2-command "/usr/bin/open -a Skim")
  (setq tex-pdfview-command "/usr/bin/open -a Skim"))
(setq bibtex-command "pbibtex")
(setq dviprint-command-format "dvipdfmx")


(add-hook 'yatex-mode-hook '(lambda () (auto-fill-mode -1))) ;; 自動で改行しない


;;
;; texファイルを開くと自動でRefTexモード
;;
;(add-hook 'latex-mode-hook 'turn-on-reftex)
(add-hook 'yatex-mode-hook 'turn-on-reftex)

Macの時だけSkimと連携するようにしている。