texまとめ

以前の

あまり参考にならない
http://d.hatena.ne.jp/trotr/20081222 :ubuntuでとりあえずTeXが使えるようになる。
http://d.hatena.ne.jp/trotr/20081223 :emacsで書くなら、YaTeXが便利*1

ubuntulatexはdefaultでeuc-jp

utf-8で書くと文字化けする。ファイルの先頭に

%  -*- coding: euc-jp -*-

を入れておけばいい。*2

templateの作成

だいたいA4で印刷できて、画像が挿入できればいい。

(defun tex-template () (interactive)
  (let ((l
	 (list 
	  "%  -*- coding: euc-jp -*-"
	  "\\documentclass[a4j,10pt]{jarticle}"
	  "\\usepackage[dvipdfm]{graphicx}"
	  "\\usepackage{wrapfig}"
	  ""
	  "\\begin{document}"
	  "\\title{}"
	  "\\author{}"
	  "\\date{}"
	  "\\maketitle"
	  ""
	  "\\begin{abstract}"
	  "\\end{abstract}"
	  "\\end{document}")))
    (dolist (line l)
      (insert line "\n"))))

画像の挿入

ebbを使うとjpegとかpng形式の画像でも問題ないみたい

.bbファイルの作成
ebb *.png
まわりこみで画像を挿入

usepackage{wrapfig}が必要

(defun wf (file direction size) 
  (interactive (list (read-file-name "filename:")
		     (read-minibuffer "direction(l or r):" "r")
		     (read-number "size(mm)" 60)))
  (save-excursion
    (let ((l 
	   (list 
	    (format "\\begin{wrapfigure}{%s}{%dmm}" direction size)
	    " \\begin{center}"
	    (format "  \\includegraphics[width=%dmm,clip]{%s}" (- size 10) (file-name-nondirectory file))
	    "  \\caption{}"
	    " \\end{center}"
	    "\\end{wrapfigure}")))
      (dolist (line l) (insert line "\n")))))

出力結果の表示はpdfを見た方がいい。

jpeg画像などを挿入した時にxdviだと、何も表示されなかった。dvipdfmxを使うといい。

(define-key YaTeX-mode-map "\C-c\C-@" 
  (lambda () (interactive) 
    (let* ((file (buffer-file-name))
	   (ext-len (length (file-name-extension file)))
	   (name (substring file 0 (- (length file) 1 ext-len))))
      (shell-command
       (concat "ruby -e 'Dir[\"*.{png,jpg}\"].reject{|e| File.exist?(e.gsub(File.extname(e),\".bb\"))}.each{|e| p e; `ebb #{e}`}'; "
	       (format "platex %s\.tex -halt-on-error && dvipdfmx %s\.dvi && xpdf %s\.pdf" name name name)))))

*1:id:splash-freshさんに教えてもらった

*2:id:CoolDriverさんに教えてもらった。