修論のためのLaTeX設定

そろそろ修論を書こうかと思ったら、いつのまにかLaTeXEmacsの設定をしてました。こういう日もあっていいよね。

要約

hyperrefパッケージによるハイパーリンク機能

目次から、その項目まで移動するのが面倒です。
ですので、hyperrefパッケージを使って、目次にハイパーリンクを貼りました。目次をクリックすると、その項目まで移動できます。

% プリアンブルに追加する
\usepackage[dvipdfm,
  colorlinks=false,
  bookmarks=true,
  bookmarksnumbered=false,
  pdfborder={0 0 0},
  bookmarkstype=toc]{hyperref}

% 文字化け対策
\AtBeginDvi{\special{pdf:tounicode EUC-UCS2}}

colorパケージによる修正点の色付け

ほかの人に原稿を校正してもらったあとは、どこを変更したかを分かりやすくしたいものです。
というわけで、colorパッケージudlineパッケージを使って、分かりやすくしました。

% プリアンブルに追加する

\usepackage{color}
\usepackage{udline}
\newcommand{\fixme}[1]{\colorbox{yellow}{#1}}
\newcommand{\fixed}[1]{{\color{red}{#1}}}
\newcommand{\del}[1]{{\color{red}{\protect\Sl{#1}}}}
% 使い方
\fixme{あとでここを直す。}

\del{消したテキスト}hogehoge\fixed{追加したテキスト}

anything.el+imenuを使うと、EmacsTeXを書くのが楽になるよ


Emacsanything.el + imenuを使うと、sectionへの移動が楽になります。

そのままでも十分便利ですが、migemoanything-migemoも組合せると、ローマ字で絞り込めるようになります。

ソースコード

例に使ったTeXソースコード

\documentclass{jsarticle}

% hyperref
\usepackage[dvipdfm,
  colorlinks=false,
  bookmarks=true,
  bookmarksnumbered=false,
  pdfborder={0 0 0},
  bookmarkstype=toc
]{hyperref}
\AtBeginDvi{\special{pdf:tounicode EUC-UCS2}}

% color
\usepackage{color}
\usepackage{udline}
\newcommand{\fixme}[1]{\colorbox{yellow}{#1}}
\newcommand{\fixed}[1]{\textcolor{red}{#1}}
\newcommand{\del}[1]{\textcolor{red}{\Sl{#1}}}

\begin{document}
\tableofcontents

\section{はじめに}
\fixme{あとでここを直す。}
\del{消したテキスト}hogehoge\fixed{追加したテキスト}
\section{背景}
\subsection{現状について}
\subsection{問題点}
\section{提案手法}
\subsection{概要}
\section{おわりに}
\end{document}

同じく、.emacs

(add-to-list 'load-path "~/c/config/site-lisp/auto-install/")
(add-to-list 'load-path "~/c/config/site-lisp/manual/")

;; auto-install
(require 'auto-install)
(setq auto-install-directory  "~/c/config/site-lisp/auto-install/")
(auto-install-update-emacswiki-package-name t)
(auto-install-compatibility-setup)

;; APEL
(add-to-list 'load-path
	     "~/c/config/site-lisp/manual/apel/share/emacs/site-lisp/apel/")

;; migemo
(add-to-list 'exec-path "~/c/config/site-lisp/manual/migemo/bin")
(add-to-list 'load-path
	     "~/c/config/site-lisp/manual/migemo/share/emacs/site-lisp")
(setq migemo-directory "~/c/config/site-lisp/manual/migemo/share/migemo")

(setq migemo-command "migemo")
(setq migemo-options '("-t" "emacs"  "-i" "\a"))
(setq migemo-dictionary (expand-file-name "migemo-dict" migemo-directory))
(setq migemo-user-dictionary (expand-file-name "user-dict" migemo-directory))
(setq migemo-regex-dictionary (expand-file-name "regex-dict" migemo-directory))
(require 'migemo)

;; imenu
(require 'imenu)

;; anything
(require 'anything)
(require 'anything-migemo)
(require 'anything-match-plugin)
(require 'anything-config)

(setq my-anything-jump-sources '(anything-c-source-imenu
				 anything-c-source-fixme
				 anything-c-source-occur))

(defun my-anything-jump ()
  (interactive)
  (anything-migemo t my-anything-jump-sources))


(define-key global-map (kbd "C-c C-l") 'my-anything-jump)
(define-key global-map (kbd "C-x C-l") 'my-anything-jump)