[[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/releases/?package_id=10839]] をインストールします.~ Emacs を起動して~ C-x C-f ~/ で,ホームディレクトリ (~/) の場所を確認します. ([[GNU Emacsのinitファイルの置き場所@Windows7:http://tamatamablog.blog.so-net.ne.jp/2010-02-10]] を参考)~ ~/.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/]] が必要です.~ ---- ;; ;; 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 -kanji=utf8 -guess-input-enc -synctex=1 -interaction=nonstopmode/\" -e \"$bibtex=q/pbibtex -kanji=utf8/\" -e \"$makeindex=q/mendex -U/\" -e \"$dvipdf=q/dvipdfmx %%O -o %%D %%S/\" -norc -gg -pdfdvi %f" "%f" "%r.pdf") ("latexmk -e \"$latex=q/platex -kanji=utf8 -guess-input-enc -synctex=1 -interaction=nonstopmode/\" -e \"$bibtex=q/pbibtex -kanji=utf8/\" -e \"$makeindex=q/mendex -U/\" -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 -kanji=utf8 -no-guess-input-enc -synctex=1 -interaction=nonstopmode/\" -e \"$bibtex=q/upbibtex/\" -e \"$makeindex=q/mendex -U/\" -e \"$dvipdf=q/dvipdfmx %%O -o %%D %%S/\" -norc -gg -pdfdvi %f" "%f" "%r.pdf") ("latexmk -e \"$latex=q/uplatex -kanji=utf8 -no-guess-input-enc -synctex=1 -interaction=nonstopmode/\" -e \"$bibtex=q/upbibtex/\" -e \"$makeindex=q/mendex -U/\" -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 -synctex=1 -interaction=nonstopmode/\" -e \"$bibtex=q/bibtex/\" -e \"$makeindex=q/makeindex/\" -norc -gg -pdf %f" "%f" "%r.pdf") ("latexmk -e \"$pdflatex=q/lualatex -synctex=1 -interaction=nonstopmode/\" -e \"$bibtex=q/bibtexu/\" -e \"$makeindex=q/texindy/\" -norc -gg -pdf %f" "%f" "%r.pdf") ("latexmk -e \"$pdflatex=q/luajitlatex -synctex=1 -interaction=nonstopmode/\" -e \"$bibtex=q/bibtexu/\" -e \"$makeindex=q/texindy/\" -norc -gg -pdf %f" "%f" "%r.pdf") ("latexmk -e \"$pdflatex=q/xelatex -synctex=1 -interaction=nonstopmode/\" -e \"$bibtex=q/bibtexu/\" -e \"$makeindex=q/texindy/\" -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 "start 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]] を参照.~ [[Emacs.app:http://www.muskmelon.jp/?page_id=79]] または [[Emacs For Mac OS X:http://www.emacsformacosx.com/]] をインストールします.~ 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 -synctex=1 -interaction=nonstopmode/' -e '$bibtex=q/pbibtex/' -e '$makeindex=q/mendex/' -e '$dvipdf=q/dvipdfmx %%O -o %%D %%S/' -norc -gg -pdfdvi %f" "%f" "%r.pdf") ("/usr/texbin/latexmk -e '$latex=q/platex -synctex=1 -interaction=nonstopmode/' -e '$bibtex=q/pbibtex/' -e '$makeindex=q/mendex/' -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 -synctex=1 -interaction=nonstopmode/' -e '$bibtex=q/upbibtex/' -e '$makeindex=q/mendex/' -e '$dvipdf=q/dvipdfmx %%O -o %%D %%S/' -norc -gg -pdfdvi %f" "%f" "%r.pdf") ("/usr/texbin/latexmk -e '$latex=q/uplatex -synctex=1 -interaction=nonstopmode/' -e '$bibtex=q/upbibtex/' -e '$makeindex=q/mendex/' -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 -synctex=1 -interaction=nonstopmode/' -e '$bibtex=q/bibtex/' -e '$makeindex=q/makeindex/' -norc -gg -pdf %f" "%f" "%r.pdf") ("/usr/texbin/latexmk -e '$pdflatex=q/lualatex -synctex=1 -interaction=nonstopmode/' -e '$bibtex=q/bibtexu/' -e '$makeindex=q/texindy/' -norc -gg -pdf %f" "%f" "%r.pdf") ("/usr/texbin/latexmk -e '$pdflatex=q/luajitlatex -synctex=1 -interaction=nonstopmode/' -e '$bibtex=q/bibtexu/' -e '$makeindex=q/texindy/' -norc -gg -pdf %f" "%f" "%r.pdf") ("/usr/texbin/latexmk -e '$pdflatex=q/xelatex -synctex=1 -interaction=nonstopmode/' -e '$bibtex=q/bibtexu/' -e '$makeindex=q/texindy/' -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 - TeX Wiki>Evince]] の 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 -synctex=1 -interaction=nonstopmode/' -e '$bibtex=q/pbibtex/' -e '$makeindex=q/mendex/' -e '$dvipdf=q/dvipdfmx %%O -o %%D %%S/' -norc -gg -pdfdvi %f" "%f" "%r.pdf") ("latexmk -e '$latex=q/platex -synctex=1 -interaction=nonstopmode/' -e '$bibtex=q/pbibtex/' -e '$makeindex=q/mendex/' -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 -synctex=1 -interaction=nonstopmode/' -e '$bibtex=q/upbibtex/' -e '$makeindex=q/mendex/' -e '$dvipdf=q/dvipdfmx %%O -o %%D %%S/' -norc -gg -pdfdvi %f" "%f" "%r.pdf") ("latexmk -e '$latex=q/uplatex -synctex=1 -interaction=nonstopmode/' -e '$bibtex=q/upbibtex/' -e '$makeindex=q/mendex/' -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 -synctex=1 -interaction=nonstopmode/' -e '$bibtex=q/bibtex/' -e '$makeindex=q/makeindex/' -norc -gg -pdf %f" "%f" "%r.pdf") ("latexmk -e '$pdflatex=q/lualatex -synctex=1 -interaction=nonstopmode/' -e '$bibtex=q/bibtexu/' -e '$makeindex=q/texindy/' -norc -gg -pdf %f" "%f" "%r.pdf") ("latexmk -e '$pdflatex=q/luajitlatex -synctex=1 -interaction=nonstopmode/' -e '$bibtex=q/bibtexu/' -e '$makeindex=q/texindy/' -norc -gg -pdf %f" "%f" "%r.pdf") ("latexmk -e '$pdflatex=q/xelatex -synctex=1 -interaction=nonstopmode/' -e '$bibtex=q/bibtexu/' -e '$makeindex=q/texindy/' -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; -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; -U\--- ''emacs.tex'' Top L1 (LaTeX Ref)-----------------------------------------------&br; ...&br; -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]]