[[Emacs]] > TeX mode

*[[TeX mode:http://bzr.savannah.gnu.org/lh/emacs/trunk/annotate/head:/lisp/textmodes/tex-mode.el]] &aname(tex-mode); [#e09eebbf]

&color(White,#5F2F2F){  ''◆目次◆''  };&br;

#contents

*TeX mode とは [#b759a43a]

TeX mode は TeX ファイルを編集・タイプセット・プレビューするためのモードです.~
Emacs には標準で [[TeX mode:http://bzr.savannah.gnu.org/lh/emacs/trunk/annotate/head:/lisp/textmodes/tex-mode.el]] が含まれています.~
スニペットが必要な場合は [[YASnippet]] を使ってください.~

**License [#g3e59977]

GPLv3

*設定 [#x084b3ec]

**Windows [#m2df1dd4]

[[emacs for gnupack:http://sourceforge.jp/projects/gnupack/]] をインストールします.~
Emacs を起動して~
 C-x C-f ~/
で,ホームディレクトリ (~/) の場所を確認します.~
~/.emacs.d/ が無ければ新規に作成します.~
~/.emacs.d/init.el に設定を記述します.~
以下の設定では TeX Live 2013 以降, W32TeX [2013/03/11] 以降に含まれている [[ptex2pdf:http://www.tug.org/svn/texlive/trunk/Master/texmf-dist/scripts/ptex2pdf/ptex2pdf.lua?view=markup]] を使用しています.~
W32TeX の場合は latexmk の実行には [[Strawberry Perl:http://strawberryperl.com/]] が必要です.~
fwdsumatrapdf.exe は [[SumatraPDF/fwdsumatrapdf]] の fwdsumatrapdf.exe を使用します.~
----
 ;;
 ;; TeX mode
 ;;
 (setq auto-mode-alist
       (append '(("\\.tex$" . latex-mode)) auto-mode-alist))
 (setq tex-default-mode 'latex-mode)
 (setq tex-start-commands "\\nonstopmode\\input")
 (setq tex-run-command "ptex2pdf -e -ot \"-kanji=utf8 -guess-input-enc -synctex=1 -interaction=nonstopmode\"")
 ;(setq tex-run-command "ptex2pdf -e -u -ot \"-kanji=utf8 -no-guess-input-enc -synctex=1 -interaction=nonstopmode\"")
 ;(setq tex-run-command "pdftex -synctex=1 -interaction=nonstopmode")
 ;(setq tex-run-command "luatex -synctex=1 -interaction=nonstopmode")
 ;(setq tex-run-command "luajittex -synctex=1 -interaction=nonstopmode")
 ;(setq tex-run-command "xetex -synctex=1 -interaction=nonstopmode")
 (setq latex-run-command "ptex2pdf -l -ot \"-kanji=utf8 -guess-input-enc -synctex=1 -interaction=nonstopmode\"")
 ;(setq latex-run-command "ptex2pdf -l -u -ot \"-kanji=utf8 -no-guess-input-enc -synctex=1 -interaction=nonstopmode\"")
 ;(setq latex-run-command "pdflatex -synctex=1 -interaction=nonstopmode")
 ;(setq latex-run-command "lualatex -synctex=1 -interaction=nonstopmode")
 ;(setq latex-run-command "luajitlatex -synctex=1 -interaction=nonstopmode")
 ;(setq latex-run-command "xelatex -synctex=1 -interaction=nonstopmode")
 (setq tex-bibtex-command "pbibtex -kanji=utf8")
 ;(setq tex-bibtex-command "upbibtex")
 ;(setq tex-bibtex-command "bibtex")
 ;(setq tex-bibtex-command "bibtexu")
 (require 'tex-mode)
 (defun tex-view ()
   (interactive)
   (tex-send-command "texworks" (tex-append tex-print-file ".pdf")))
 (defun tex-print (&optional alt)
   (interactive "P")
   (if (tex-shell-running)
       (tex-kill-job)
     (tex-start-shell))
   (tex-send-command "pdfopen --rxi --file" (tex-append tex-print-file ".pdf")))
 (setq tex-compile-commands
       '(("platex -kanji=utf8 -guess-input-enc -synctex=1 -interaction=nonstopmode -jobname=%r %f && dvipdfmx %r" "%f" "%r.pdf")
         ("platex -kanji=utf8 -guess-input-enc -synctex=1 -interaction=nonstopmode -jobname=%r %f && dvips -Ppdf -z -f %r.dvi | convbkmk -g > %r.ps && ps2pdf.bat %r.ps" "%f" "%r.pdf")
         ("uplatex -kanji=utf8 -no-guess-input-enc -synctex=1 -interaction=nonstopmode %f && dvipdfmx %r" "%f" "%r.pdf")
         ("uplatex -kanji=utf8 -no-guess-input-enc -synctex=1 -interaction=nonstopmode %f && dvips -Ppdf -z -f %r.dvi | convbkmk -u > %r.ps && ps2pdf.bat %r.ps" "%f" "%r.pdf")
         ("pdflatex -synctex=1 -interaction=nonstopmode %f" "%f" "%r.pdf")
         ("lualatex -synctex=1 -interaction=nonstopmode %f" "%f" "%r.pdf")
         ("luajitlatex -synctex=1 -interaction=nonstopmode %f" "%f" "%r.pdf")
         ("xelatex -synctex=1 -interaction=nonstopmode %f" "%f" "%r.pdf")
         ("latexmk %f" "%f" "%r.pdf")
         ("latexmk -e \"$latex=q/platex %%O -kanji=utf8 -guess-input-enc -synctex=1 -interaction=nonstopmode %%S/\" -e \"$bibtex=q/pbibtex %%O -kanji=utf8 %%B/\" -e \"$makeindex=q/mendex %%O -U -o %%D %%S/\" -e \"$dvipdf=q/dvipdfmx %%O -o %%D %%S/\" -norc -gg -pdfdvi %f" "%f" "%r.pdf")
         ("latexmk -e \"$latex=q/platex %%O -kanji=utf8 -guess-input-enc -synctex=1 -interaction=nonstopmode %%S/\" -e \"$bibtex=q/pbibtex %%O -kanji=utf8 %%B/\" -e \"$makeindex=q/mendex %%O -U -o %%D %%S/\" -e \"$dvips=q/dvips %%O -z -f %%S | convbkmk -g > %%D/\" -e \"$ps2pdf=q/ps2pdf.bat %%O %%S %%D/\" -norc -gg -pdfps %f" "%f" "%r.pdf")
         ("latexmk -e \"$latex=q/uplatex %%O -kanji=utf8 -no-guess-input-enc -synctex=1 -interaction=nonstopmode %%S/\" -e \"$bibtex=q/upbibtex %%O %%B/\" -e \"$makeindex=q/mendex %%O -U -o %%D %%S/\" -e \"$dvipdf=q/dvipdfmx %%O -o %%D %%S/\" -norc -gg -pdfdvi %f" "%f" "%r.pdf")
         ("latexmk -e \"$latex=q/uplatex %%O -kanji=utf8 -no-guess-input-enc -synctex=1 -interaction=nonstopmode %%S/\" -e \"$bibtex=q/upbibtex %%O %%B/\" -e \"$makeindex=q/mendex %%O -U -o %%D %%S/\" -e \"$dvips=q/dvips %%O -z -f %%S | convbkmk -u > %%D/\" -e \"$ps2pdf=q/ps2pdf.bat %%O %%S %%D/\" -norc -gg -pdfps %f" "%f" "%r.pdf")
         ("latexmk -e \"$pdflatex=q/pdflatex %%O -synctex=1 -interaction=nonstopmode %%S/\" -e \"$bibtex=q/bibtex %%O %%B/\" -e \"$makeindex=q/makeindex %%O -o %%D %%S/\" -norc -gg -pdf %f" "%f" "%r.pdf")
         ("latexmk -e \"$pdflatex=q/lualatex %%O -synctex=1 -interaction=nonstopmode %%S/\" -e \"$bibtex=q/bibtexu %%O %%B/\" -e \"$makeindex=q/texindy %%O -o %%D %%S/\" -norc -gg -lualatex %f" "%f" "%r.pdf")
         ("latexmk -e \"$pdflatex=q/luajitlatex %%O -synctex=1 -interaction=nonstopmode %%S/\" -e \"$bibtex=q/bibtexu %%O %%B/\" -e \"$makeindex=q/texindy %%O -o %%D %%S/\" -norc -gg -lualatex %f" "%f" "%r.pdf")
         ("latexmk -e \"$pdflatex=q/xelatex %%O -synctex=1 -interaction=nonstopmode %%S/\" -e \"$bibtex=q/bibtexu %%O %%B/\" -e \"$makeindex=q/texindy %%O -o %%D %%S/\" -norc -gg -xelatex %f" "%f" "%r.pdf")
         ("pbibtex -kanji=utf8 %r" "%r.aux" "%r.bbl")
         ("upbibtex %r" "%r.aux" "%r.bbl")
         ("bibtex %r" "%r.aux" "%r.bbl")
         ("bibtexu %r" "%r.aux" "%r.bbl")
         ("biber %r" "%r.bcf" "%r.bbl")
         ("mendex -U %r" "%r.idx" "%r.ind")
         ("makeindex %r" "%r.idx" "%r.ind")
         ("texindy %r" "%r.idx" "%r.ind")
         ((concat "\\doc-view" " \"" (car (split-string (format "%s" (tex-main-file)) "\\.")) ".pdf\"") "%r.pdf")
         ("texworks %r.pdf" "%r.pdf")
         ("powershell -Command \"& {$r = Write-Output %r.pdf;$p = [System.String]::Concat('\"\"\"',[System.IO.Path]::GetFileName($r),'\"\"\"');Start-Process SumatraPDF -ArgumentList ('-reuse-instance',$p)}\"" "%r.pdf")
         ("powershell -Command \"& {$r = Write-Output %r.pdf;$p = [System.String]::Concat('\"\"\"',[System.IO.Path]::GetFileName($r),'\"\"\"');Start-Process firefox -ArgumentList ('-new-window',$p)}\"" "%r.pdf")
         ("powershell -Command \"& {$r = Write-Output %r.pdf;$p = [System.String]::Concat('\"\"\"',[System.IO.Path]::GetFullPath($r),'\"\"\"');Start-Process chrome -ArgumentList ('--new-window',$p)}\"" "%r.pdf")
         ("pdfopen --rxi --file %r.pdf" "%r.pdf")))
 
 (defun sumatrapdf-forward-search ()
   (interactive)
   (let* ((ctf (buffer-name))
          (mtf (tex-main-file))
          (pf (concat (car (split-string mtf "\\.")) ".pdf"))
          (ln (format "%d" (line-number-at-pos)))
          (cmd "rundll32 shell32,ShellExec_RunDLL SumatraPDF")
          (args (concat "-reuse-instance \"" pf "\" -forward-search \"" ctf "\" " ln)))
     (message (concat cmd " " args))
     (process-kill-without-query
      (start-process-shell-command "sumatrapdf" nil cmd args))))
 
 (add-hook 'latex-mode-hook
           '(lambda ()
              (define-key latex-mode-map (kbd "C-c s") 'sumatrapdf-forward-search)))
 
 (defun fwdsumatrapdf-forward-search ()
   (interactive)
   (let* ((ctf (buffer-name))
          (mtf (tex-main-file))
          (pf (concat (car (split-string mtf "\\.")) ".pdf"))
          (ln (format "%d" (line-number-at-pos)))
          (cmd "fwdsumatrapdf")
          (args (concat "\"" pf "\" \"" ctf "\" " ln)))
     (message (concat cmd " " args))
     (process-kill-without-query
      (start-process-shell-command "fwdsumatrapdf" nil cmd args))))
 
 (add-hook 'latex-mode-hook
           '(lambda ()
              (define-key latex-mode-map (kbd "C-c w") 'fwdsumatrapdf-forward-search)))
 
 ;;
 ;; RefTeX with TeX mode
 ;;
 (add-hook 'latex-mode-hook 'turn-on-reftex)
----

**OS X [#g5794e10]
[[Emacs.app の設定 - マスクメロン:http://www.muskmelon.jp/?page_id=410]] を参照.~
[[MacEmacs JP:http://sourceforge.jp/projects/macemacsjp/releases/?package_id=13490]] または [[Emacs.app:http://www.muskmelon.jp/?page_id=79]] をインストールします.~
Emacs を起動して~
 C-x C-f ~/
で,ホームディレクトリ (~/) の場所を確認します.~
~/.emacs.d/ が無ければ新規に作成します.~
動作未確認です.~
~/.emacs.d/init.el に設定を記述します.~
以下の設定では TeX Live 2013 以降に含まれている [[ptex2pdf:http://www.tug.org/svn/texlive/trunk/Master/texmf-dist/scripts/ptex2pdf/ptex2pdf.lua?view=markup]] を使用しています.~
----
 ;;
 ;; TeX mode
 ;;
 (setq auto-mode-alist
       (append '(("\\.tex$" . latex-mode)) auto-mode-alist))
 (setq tex-default-mode 'latex-mode)
 (setq tex-start-commands "\\nonstopmode\\input")
 (setq tex-run-command "/usr/texbin/ptex2pdf -e -ot '-synctex=1 -interaction=nonstopmode'")
 ;(setq tex-run-command "/usr/texbin/ptex2pdf -e -u -ot '-synctex=1 -interaction=nonstopmode'")
 ;(setq tex-run-command "/usr/texbin/pdftex -synctex=1 -interaction=nonstopmode")
 ;(setq tex-run-command "/usr/texbin/luatex -synctex=1 -interaction=nonstopmode")
 ;(setq tex-run-command "/usr/texbin/luajittex -synctex=1 -interaction=nonstopmode")
 ;(setq tex-run-command "/usr/texbin/xetex -synctex=1 -interaction=nonstopmode")
 (setq latex-run-command "/usr/texbin/ptex2pdf -l -ot '-synctex=1 -interaction=nonstopmode'")
 ;(setq latex-run-command "/usr/texbin/ptex2pdf -l -u -ot '-synctex=1 -interaction=nonstopmode'")
 ;(setq latex-run-command "/usr/texbin/pdflatex -synctex=1 -interaction=nonstopmode")
 ;(setq latex-run-command "/usr/texbin/lualatex -synctex=1 -interaction=nonstopmode")
 ;(setq latex-run-command "/usr/texbin/luajitlatex -synctex=1 -interaction=nonstopmode")
 ;(setq latex-run-command "/usr/texbin/xelatex -synctex=1 -interaction=nonstopmode")
 (setq tex-bibtex-command "/usr/texbin/pbibtex")
 ;(setq tex-bibtex-command "/usr/texbin/upbibtex")
 ;(setq tex-bibtex-command "/usr/texbin/bibtex")
 ;(setq tex-bibtex-command "/usr/texbin/bibtexu")
 (require 'tex-mode)
 (defun tex-view ()
   (interactive)
   (tex-send-command "/usr/bin/open -a Preview.app" (tex-append tex-print-file ".pdf")))
 (defun tex-print (&optional alt)
   (interactive "P")
   (if (tex-shell-running)
       (tex-kill-job)
     (tex-start-shell))
   (tex-send-command "/usr/bin/open -a \"Adobe Reader.app\"" (tex-append tex-print-file ".pdf")))
 (setq tex-compile-commands
       '(("/usr/texbin/platex -synctex=1 -interaction=nonstopmode %f && /usr/texbin/dvipdfmx %r" "%f" "%r.pdf")
         ("/usr/texbin/platex -synctex=1 -interaction=nonstopmode %f && /usr/texbin/dvips -Ppdf -z -f %r.dvi | /usr/texbin/convbkmk -g > %r.ps && /usr/local/bin/ps2pdf %r.ps" "%f" "%r.pdf")
         ("/usr/texbin/uplatex -synctex=1 -interaction=nonstopmode %f && /usr/texbin/dvipdfmx %r" "%f" "%r.pdf")
         ("/usr/texbin/uplatex -synctex=1 -interaction=nonstopmode %f && /usr/texbin/dvips -Ppdf -z -f %r.dvi | /usr/texbin/convbkmk -u > %r.ps && /usr/local/bin/ps2pdf %r.ps" "%f" "%r.pdf")
         ("/usr/texbin/pdflatex -synctex=1 -interaction=nonstopmode %f" "%f" "%r.pdf")
         ("/usr/texbin/lualatex -synctex=1 -interaction=nonstopmode %f" "%f" "%r.pdf")
         ("/usr/texbin/luajitlatex -synctex=1 -interaction=nonstopmode %f" "%f" "%r.pdf")
         ("/usr/texbin/xelatex -synctex=1 -interaction=nonstopmode %f" "%f" "%r.pdf")
         ("/usr/texbin/latexmk %f" "%f" "%r.pdf")
         ("/usr/texbin/latexmk -e '$latex=q/platex %%O -synctex=1 -interaction=nonstopmode %%S/' -e '$bibtex=q/pbibtex %%O %%B/' -e '$makeindex=q/mendex %%O -o %%D %%S/' -e '$dvipdf=q/dvipdfmx %%O -o %%D %%S/' -norc -gg -pdfdvi %f" "%f" "%r.pdf")
         ("/usr/texbin/latexmk -e '$latex=q/platex %%O -synctex=1 -interaction=nonstopmode %%S/' -e '$bibtex=q/pbibtex %%O %%B/' -e '$makeindex=q/mendex %%O -o %%D %%S/' -e '$dvips=q/dvips %%O -z -f %%S | convbkmk -g > %%D/' -e '$ps2pdf=q/ps2pdf %%O %%S %%D/' -norc -gg -pdfps %f" "%f" "%r.pdf")
         ("/usr/texbin/latexmk -e '$latex=q/uplatex %%O -synctex=1 -interaction=nonstopmode %%S/' -e '$bibtex=q/upbibtex %%O %%B/' -e '$makeindex=q/mendex %%O -o %%D %%S/' -e '$dvipdf=q/dvipdfmx %%O -o %%D %%S/' -norc -gg -pdfdvi %f" "%f" "%r.pdf")
         ("/usr/texbin/latexmk -e '$latex=q/uplatex %%O -synctex=1 -interaction=nonstopmode %%S/' -e '$bibtex=q/upbibtex %%O %%B/' -e '$makeindex=q/mendex %%O -o %%D %%S/' -e '$dvips=q/dvips %%O -z -f %%S | convbkmk -u > %%D/' -e '$ps2pdf=q/ps2pdf %%O %%S %%D/' -norc -gg -pdfps %f" "%f" "%r.pdf")
         ("/usr/texbin/latexmk -e '$pdflatex=q/pdflatex %%O -synctex=1 -interaction=nonstopmode %%S/' -e '$bibtex=q/bibtex %%O %%B/' -e '$makeindex=q/makeindex %%O -o %%D %%S/' -norc -gg -pdf %f" "%f" "%r.pdf")
         ("/usr/texbin/latexmk -e '$pdflatex=q/lualatex %%O -synctex=1 -interaction=nonstopmode %%S/' -e '$bibtex=q/bibtexu %%O %%B/' -e '$makeindex=q/texindy %%O -o %%D %%S/' -norc -gg -lualatex %f" "%f" "%r.pdf")
         ("/usr/texbin/latexmk -e '$pdflatex=q/luajitlatex %%O -synctex=1 -interaction=nonstopmode %%S/' -e '$bibtex=q/bibtexu %%O %%B/' -e '$makeindex=q/texindy %%O -o %%D %%S/' -norc -gg -lualatex %f" "%f" "%r.pdf")
         ("/usr/texbin/latexmk -e '$pdflatex=q/xelatex %%O -synctex=1 -interaction=nonstopmode %%S/' -e '$bibtex=q/bibtexu %%O %%B/' -e '$makeindex=q/texindy %%O -o %%D %%S/' -norc -gg -xelatex %f" "%f" "%r.pdf")
         ("/usr/texbin/pbibtex %r" "%r.aux" "%r.bbl")
         ("/usr/texbin/upbibtex %r" "%r.aux" "%r.bbl")
         ("/usr/texbin/bibtex %r" "%r.aux" "%r.bbl")
         ("/usr/texbin/bibtexu %r" "%r.aux" "%r.bbl")
         ("/usr/texbin/biber %r" "%r.bcf" "%r.bbl")
         ("/usr/texbin/mendex %r" "%r.idx" "%r.ind")
         ("/usr/texbin/makeindex %r" "%r.idx" "%r.ind")
         ("/usr/texbin/texindy %r" "%r.idx" "%r.ind")
         ((concat "\\doc-view" " \"" (car (split-string (format "%s" (tex-main-file)) "\\.")) ".pdf\"") "%r.pdf")
         ("/usr/bin/open -a Preview.app %r.pdf" "%r.pdf")
         ("/usr/bin/open -a Skim.app %r.pdf" "%r.pdf")
         ("/usr/bin/open -a TeXShop.app %r.pdf" "%r.pdf")
         ("/usr/bin/open -a TeXworks.app %r.pdf" "%r.pdf")
         ("/usr/bin/open -a Firefox.app %r.pdf" "%r.pdf")
         ("/usr/bin/open -a \"Adobe Reader.app\" %r.pdf" "%r.pdf")))
 
 (defun skim-forward-search ()
   (interactive)
   (let* ((ctf (buffer-name))
          (mtf (tex-main-file))
          (pf (concat (car (split-string mtf "\\.")) ".pdf"))
          (ln (format "%d" (line-number-at-pos)))
          (cmd "/Applications/Skim.app/Contents/SharedSupport/displayline")
          (args (concat ln " " pf " " ctf)))
     (message (concat cmd " " args))
     (process-kill-without-query
      (start-process-shell-command "displayline" nil cmd args))))
 
 (add-hook 'latex-mode-hook
           '(lambda ()
              (define-key latex-mode-map (kbd "C-c s") 'skim-forward-search)))
 
 ;;
 ;; RefTeX with TeX mode
 ;;
 (add-hook 'latex-mode-hook 'turn-on-reftex)
----

**Linux [#q1bd16f3]

Emacs を起動して~
 C-x C-f ~/
で,ホームディレクトリ (~/) の場所を確認します.~
~/.emacs.d/ が無ければ新規に作成します.~
~/.emacs.d/init.el に設定を記述します.~
以下の設定では TeX Live 2013 以降に含まれている [[ptex2pdf:http://www.tug.org/svn/texlive/trunk/Master/texmf-dist/scripts/ptex2pdf/ptex2pdf.lua?view=markup]] を使用しています.~
fwdevince は [[Evince/fwdevince]] の fwdevince を使用します.~
----
 ;;
 ;; TeX mode
 ;;
 (setq auto-mode-alist
       (append '(("\\.tex$" . latex-mode)) auto-mode-alist))
 (setq tex-default-mode 'latex-mode)
 (setq tex-start-commands "\\nonstopmode\\input")
 (setq tex-run-command "ptex2pdf -e -ot '-synctex=1 -interaction=nonstopmode'")
 ;(setq tex-run-command "ptex2pdf -e -u -ot '-synctex=1 -interaction=nonstopmode'")
 ;(setq tex-run-command "pdftex -synctex=1 -interaction=nonstopmode")
 ;(setq tex-run-command "luatex -synctex=1 -interaction=nonstopmode")
 ;(setq tex-run-command "luajittex -synctex=1 -interaction=nonstopmode")
 ;(setq tex-run-command "xetex -synctex=1 -interaction=nonstopmode")
 (setq latex-run-command "ptex2pdf -l -ot '-synctex=1 -interaction=nonstopmode'")
 ;(setq latex-run-command "ptex2pdf -l -u -ot '-synctex=1 -interaction=nonstopmode'")
 ;(setq latex-run-command "pdflatex -synctex=1 -interaction=nonstopmode")
 ;(setq latex-run-command "lualatex -synctex=1 -interaction=nonstopmode")
 ;(setq latex-run-command "luajitlatex -synctex=1 -interaction=nonstopmode")
 ;(setq latex-run-command "xelatex -synctex=1 -interaction=nonstopmode")
 (setq tex-bibtex-command "pbibtex")
 ;(setq tex-bibtex-command "upbibtex")
 ;(setq tex-bibtex-command "bibtex")
 ;(setq tex-bibtex-command "bibtexu")
 (require 'tex-mode)
 (defun tex-view ()
   (interactive)
   (tex-send-command "evince" (tex-append tex-print-file ".pdf") " &"))
 (defun tex-print (&optional alt)
   (interactive "P")
   (if (tex-shell-running)
       (tex-kill-job)
     (tex-start-shell))
   (tex-send-command "acroread" (tex-append tex-print-file ".pdf") " &"))
 (setq tex-compile-commands
       '(("platex -synctex=1 -interaction=nonstopmode %f && dvipdfmx %r" "%f" "%r.pdf")
         ("platex -synctex=1 -interaction=nonstopmode %f && dvips -Ppdf -z -f %r.dvi | convbkmk -g > %r.ps && ps2pdf %r.ps" "%f" "%r.pdf")
         ("uplatex -synctex=1 -interaction=nonstopmode %f && dvipdfmx %r" "%f" "%r.pdf")
         ("uplatex -synctex=1 -interaction=nonstopmode %f && dvips -Ppdf -z -f %r.dvi | convbkmk -u > %r.ps && ps2pdf %r.ps" "%f" "%r.pdf")
         ("pdflatex -synctex=1 -interaction=nonstopmode %f" "%f" "%r.pdf")
         ("lualatex -synctex=1 -interaction=nonstopmode %f" "%f" "%r.pdf")
         ("luajitlatex -synctex=1 -interaction=nonstopmode %f" "%f" "%r.pdf")
         ("xelatex -synctex=1 -interaction=nonstopmode %f" "%f" "%r.pdf")
         ("latexmk %f" "%f" "%r.pdf")
         ("latexmk -e '$latex=q/platex %%O -synctex=1 -interaction=nonstopmode %%S/' -e '$bibtex=q/pbibtex %%O %%B/' -e '$makeindex=q/mendex %%O -o %%D %%S/' -e '$dvipdf=q/dvipdfmx %%O -o %%D %%S/' -norc -gg -pdfdvi %f" "%f" "%r.pdf")
         ("latexmk -e '$latex=q/platex %%O -synctex=1 -interaction=nonstopmode %%S/' -e '$bibtex=q/pbibtex %%O %%B/' -e '$makeindex=q/mendex %%O -o %%D %%S/' -e '$dvips=q/dvips %%O -z -f %%S | convbkmk -g > %%D/' -e '$ps2pdf=q/ps2pdf %%O %%S %%D/' -norc -gg -pdfps %f" "%f" "%r.pdf")
         ("latexmk -e '$latex=q/uplatex %%O -synctex=1 -interaction=nonstopmode %%S/' -e '$bibtex=q/upbibtex %%O %%B/' -e '$makeindex=q/mendex %%O -o %%D %%S/' -e '$dvipdf=q/dvipdfmx %%O -o %%D %%S/' -norc -gg -pdfdvi %f" "%f" "%r.pdf")
         ("latexmk -e '$latex=q/uplatex %%O -synctex=1 -interaction=nonstopmode %%S/' -e '$bibtex=q/upbibtex %%O %%B/' -e '$makeindex=q/mendex %%O -o %%D %%S/' -e '$dvips=q/dvips %%O -z -f %%S | convbkmk -u > %%D/' -e '$ps2pdf=q/ps2pdf %%O %%S %%D/' -norc -gg -pdfps %f" "%f" "%r.pdf")
         ("latexmk -e '$pdflatex=q/pdflatex %%O -synctex=1 -interaction=nonstopmode %%S/' -e '$bibtex=q/bibtex %%O %%B/' -e '$makeindex=q/makeindex %%O -o %%D %%S/' -norc -gg -pdf %f" "%f" "%r.pdf")
         ("latexmk -e '$pdflatex=q/lualatex %%O -synctex=1 -interaction=nonstopmode %%S/' -e '$bibtex=q/bibtexu %%O %%B/' -e '$makeindex=q/texindy %%O -o %%D %%S/' -norc -gg -lualatex %f" "%f" "%r.pdf")
         ("latexmk -e '$pdflatex=q/luajitlatex %%O -synctex=1 -interaction=nonstopmode %%S/' -e '$bibtex=q/bibtexu %%O %%B/' -e '$makeindex=q/texindy %%O -o %%D %%S/' -norc -gg -lualatex %f" "%f" "%r.pdf")
         ("latexmk -e '$pdflatex=q/xelatex %%O -synctex=1 -interaction=nonstopmode %%S/' -e '$bibtex=q/bibtexu %%O %%B/' -e '$makeindex=q/texindy %%O -o %%D %%S/' -norc -gg -xelatex %f" "%f" "%r.pdf")
         ("pbibtex %r" "%r.aux" "%r.bbl")
         ("upbibtex %r" "%r.aux" "%r.bbl")
         ("bibtex %r" "%r.aux" "%r.bbl")
         ("bibtexu %r" "%r.aux" "%r.bbl")
         ("biber %r" "%r.bcf" "%r.bbl")
         ("mendex %r" "%r.idx" "%r.ind")
         ("makeindex %r" "%r.idx" "%r.ind")
         ("texindy %r" "%r.idx" "%r.ind")
         ((concat "\\doc-view" " \"" (car (split-string (format "%s" (tex-main-file)) "\\.")) ".pdf\"") "%r.pdf")
         ("evince %r.pdf &" "%r.pdf")
         ("okular --unique %r.pdf &" "%r.pdf")
         ("zathura -s -x \"emacsclient --no-wait +%%{line} %%{input}\" %r.pdf &" "%r.pdf")
         ("qpdfview --unique %r.pdf &" "%r.pdf")
         ("pdfviewer %r.pdf &" "%r.pdf")
         ("texworks %r.pdf &" "%r.pdf")
         ("mupdf %r.pdf &" "%r.pdf")
         ("firefox -new-window %r.pdf &" "%r.pdf")
         ("chromium --new-window %r.pdf &" "%r.pdf")
         ("acroread %r.pdf &" "%r.pdf")
         ("pdfopen -viewer ar9-tab %r.pdf &" "%r.pdf")))
 
 (defun evince-forward-search ()
   (interactive)
   (let* ((ctf (buffer-name))
          (mtf (tex-main-file))
          (pf (concat (car (split-string mtf "\\.")) ".pdf"))
          (ln (format "%d" (line-number-at-pos)))
          (cmd "fwdevince")
          (args (concat "\"" pf "\" " ln " \"" ctf "\"")))
     (message (concat cmd " " args))
     (process-kill-without-query
      (start-process-shell-command "fwdevince" nil cmd args))))
 
 (add-hook 'latex-mode-hook
           '(lambda ()
              (define-key latex-mode-map (kbd "C-c e") 'evince-forward-search)))
 
 (require 'dbus)
 
 (defun un-urlify (fname-or-url)
   "A trivial function that replaces a prefix of file:/// with just /."
   (if (string= (substring fname-or-url 0 8) "file:///")
       (substring fname-or-url 7)
     fname-or-url))
 
 (defun evince-inverse-search (file linecol &rest ignored)
   (let* ((fname (un-urlify file))
          (buf (find-file fname))
          (line (car linecol))
          (col (cadr linecol)))
     (if (null buf)
         (message "[Synctex]: %s is not opened..." fname)
       (switch-to-buffer buf)
       (goto-line (car linecol))
       (unless (= col -1)
         (move-to-column col)))))
 
 (dbus-register-signal
  :session nil "/org/gnome/evince/Window/0"
  "org.gnome.evince.Window" "SyncSource"
  'evince-inverse-search)
 
 (defun okular-forward-search ()
   (interactive)
   (let* ((ctf (buffer-file-name))
          (mtf (tex-main-file))
          (pf (concat (car (split-string mtf "\\.")) ".pdf"))
          (ln (format "%d" (line-number-at-pos)))
          (cmd "okular")
          (args (concat "--unique \"file:" pf "#src:" ln " " ctf "\"")))
     (message (concat cmd " " args))
     (process-kill-without-query
      (start-process-shell-command "okular" nil cmd args))))
 
 (add-hook 'latex-mode-hook
           '(lambda ()
              (define-key latex-mode-map (kbd "C-c o") 'okular-forward-search)))
 
 (defun qpdfview-forward-search ()
   (interactive)
   (let* ((ctf (buffer-name))
          (mtf (tex-main-file))
          (pf (concat (car (split-string mtf "\\.")) ".pdf"))
          (ln (format "%d" (line-number-at-pos)))
          (cmd "qpdfview")
          (args (concat "--unique \"" pf "#src:" ctf ":" ln ":0\"")))
     (message (concat cmd " " args))
     (process-kill-without-query
      (start-process-shell-command "qpdfview" nil cmd args))))
 
 (add-hook 'latex-mode-hook
           '(lambda ()
              (define-key latex-mode-map (kbd "C-c q") 'qpdfview-forward-search)))
 
 (defun pdfviewer-forward-search ()
   (interactive)
   (let* ((ctf (buffer-name))
          (mtf (tex-main-file))
          (pf (concat (car (split-string mtf "\\.")) ".pdf"))
          (ln (format "%d" (line-number-at-pos)))
          (cmd "pdfviewer")
          (args (concat "\"file:" pf "#src:" ln " " ctf "\"")))
     (message (concat cmd " " args))
     (process-kill-without-query
      (start-process-shell-command "pdfviewer" nil cmd args))))
 
 (add-hook 'latex-mode-hook
           '(lambda ()
              (define-key latex-mode-map (kbd "C-c p") 'pdfviewer-forward-search)))
 
 ;;
 ;; RefTeX with TeX mode
 ;;
 (add-hook 'latex-mode-hook 'turn-on-reftex)
----
*使い方 [#b6d90b9d]

>
|COLOR(#FFF):BGCOLOR(#36A):CENTER:~メニュー [TeX]|COLOR(#FFF):BGCOLOR(#36A):CENTER:~入力|COLOR(#FFF):BGCOLOR(#36A):CENTER:~機能|
|TeX File|C-c C-f|タイプセット|
|TeX Kill|C-c C-k|タイプセットを中断|
|BibTeX File|C-c C-i または C-c TAB|BibTeX|
|TeX View|C-c C-v|プレビュー|
|TeX Print|C-c C-p|印刷|
||C-c C-c|ユーザー定義コマンドの実行|
<

ユーザー定義コマンドは C-c C-c C-i または C-c C-c TAB で一覧が表示できます.~
一覧の中からマウスでクリックすると実行されます.~
キーボードを使用する場合はある程度キーボードで入力して C-i または TAB を入力すると補完されます.~

----
>
|COLOR(#FFF):BGCOLOR(#36A):CENTER:~入力|COLOR(#FFF):BGCOLOR(#36A):CENTER:~機能|
|C-c C-o|\begin{...} ... \end{...} の補完|
|C-c C-e|\end{...} の補完|
|C-c C-u|環境内の \begin{...} の先頭に移動|
<
----
&color(Black,#3465A4){%%% %%%};[[&ref(http://upload.wikimedia.org/wikipedia/commons/thumb/0/08/EmacsIcon.svg/200px-EmacsIcon.svg.png,around,28x28,GNU Emacs - GNU Project - Free Software Foundation (FSF));>http://www.gnu.org/software/emacs/]]&color(Black,#3465A4){%%% &color(White){''emacs@TeX mode''};                     &color(Black,#245594){%%%[ &color(White){''◛''}; ]%%%};&color(Black,#245594){%%%[ &color(White){''▭''}; ]%%%};&color(Black,#CC3333){%%%[  &color(White){''✕''};  ]%%%}; %%%};&br;
&color(Black,#DAE0FE){%%%  ファイル  編集  オプション  バッファ  ツール  TeX  Ref  ヘルプ    %%%};&br;
...&br;
&#x2d;U\---  ''emacs.tex''     Top L1   (LaTeX Ref)-------------------&br;
----
&color(Black,#3465A4){%%% %%%};[[&ref(http://upload.wikimedia.org/wikipedia/commons/thumb/0/08/EmacsIcon.svg/200px-EmacsIcon.svg.png,around,28x28,GNU Emacs - GNU Project - Free Software Foundation (FSF));>http://www.gnu.org/software/emacs/]]&color(Black,#3465A4){%%% &color(White){''emacs@TeX mode''};                                         &color(Black,#245594){%%%[ &color(White){''◛''}; ]%%%};&color(Black,#245594){%%%[ &color(White){''▭''}; ]%%%};&color(Black,#CC3333){%%%[  &color(White){''✕''};  ]%%%}; %%%};&br;
&color(Black,#DAE0FE){%%%  ファイル  編集  オプション  バッファ  ツール  TeX  Errors  Complete  In/Out  Signals  ヘルプ    %%%};&br;
...&br;
&#x2d;U\---  ''emacs.tex''     Top L1   (LaTeX Ref)-----------------------------------------------&br;
...&br;
&#x2d;S:**-  ''*tex-shell*''     Bot L1   (TeX-Shell:run Shell-Compile)--------------------------------&br;
----

*関連リンク [#ca23f166]

-[[TeX Mode - GNU Emacs Manual:http://www.gnu.org/software/emacs/manual/html_node/emacs/TeX-Mode.html#TeX-Mode]]
-[[RefTeX User Manual:http://www.gnu.org/software/emacs/manual/html_node/reftex/]]
-[[Using pdfTeX in Emacs `tex-mode':http://www.emacswiki.org/emacs/PdfTeX]]
-[[LaTeX メモ#Emacs との連携:http://www-is.amp.i.kyoto-u.ac.jp/lab/kmaeda/latex/#emacs]]
-[[Meadow で LaTeX を使う:http://www.cymric.jp/old/tex/meadow.html]]
-[[西谷・平山研Hiki - LaTeX-mode:http://www.kono.cis.iwate-u.ac.jp/~hiki/?LaTeX-mode]]
-[[Emacs.app の設定 - マスクメロン:http://www.muskmelon.jp/?page_id=410]]
-[[【電脳】Mac OS Xで「EmacsでLaTeXファイルを編集→pdflatexでコンパイル→Previewでプレビュー」を繰り返す【自動リロード】:http://slashdot.jp/~t-nissie/journal/560083]]
-[[Emacsのlatex-modeのインデント:http://www.hit.ac.jp/~wachi/misc/latexindent.html]]