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-13

jbibtexが文字化けする

| 18:15

TeXShopでShift+Command+Bするとbibtexが実行できて、設定画面からbibtexとjbibtexを選べるようになってるんだけど、EUCなファイルを作ってると文字化けする。仕方が無いのでTerminal.appから

/Applications/pTeX.app/teTeX/bin/jbibtex -kanji=euc hoge.aux

HappyHappy2012/11/03 04:12If I were a Teaenge Mutant Ninja Turtle, now I'd say "Kowabunga, dude!"

cqacsdfqncqacsdfqn2012/11/03 11:00MEhvSo <a href="http://wjganiyjjbmv.com/">wjganiyjjbmv</a>

2011-01-07

WindowsでEUC-JPな日本語LaTeXファイルをコンパイルしてPDFを作成する。

| 15:36

研究室でWindowsでのTeX環境構築についてやりかたが書かれた資料がなかったので実際に試して(学部生向けに)書く。いわゆる卒論からの現実逃避である*1。研究室で使われているLaTeXファイルがすべてEUC-JPなので、若干めんどくさい。

TeXインストーラ3を使って必要なものを揃える。

阿部紀行氏のサイトからTeXインストーラ3ダウンロードしてくる。

http://www.ms.u-tokyo.ac.jp/~abenori/mycreate/abtexinst.html

これを使うと、自動的に必要なファイルをダウンロードしてインストーラを実行して、PATHまで通してくれる。とりあえずここは素直に標準の設定のままひたすらOKを押し続けて必要なファイルをインストールする。少し時間がかかる。

これだけでインストール作業は終了。インストーラの指示にしたがって再起動したりする。

TeXのファイルを作る・編集する

普通はWinShellなどをつかうようなのだけど、EUC-JPが作れないので別のエディタを使う。メモ帳ではEUC-JPのファイルを処理できないので、もしまともなエディタが入っていないのであればサクラエディタ等を導入する*2

http://sakura-editor.sourceforge.net/

ファイルは研究室のテンプレートなどを使う。なければ作る(文字コードEUC-JP、改行コードをLFにしておく)

\documentclass{jarticle}
\begin{document}

ほげほげほげほげほげほげほげほげほげ

\TeX

\end{document}

TeXのファイルをコンパイルする

ここでは例として、マイドキュメントにtextestというフォルダをつくってその中にtest.texというファイルを作ったとする。

コマンドプロンプトを立ち上げて、cdコマンドでtexファイルのあるディレクトリまで移動する。

cd C:\Users\ymrl\Document\textest

TeXコンパイル(ファイルの内容によっては、2回以上コンパイルする必要がある)

platex -kanji=euc test

これでtest.dviというファイルが作成される。さらにこれをPDFに変換する

dvipdfmx test

これでtest.pdfというファイルが作成されて、Adobe Reader等で開けるようになった。

LaTeXのPDF作成を自動化したい→した

| 04:27

いちいちタイプセットかけるのがめんどくさいので、朝起きたら卒論の昨日まで書いた部分が反映されたPDFができているくらいになっておいてほしい。エラーが出たらとりあえずそこで止める感じにしたいので、yesコマンドでxを入力して強制的に終了させる。そしてdvipdfmxでPDFを吐かせる感じ。エラーが出ていたらその前くらいのページまでPDFが作られるっぽい。

卒論自体はgitで管理していて、git pushしておくと5分ごとにサーバー内でpullして文字数をカウントしてTwitterに発言するようになっている。そのpullしたディレクトリにあるファイルをコンパイルしてPDFを勝手に作るようにするのが今回の目的。

以下をcrontabに書いておく。

0 */4 * * * cd $HOME/dev/sotsupro/2010_thesis;yes x|platex -kanji=euc main.tex;dvipdfmx main.dvi >/dev/null 2>&1

*1:実際には卒論のシステムの実装の都合上時間がかかる上にその間いっさいそのマシンを使えないという状況だったのでWindowsを触ったりしていただけなので逃げようとしていたわけではない

*2:うちの学部は情報系のくせにまともにエディタ選びをしたことがある人が少なすぎるので、これを機にテキストエディタについてすこし勉強してほしい