Hatena::Groupmkdir

作業ログとかをメモする場所。

2012-12-01

Illustrator で作った図を .ai ファイルのまま LaTeX に埋め込む

| 04:22

LaTeXで図を使うにはEPSを作れ」という太古の昔からの伝承を信じて、Illustratorで作った図をわざわざEPSファイルを作って\includegraphicsしていたのだけど、よく調べたら普通にPDFを埋め込んだりもできるらしいので、「じゃあ.aiファイルもPDFとして開いたりできるんだし.aiファイルそのまま埋め込めるんじゃないの?」とか思ってやってみたらできた。

Illustratorで図を作るときの設定はだいたいこんな感じにする

http://gyazo.com/444b46e5d54ededb7c05a43685ad59e4.png

ポイントは、「単位」を「ピクセル」にしておくこと。これはあとからでも「ドキュメント設定」で変更できるけど。

そして図を作ったら、「アートボードツール」でアートボードの大きさを調整する。馴染みがない機能かもしれないけど、こういうアイコンのやつです。http://gyazo.com/c750ff4ccaa57293f63d84eb62d41de5.png

それができたら、「情報」ウィンドウでアートボードの位置と大きさを確認する(出てない場合はメニューバーの「ウィンドウ」から表示させる)。アートボードをクリックすると以下のようになるので、この数値をメモるか覚える*1。単位がpxでなかったら「ドキュメント設定」にて単位を「ピクセル」にする。

http://gyazo.com/c9edbdc10112baf174eb54597784c645.png

そして.aiファイルとして保存する。このときに「PDF互換ファイルを作成」にチェックを入れておくのを忘れないようにする。

あとはLaTeXの作業。図を挿入したいところに以下の様な感じで挿入する

\begin{figure}[htbp]
  \begin{center}
  \includegraphics[width=60mm,bb=0 0 478.07 539.196]{my_figure.ai}
  \end{center}
  \caption{キャプション} 
  \label{fig:myFigure}
\end{figure}

ポイントは、includegraphicsのオプションにbb (Bounding Box)を入れるところで、ここにアートボードの位置と大きさを入れないとうまくいかない。ebbというツールを使うと自動で計算してくれるのだけど、なんかズレたしファイルが増えるのも嫌なので手でやる。

あとはコンパイルすればうまくいった。

追記

@ さんに教えてもらったのだけど、本当ならbbの指定なしで埋め込めるはずらしい。でもなぜか手元で作業してるファイルだと上手くいかなかった。とりあえず最初はbb指定なしで埋め込んでみてだめだったら上のやり方をやってみるといいと思う。

http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?Illustrator#l3862bb1

*1Mac OS XだとIllustrator以外のアプリケーションにフォーカスした途端に消えちゃうので

JohnJohn2013/02/04 06:31That's an apt aswner to an interesting question

dnmjrgpdnmjrgp2013/02/05 15:20GK1Tt4 , [url=http://vlvoakzghdtd.com/]vlvoakzghdtd[/url], [link=http://xzgxtjurqbmm.com/]xzgxtjurqbmm[/link], http://muxflxozzgbk.com/

vesateiqvesateiq2013/02/06 20:221Y3APz <a href="http://yagddjldqgsf.com/">yagddjldqgsf</a>

2012-11-12

修士論文用のテンプレートを作った

| 02:58

https://github.com/ymrl/thesis-template

学部卒論では研究室の同期だった黒井さん(@)が作った卒論テンプレート のお世話になったのだけど、大学院には黒井さんがいないので修士論文用に自分で改造した。ついでにまたちょっとLaTeXに詳しくなった。

Makefile

卒論のときはTeXShopを使っていたけど、やっぱり普段使いのエディタで書きたいし、そうするとコンパイルをわざわざTeXShopでやる必要はないし、platex→pbibtex→platexplatexをいちいちやるのは面倒くさいし、先人の知恵にしたがってMakefileを作った。

PDFさえ作れればそれ以上求めるものはないので、makeするとplatex→pbibtex→platexplatex→dvipdfmxしてPDFができる。

文字コード

イマドキのpTeXにはUpTeXというのがあって、内部的にもUTF-8になっているらしい。ということはつまりEUC-JPShift_JISを使わなきゃいけない理由なんてどこにもないんだ!ということで全部のファイルをUTF-8にした。いちおうMakefileではぎりぎりUTF-8に対応したころのpTeXでも使えるように -kanji=utf8 というオプションをつけてある。

余白設定

修士論文はバインダーに綴じて提出するみたいで、オリジナルの卒論テンプレートでは片面印刷用だったのだけど、読みやすさからいったら両面印刷な気がするので両面印刷しても綴じ側の余白が広くなるようにした。

\documentclass[a4j,twoside,openright,11pt]{jreport} % 両面印刷の場合。余白を綴じ側に作って右起こし。

のところで、twosideを指定していれば両面印刷用の設定になるし、openrightを指定していれば右起こし(章の始まり等がすべて右ページで始まる)になる。

体裁

どこまで正確に従う必要があるのかよくわからないのだけど、大学院の資料修士論文の体裁が載っているのでそれに準拠したようにした。元々研究室にあったテンプレートとか、WIDEプロジェクトな人たちの論文とか見ると必ずしもぴったり体裁が大学院の求めているそれと一致していないので、わりと適当でもいいのかもしれない。

.gitignore

Gitを使うときわりとみんな.gitignore書かないけど、ゴミファイルをaddしてコミットログにいろいろ変なものが混じりこむのは気持ち悪いし、.gitignoreがあったほうがいいと思う。気軽に git add . できるほうが絶対いい。

とりあえず紛れ込みそうなものはひととおり.gitignoreに書いた。

使い方

とりあえず、

make 

コマンドさえ覚えていればPDFが作れる。

GitHubからzipで落として解凍して使うでもいいのだけど、修論を機会にgitを初めてみるのもいいと思う。作業過程を記録できるし、GitHubにpushしておけばバックアップ代わりにもなる。だいたい毎年卒論修論の提出が近づくとTwitterとかにハードディスクがクラッシュした話が流れてくる。

学生は https://github.com/edu から申請すればGitHubの有料版(Micro)がタダで貰えて、非公開なリポジトリを作れるようになるので、もらっておいて損はないと思う。非公開なら恥ずかしくないし、自分の友達とか研究室の先生だけCollaboratorsに登録しておけば勝手に校正してもらえたりするかもしれないし、お互いの進捗具合が確認しあえていいと思う。あらかじめGitHubに.ac.jpなメールアドレスを追加してから先ほどのページに行って I'm a student を選択して「Computer Human Interactionを研究してるんだけど、プロトタイプとして開発中のサービスのソースコードとか論文とかを置くのにGitHubを使いたい」みたいなことを書いたら一瞬で有料版がもらえた。たぶん機械がやってる。

あとは、Github修論用の非公開リポジトリを作って、以下のようにすればいい(はず)。

git clone git://github.com/ymrl/thesis-template.git my-thesis
cd my-thesis
git remote set-url remote git@github.com:myname/thesis.git
git push origin master

このあいだほとんどgitを使ったことがないしプログラミングもほとんど素人みたいな人と一緒にGitHubで共有しながらLaTeX論文を書いたけど、pull と add と commit と push が使えればとりあえずなんとかなりそうな感じだった。git作法としてはかなり汚いけど、論文書くくらいらこれだけでもたぶんなんとかなる。

AliAli2013/02/03 07:04Thinking like that is really amzanig

lgselllgsell2013/02/05 10:51aGFv5l , [url=http://wazyxmlagnxm.com/]wazyxmlagnxm[/url], [link=http://cndqewrfcpgn.com/]cndqewrfcpgn[/link], http://hzuovtmxdsci.com/

lsxsobwdvhlsxsobwdvh2013/02/06 00:15z1gRBi , [url=http://ravtkegpupoh.com/]ravtkegpupoh[/url], [link=http://fhfdmmwyccty.com/]fhfdmmwyccty[/link], http://djgvhbskvsqv.com/

2012-11-05

Mac OS X Mountain Lion でのpLaTeX環境構築

| 10:51

学部4年生のときにMac OS X Snow LeopardでのLaTeX環境についてまとめたのがあったのだけど、そろそろまた必要な季節になってきたのでMountain Lion版を書きます。

GhostscriptとImagemagickインストール

これは、元々Homebrewで入れていた環境をそのまま持ってきていたので書いているのですが、「Homebrewって何?」という人は次のMacTexに進んだほうがいいと思います。

Homebrewを使っている人であれば、TeXHomebrewで入れたいところですが、やろうとするとMacTeX使えと言われるので、ここではGhostscriptとImagemagickだけ入れます。

brew install ghostscript
brew install imagemagick

MacTeXのインストール

以前はDrag&Drop pTeXを使っていたのだけど、今回はMacTeXを使います。MacTeXはパッケージサイズが大きくてダウンロードがしんどいのですが、/usr/texbinというわりと普通な場所にインストールされるので、コマンドラインから使いたい人には向いているはずです。大きいファイルのダウンロードが嫌で、TeXShopやその他のGUIソフトしか使わないよ!という方は以前の記事のほうを参考にしてください。

インストール方法については2012年、Mac(Lion)とTeXと日本語と、あとhomebrew - A Way of Codeを参考にしました。ただし、この記事だとまだTex Live 2011ベースなので注意が必要です。

http://www.tug.org/mactex/アクセスして、MacTeX.pkg というリンクをクリックしてダウンロード。サイズがなんと2GBあるのでおとなしく待つ。

インストールが終わったら、しばらく「続ける」をクリック。利用許諾契約に同意すると、4.06GBを使う旨が表示されるので、

http://gyazo.com/773bde0150cbea6cbfa0f7f21da2da91.png

ここで、「カスタマイズ」を押して、パッケージ選択画面を出す。

http://gyazo.com/ff9056b11a37bba5e9c3e9a8d6868a17.png

必要なのは一番上のTeXLive-2012だけなので、これ以外のチェックを外す。ただし、上でGhostscriptとImagemagickを入れてない場合はGhostscriptとConvert-IMは入れておいたほうがいいかもしれない(よく知らない)

あとはしばらく待っていればインストールが終わる。

コマンドラインでの使用

(飛ばしてもいい)

最低限必要なものがインストールし終わったので、この時点で既にコマンドラインでの使用は既にできるようになっているはず。LaTeXの書類があるディレクトリに移動して以下のコマンドを叩けばPDFが生成されるはず

platex -kanji=euc paper # paper.texをコンパイルする。文字コードがShift_JISなら-kanji=sjisにする
dvipdfmx paper # paper.pdfを生成

TeXShopでの使用

MacTeX + TeXShop で日本語を参考にした。

ナウでヤングな若者はコマンドラインで作業できないので、GUIで全作業ができるTeXShopインストールする。

http://pages.uoregon.edu/koch/texshop/

このサイトは昔からどこからダウンロードすればいいのかわからないのだけど、右上の方に小さく「Direct Download: TeXShop 3 for Lion」という部分があるのでそこから。zipで落ちてくるので解凍してApplicationsに放り込む。

そのままだと使えないので、まずTeXShopの環境設定を開いて、左下の「設定プロファイル」から「pTeX (Shift_JIS)」「pTeX (EUC)」を選ぶ。「タイプセット」に移動して「デフォルトスクリプト」をTeX+DVIにして、さらに「内部設定」に移動して、

  • 「パス設定」を /usr/texbin に
  • TeX + dvips + distiller」の「Latex」を「simpdftex platex --mode dvipdfmx --maxpfb --extratexopts "-file-line-error -kanji=sjis" 」(EUCの書類を扱う場合はkanji=eucにする)に

この2つの設定で動くはず。メインウインドウに戻って「タイプセット」を押せばPDFを作るところまでやってプレビューしてくれる。

JosueJosue2013/02/04 02:06These topics are so confusing but this hleepd me get the job done.

AancelalulastfriendAancelalulastfriend2013/02/04 02:06That's a mold-barkeer. Great thinking!

wyglfieknwyglfiekn2013/02/05 14:57pBeYlL , [url=http://nrxdbpfmgkpg.com/]nrxdbpfmgkpg[/url], [link=http://rjbunchqesce.com/]rjbunchqesce[/link], http://wirxnfijfgwe.com/

ixkcrivixkcriv2013/02/05 21:39p1MzT8 <a href="http://xlvuixibxpre.com/">xlvuixibxpre</a>

2011-01-21

卒論をLaTeXで書く

| 14:32

卒論を書くのにLaTeXを使ったので、そのへんの情報で重要そうなやつをまとめておく。

インストール関係

MacpTeXパッケージはOSのバージョンによって細かな設定が違うみたいなので注意が必要(上記はSnow Leopard用)。このパッケージを使う以外にMacPortsを使う方法もあるし、さいきんはMacTeXを使うほうがナウいらしいけどパッケージがデカかったりする。

Ubuntuの日本語環境を使ってる人はなんかパッケージいくつか入れるだけで何とかなった気がする。よくわからないけどずいぶん前にやってあった。

Macの人はTeXShopが結構便利で、適切に設定がされていればひととおりの操作がぜんぶGUIでできるようになる。Windowsにもその手のソフトはいろいろあって、WinShellあたりが有名みたいだけどEUC-JPなファイルが開けなくて死んだ。あんまりWindowsでの環境構築をする必要にかられていないので、必要なら必要な人がちゃんと調べるべきだと思う。

この時点でUnicodeじゃない文字コード絶滅しないかなーとわりと思っていた。

この先で出てくるコマンドは、基本的に上記のやり方でpLaTeXインストールした人向けです。

テンプレート

@kurokobo が卒論用にテンプレートを作ってくれたのでそれを使う。組版にこだわる友達は貴重なので大切にしよう。

使い方

たとえばhoge.texというファイルを作ってあるならこんな感じ。

$ platex -kanji=euc hoge

基本的にはlatexコマンドによって.texファイルをコンパイルするところから始まる。ただし日本語をpLaTeXコンパイルするときはplatexコマンドになる。TeXShopなら「タイプセット」を押すだけでよきにはからってくれる。

latexコマンドを実行すると作られるファイルのうち、.auxファイルは文書内の参照(目次とか図とか参考文献の番号をつくったりするときとか)に使われるものらしく、dviファイルが文書の出力ファイル(実際にどこにどういう文字や図を配置するかを書いてある)らしい。.auxファイルによる文書内の参照は、すでに存在する.auxファイルを読み込んで参照することになっているらしく、1回目のコンパイルだと「図?.?」みたいなのが頻出してしまうので、2回以上実行する必要がある。それくらい1回のコマンド実行で何とかするようにしろよと思うけどLaTeX2eのリリースが93年とかなので仕方がない。ちなみにTeXShopの場合、「hoge.dvi -> hoge.pdf」みたいな表示が出たらlatexコマンドによる処理はもう終わっているので、その終了を待たずに次のタイプセットを始めてしまっていい。

dviファイルを直接閲覧できるソフトもあるみたいだけど、PDFをつくってしまうのが面倒でない気がする。というかTeXShop使ってるとPDF作るところまでやってくれる。ふつうの環境では、latexコマンドを実行したあとにdvipdfmxを使うのが楽っぽい。

$ dvipdfmx -kanji=euc hoge

これで、pdfが作れるはず。

BibTex

参考文献リストを手作業で作ってもいいけど、ダルいのでBibTeXを使うと楽。ciniiなんかだと論文のページからBibTeXが落とせるようになっているので、それを一つのテキストファイルに集約しておけば、そこから引用したときに勝手に参考文献リストが作られる。参考文献のソート順とかも決められるので非常に便利。no titleあたりを見れば使い方は十分わかる感じ。BibTeXが提供されていなくても自分で書けばいい。ちなみに普通の論文BibTeXはこんな感じ。

@article{河谷大和:2010-02-15,
author="河谷 大和 and 柏崎 礼生 and 高井 昌彰 and 高井 那美",
title="アニメにおける人物顔画像の萌え因子特徴評価と検索分類システムへの応用(ITS画像処理,映像メディア,視覚および一般)",
journal="映像情報メディア学会技術報告",
ISSN="13426893",
publisher="社団法人映像情報メディア学会",
year="2010-02-15",
volume="34",
number="6",
pages="113-118",
URL="http://ci.nii.ac.jp/naid/110007581217/",
DOI="",
}

いろんな論文BibTeXを落としてひとつのテキストファイルにまとめて、.bibという拡張子で保存しておけば投稿論文とかを書くときにも使いまわせるはず(本文で使われたものだけ参考文献のところに記載される)。

Webページを参考文献に入れる場合は、.texファイルで\usepackage{url}した上でこんな感じに書いた。

@misc{googleBlog:trillionPages,
    title={ymrl.net},
    note="\url{http://www.ymrl.net/} 2011年1月21日に閲覧",
}

BibTeXもやっぱりEUC-JPでつくると文字化けするので

 $jbibtex -kanji=euc hoge

みたいにやらなければならない。しかもTeXShopbibtexコマンドの設定をするところが見当たらないので、こういうことをしなければならない(本来ならコマンド+シフト+Bだかでできるはず)。非常に面倒なのでUnicodeじゃない文字コードは滅ぼしたい。

長いURL問題

参考文献以外に長いURLを大量に書かなければいけないところがあって、本来なら\url{}を使えば自動で折り返しが出来るはずなんだけどエンコードされたURLでダメだった。いろいろ探して下記のやり方で解決した。

web ページの参考文献としての書き方. 以下のようにして,misc で howpublished か note に \texttt で URL を書く. abbrv だと著者を勝手に解釈して省略し,大文字小文字も変えようとするので, "{XXX XXX}" とする.{{XXX XXX}} でもいいかも知れない. URL途中で改行できるように,\allowbreak を \newcommand{\ab}{\allowbreak} して \ab{} を入れまくる.

http://www.sfc.wide.ad.jp/~yasu/ja/education/doctoral-memorandum.html

なんか美しくないやり方だったので、本当にLaTeX滅ぼしたかった。

文字数カウントとか自動化

卒論のファイルはぜんぶgitで管理して、作業がすすむごとにcommitして研究室のサーバーにpushしてた。ついでに、そのサーバー内で定期的にリビジョンが変わっていたらTwitterに文字数をカウントしてpostするようなスクリプトを作って動かしていた。文字数を数えるスクリプトgithubに置いた

さらに、頻繁にタイプセット押して待つ時間が勿体無く感じたので、サーバー側でリビジョンが変わっていたときにlatexコマンドとjbibtexコマンドとdvipdfmxコマンドを適宜実行してPDFを吐いてpublic_htmlに置いてくれる機能を作って使っていた。こうするとわざわざPDF作成を待つ必要がないし、人にURLを投げてチェックしてもらえるので便利。

そもそもLaTeXを使う意味があるのか問題

みんながWordの書式設定使ってちゃんと見出しに番号振れるんならWordでもいいんじゃないのという気はする。実際にはフォントをデカくしただけの見出しを作る人が続出して失敗しそうだけど。

2010-12-19

Mac OS X 10.6 Snow Leopard での TeX 環境構築

| 02:37

TeX 環境に特にこだわりはない(というか詳しくないのでよく知らない)けれども、研究室の論文テンプレートEUC-JPで書かれているのでおとなしくそれに従って環境を構築した。

pTex本体とGhostscriptのインストール

小川先生のサイトから Drag&Drop pTeXと ESP Ghostscriptをダウンロードする。

http://www2.kumagaku.ac.jp/teacher/herogw/

D&D pTeXはとりあえず /Applications ディレクトリに放りこんで、一度実行しておく。ESP GhostscriptはESPGhostscript.pkgを実行してインストール

TexShopインストール

http://pages.uoregon.edu/koch/texshop/

どこからダウンロードすればいいのかよくわからない感じのページだけど、右上のほうに小さく Direct Download と書いてあるところがあるのでそこから落とす。

解凍すると本体が出てくるので、これも /Applications に入れておく

TeXShopの設定

ここでものすごくハマる。小川先生パッケージのpTeXは内部コードがShift_JISなので、-kanji=eucオプションをつける必要があるらしい。

  1. TeXShopの環境設定を開く
  2. 左下の「設定プロファイル」からpTeX (EUC) を選ぶ。これである程度EUC向けの設定になる。
  3. 「内部設定」タブに移動して、パスを下記に変更する。(オプションについてはよくわからないけど、Drag&Drop pTeXのREADMEの設定に -kanji=euc を付けるだけで大丈夫そうな気もする。いちおうもともとあったオプションを残してる)
    • パス設定
    • pdfTeX
      • TeX : pdftex --file-line-error --shell-escape --synctex=1 -kanji=euc
      • LaTeX : pdflatex --file-line-error --shell-escape --synctex=1 -kanji=euc
    • TeX + dvips + distiller

これで @ が作った(改造した)卒論用TeXテンプレートTeXShopで開いてタイプセットしたら無事にPDFが生成されたので、たぶんこれでいいんだとおもう。