Windows7でLaTeX環境構築(Xyzzy,KaTeX,LaTeXmkなど) | TeX覚書

TeX覚書

TeX設定関係を忘れないためのメモ

久々の更新

New PC導入なのでMemo

・TeXエディタは軽さと日本語環境とoutline-tree2の利便性からxyzzyをとりあえず導入

TeXインストーラkakuto3利用で楽する
TeX,dviout,gsのインストール先はC:\usr\local\

xyzzyをダウンロードして解凍
置き場所はD:\
環境変数XYZZYHOMEはD:\xyzzy
xyzzy.exeのショートカットをデスクトップなどに作成

.xyzzyを$HOMEとなるD:\xyzzyに作成
内容はxyzzyのwikiや物理のかぎしっぽなど参照
KaTeXやoutline-tree2のインストールにNetinstaller利用するのでその辺をあらかじめ記入(文末)

caldxで楽してnetinstaller環境を整える(Windows7でもcaldxは使える)

Netinstallerをダウンロード
解凍して中のniフォルダをD:\xyzzy\site-lispへ放り込む

xyzzy.exeから起動
M-x netinstaller
a
http://osuneko.at.infoseek.co.jp/xyzzy/packages.l (雄猫のがらくた置き場)
KaTeXとEmacslisp移植キットを i でインストール
http://xyzzy.s53.xrea.com/ni/ni.l (Msatoshi's xyzzy extend lisps)
treeviewdll を i でインストール
http://ohkubo.s53.xrea.com/xyzzy/packages.l (雑記帳)
win-window, color, buf2html, treeview, outlinetree2 を i でインストール
xyzzy終了

Activeperlをダウンロード,解凍,インストール

LaTeXmkをダウンロード
解凍してlatexmk.batとlatexmk.plをTeXのパスが通ったところに放り込む(C:\usr\local\tex\binなど)
latexmk.plを開いて(xyzzyなら),
366行目の$latex = 'latex %O %S'; を $latex = 'platex %O %S'; へ
384行目の$bibtex = 'bibtex %O %B'; を $bibtex = 'pbibtex %O %S'; へ
397行目の$makeindex = 'makeindex %O -o %D %S'; を $makeindex = 'mendex %O -o %D %S': へ
402行目の$dvipdf = 'dvipdf %O %S %D'; を $dvipdf = 'dvipdfmx %O %S %D'; へ
406行目の$dvips = 'dvips %O -o %D %S'; を $dvips = 'dvipsk %O -o %D %S'; へ

.latexmkrcを$HOMEとなるD:\xyzzyに作成し,以下記入
$latex = 'platex';
$latex_silent = 'platex -interaction=batchmode';
$bibtex = 'pbibtex';
$makeindex = 'mendex';
$dvips = 'dvipsk';
$pdflatex = 'pdflatex'
$dvipdf = 'dvipdfmx_call';
$dvi_previewer = 'start dviout'; # -pv option

xyzzy.exe起動
ツールバーからoutline-treeの起動

xyzzy + KaTeX + outline-tree2 + LaTeXmk の設定終了

以上の内容も以下の.xyzzy もいろいろなところにお世話になってます
物理のかぎしっぽ
XyzzyWiki
TeX Wiki
TeXを使おう
などなど

-----------------------------------------------------------------------------------------------
;;選択時はWindows風に
(load-library "winkey")
;;全選択を C-a に割り当てる
(global-set-key #\C-a 'selection-whole-buffer)

;;Java
(require "java")
(setq java-indent-level 4)
;;インデントをタブで指定
(setq ed::*java-indent-tabs-mode* t)

;;ネットインストーラー
;;あとで紹介しているNetInstallerをインストールすること
(require "ni/setup")
;;ネットインストーラーの自動設定を利用する
(ni-autoload)

;; outline-tree 2
(require "outline-tree/outline-tree")

;;; extended-key-translate-table 設定
(set-extended-key-translate-table exkey-C-tab #\F23) ; focus
(set-extended-key-translate-table exkey-C-return #\F20) ; reload

;;; Editor <-> TreeView
;; Editor -> TreeView
(require "treeview/setup")
(global-set-key #\F23 'treeview::treeview-focus-treeview)
;; TreeView (outline-tree) -> Editor
(require "outline-tree/outline-tree")
(define-key outline-tree2::*outline-tree-map*
#\F23 'treeview::treeview-focus-editor)

;;; outline 更新
(global-set-key #\F20 'outline-tree2::outline-tree-create-outline-and-select-node)
(define-key outline-tree2::*outline-tree-map*
#\F20 'outline-tree2::outline-tree-create-outline-and-select-node)

;;; outline-tree LaTeX
(in-package "outline-tree2")
(defun my-outline-tree-get-create-outline-function (buffer)
(let ((buffer-name (buffer-name buffer))
(buffer-mode (save-excursion (set-buffer buffer) buffer-mode))
(mode-name (save-excursion (set-buffer buffer) mode-name)))
(cond
((and (symbolp 'outline-tree2::outline-tree-create-outline-LaTeX)
(fboundp 'outline-tree2::outline-tree-create-outline-LaTeX)
(string-matchp "\\.tex$" buffer-name))
'outline-tree2::outline-tree-create-outline-LaTeX)
(t nil))))
(setq *outline-tree-get-default-create-outline-function-advice-func*
'my-outline-tree-get-create-outline-function)

;;; ロードパスに KaTeX のあるディレクトリを追加
(push (merge-pathnames "site-lisp/katex" (si:system-root)) *load-path*)
;;; elispパッケージを有効にする
(require "elisp")
;;; 拡張子と関数の関連付け
;;; (拡張子 “.ins”,“.ini” は
;;; Windows 上で TeX 関連以外のプログラムと関連付けられており,
;;; 拡張子 “.def”,“.cfg” は
;;; TeX 関連以外のプログラムでもよく使われているので,
;;; この4つの拡張子は含めていない。)
(push '("\\.\\(tex\\|aux\\|toc\\|lof\\|lot\\|idx\\|ind\\|glo\\|gls\\|bbl\\|sty\\|cls\\|clo\\|dtx\\|fdd?\\|ltx\\|dfu\\|ldf\\|4ht\\)$" . elisp::katex-mode) *auto-mode-alist*)
;;; オートロード
(autoload 'elisp::katex-mode "katex" t)
;; タイプセットを pTeX で
(setq elisp::tex-command "platex")
;; dviout に PATH を通しておらず,C:\dviout\dviout をプレビューに使いたい場合
(setq elisp::dvi2-command "c:\\usr\\local\\dviout\\dviout")
;; M-RET を有効に
(set-extended-key-translate-table exkey-M-return #\M-RET)
;; ツールバー表示
(setq elisp::*KaTeX-use-toolbar* t)
;; ショートカット
(defun user::katex-mode ()
(interactive)
(elisp::katex-mode))
;; jsarticle をデフォルトに
;(setq elisp::KaTeX-default-documentclass "jsarticle")
;; 自動改行なし
(add-hook 'elisp::katex-mode-hook
#'(lambda ()
(auto-fill-mode nil)))

;; pbibtex を使う
(setq elisp::bibtex-command "pbibtex")

;; latexmk
(setq elisp::tex-command "latexmk.bat -pdfps -pv")
-----------------------------------------------------------------------------------------------