#author("2018-04-01T01:48:05+09:00","default:hoge","hoge")
#author("2018-06-05T20:22:39+09:00","default:hoge","hoge")
[[Emacs]] > YaTeX

YaTeX is an intelligent, acquisitive and integrated package which reduces your efforts of composing LaTeX source on Emacs.

YaTeX (野鳥) は広瀬雄二氏による Emacs 上で動作する LaTeX 統合支援環境.&br;
目次の閲覧、ラベル管理、コマンド補完、ヘルプ等が用意されている.&br;
同様のインターフェースで HTML 入力支援の
yahtml も用意されている.&br;

-https://www.yatex.org/
-[[TwitterSearch.ja:YaTeX -source:twittbot.net -from:yatex_12]]
-[[TwitterSearch.ja:野鳥 Emacs]]
-[[TeXWiki:YaTeX]]
-[[Emacs YaTeX/yahtml の入力支援では helm を無効にする:http://gordiustears.net/disabling-helm-on-yatex-yahtml/]]
-[[SpacemacsでのYaTeXの設定:https://twitter.com/gf_hack/status/833729862053490689]]
-[[YaTeX のカスタマイズおよび evince との連携:http://startlinux.ninja-mania.jp/yatex/]]
-[[Bash on Ubuntu on Windows上でTeXLiveのコンパイル&プレビュー環境を構築する(X Window編):http://qiita.com/kuro_23/items/d4e84f332dbb57ae9fed]]
-[[比較的まともな YaTeX のインストール方法:http://hikaru515.hatenablog.com/entry/2015/11/10/000000]]
-[[Synctex For Evince Yatex:https://gitlab.com/latex-math-preview/synctex-for-evince-yatex]]
-http://kurasawa.c.ooco.jp/ubuntu.html#emacs
-http://kumaroot.readthedocs.io/ja/latest/emacs-yatex.html
-[[一度決めちゃったソフトウェアの挙動は滅多に変えるもんではない。&br;それがまちがっていても。&br;利用者としてされたくないことは作者としてできるだけやらないようにしている。&br;だから最初に、仕様変更しないように覚悟を決めて設計している。:https://twitter.com/hiroseyuuji/status/620582339836428288]]

----
#contents
----

**Repository [#y578f55d]

-https://www.yatex.org/hgrepos/hgweb.cgi/yatex/
-https://www.yatex.org/gitbucket/yuuji/yatex

**Changelog [#i1b2f4c2]

-https://www.yatex.org/hgrepos/hgweb.cgi/yatex/shortlog/
-https://www.yatex.org/gitbucket/yuuji/yatex/commits/devel

//**Issues [#h1e3c529]

//-[[Emacs26 LaTeX 問題解決:http://www.geocities.jp/flutecore/Weblog/archives/2017/01/entry_329.html]]
//-[[午後まで寝込む 〜 Emacs をアップデートする:http://fanblogs.jp/goodfornothing/archive/416/0]]
//-[[YaTeXが使ってるstring-to-intって今のEmacs masterだと廃止されてる:https://twitter.com/rizaudo/status/833893329054027776]] --> [[Emacs 26.1 で string-to-int 関数がなくなった:https://at-aka.blogspot.com/2017/01/emacs-string-to-int.html]]

**Installing YaTeX [#b1f681d2]

MELPA

-https://melpa.org/#/yatex
-https://github.com/melpa/melpa/blob/master/recipes/yatex
-https://github.com/melpa/melpa/commits/master/recipes/yatex

//El-Get
//
// (el-get-bundle yatex :type hg :url "http://www.yatex.org/hgrepos/yatex" :branch "dev")
//
//-[[(el-get-bundle yatex :type hg :url "http://www.yatex.org/hgrepos/yatex" :branch "dev"):https://twitter.com/munepixyz/status/899080252386721792]]
//
//Cask
//
// (depends-on "yatex" :hg "http://www.yatex.org/hgrepos/yatex")
//
//-[[(depends-on "yatex" :hg "yatex.org/hgrepos/yatex"):https://twitter.com/takaxp/status/899310308409319424]]

**Settings for Windows [#m8e70dd4]

 ;;
 ;; 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)
 (setq YaTeX-kanji-code nil)
 (setq YaTeX-latex-message-code 'utf-8)
 (setq YaTeX-dvi2-command-ext-alist
       '(("TeXworks\\|texworks\\|texstudio\\|mupdf\\|SumatraPDF\\|Preview\\|Skim\\|TeXShop\\|evince\\|atril\\|xreader\\|okular\\|zathura\\|qpdfview\\|Firefox\\|firefox\\|chrome\\|chromium\\|MicrosoftEdge\\|microsoft-edge\\|Adobe\\|Acrobat\\|AcroRd32\\|acroread\\|pdfopen\\|xdg-open\\|open\\|start" . ".pdf")))
 (setq tex-command "lualatex -synctex=1")
 ;(setq tex-command "luajitlatex -synctex=1")
 ;(setq tex-command "xelatex -synctex=1")
 ;(setq tex-command "pdflatex -synctex=1")
 ;(setq tex-command "platex-ng -synctex=1")
 ;(setq tex-command "ptex2pdf -u -l -ot \"-kanji=utf8 -no-guess-input-enc -synctex=1\"")
 ;(setq tex-command "latexmk")
 ;(setq tex-command "latexmk -e \"$lualatex=q/lualatex %O -synctex=1 %S/\" -e \"$bibtex=q/upbibtex %O %B/\" -e \"$biber=q/biber %O --bblencoding=utf8 -u -U --output_safechars %B/\" -e \"$makeindex=q/upmendex %O -o %D %S/\" -norc -gg -pdflua")
 ;(setq tex-command "latexmk -e \"$lualatex=q/luajitlatex %O -synctex=1 %S/\" -e \"$bibtex=q/upbibtex %O %B/\" -e \"$biber=q/biber %O --bblencoding=utf8 -u -U --output_safechars %B/\" -e \"$makeindex=q/upmendex %O -o %D %S/\" -norc -gg -pdflua")
 ;(setq tex-command "latexmk -e \"$xelatex=q/xelatex %O -synctex=1 %S/\" -e \"$bibtex=q/upbibtex %O %B/\" -e \"$biber=q/biber %O --bblencoding=utf8 -u -U --output_safechars %B/\" -e \"$makeindex=q/upmendex %O -o %D %S/\" -norc -gg -pdfxe")
 ;(setq tex-command "latexmk -e \"$pdflatex=q/pdflatex %O -synctex=1 %S/\" -e \"$bibtex=q/bibtex %O %B/\" -e \"$biber=q/biber %O --bblencoding=utf8 -u -U --output_safechars %B/\" -e \"$makeindex=q/makeindex %O -o %D %S/\" -norc -gg -pdf")
 ;(setq tex-command "latexmk -e \"$pdflatex=q/platex-ng %O -synctex=1 %S/\" -e \"$bibtex=q/upbibtex %O %B/\" -e \"$biber=q/biber %O --bblencoding=utf8 -u -U --output_safechars %B/\" -e \"$makeindex=q/upmendex %O -o %D %S/\" -norc -gg -pdf")
 ;(setq tex-command "latexmk -e \"$latex=q/uplatex %O -kanji=utf8 -no-guess-input-enc -synctex=1 %S/\" -e \"$bibtex=q/upbibtex %O %B/\" -e \"$biber=q/biber %O --bblencoding=utf8 -u -U --output_safechars %B/\" -e \"$makeindex=q/upmendex %O -o %D %S/\" -e \"$dvipdf=q/dvipdfmx %O -o %D %S/\" -norc -gg -pdfdvi")
 ;(setq tex-command "latexmk -e \"$latex=q/uplatex %O -kanji=utf8 -no-guess-input-enc -synctex=1 %S/\" -e \"$bibtex=q/upbibtex %O %B/\" -e \"$biber=q/biber %O --bblencoding=utf8 -u -U --output_safechars %B/\" -e \"$makeindex=q/upmendex %O -o %D %S/\" -e \"$dvips=q/dvips %O -z -f %S | convbkmk -u > %D/\" -e \"$ps2pdf=q/ps2pdf.exe %O %S %D/\" -norc -gg -pdfps")
 (setq bibtex-command "latexmk -e \"$lualatex=q/lualatex %O -synctex=1 %S/\" -e \"$bibtex=q/upbibtex %O %B/\" -e \"$biber=q/biber %O --bblencoding=utf8 -u -U --output_safechars %B/\" -e \"$makeindex=q/upmendex %O -o %D %S/\" -norc -gg -pdflua")
 (setq makeindex-command "latexmk -e \"$lualatex=q/lualatex %O -synctex=1 %S/\" -e \"$bibtex=q/upbibtex %O %B/\" -e \"$biber=q/biber %O --bblencoding=utf8 -u -U --output_safechars %B/\" -e \"$makeindex=q/upmendex %O -o %D %S/\" -norc -gg -pdflua")
 (setq dvi2-command "rundll32 shell32,ShellExec_RunDLL SumatraPDF -reuse-instance")
 ;(setq dvi2-command "texworks")
 ;(setq dvi2-command "texstudio --pdf-viewer-only")
 (setq tex-pdfview-command "rundll32 shell32,ShellExec_RunDLL SumatraPDF -reuse-instance")
 ;(setq tex-pdfview-command "texworks")
 ;(setq tex-pdfview-command "texstudio --pdf-viewer-only")
 (setq dviprint-command-format "powershell -Command \"& {$r = Write-Output %s;$p = [System.String]::Concat('\"\"\"',[System.IO.Path]::GetFileNameWithoutExtension($r),'.pdf','\"\"\"');Start-Process AcroRd32 -ArgumentList ($p)}\"")
 
 (defun sumatrapdf-forward-search ()
   (interactive)
   (progn
     (process-kill-without-query
      (start-process
       "fwdsumatrapdf"
       nil
       "fwdsumatrapdf"
       (expand-file-name
        (concat (file-name-sans-extension (or YaTeX-parent-file
                                              (save-excursion
                                                (YaTeX-visit-main t)
                                                buffer-file-name)))
                ".pdf"))
       (buffer-name)
       (number-to-string (save-restriction
                           (widen)
                           (count-lines (point-min) (point))))))))
 
 (add-hook 'yatex-mode-hook
           '(lambda ()
              (define-key YaTeX-mode-map (kbd "C-c s") 'sumatrapdf-forward-search)))
 
 (add-hook 'yatex-mode-hook
           '(lambda ()
              (auto-fill-mode -1)))
 
 ;;
 ;; RefTeX with YaTeX
 ;;
 ;(add-hook 'yatex-mode-hook 'turn-on-reftex)
 (add-hook 'yatex-mode-hook
           '(lambda ()
              (reftex-mode 1)
              (define-key reftex-mode-map (concat YaTeX-prefix ">") 'YaTeX-comment-region)
              (define-key reftex-mode-map (concat YaTeX-prefix "<") 'YaTeX-uncomment-region)))

**Usage [#le3f3c45]

:Typeset|
:|C-c C-t j
:BibTeX|
:|C-c C-t b RET
:Make&#x49;ndex|
:|C-c C-t i RET
:Preview|
:|C-c C-t p RET RET
:Print|
:|C-c C-t l RET
:Forward search|
:|C-c C-g