MacでTeXでScala書いたよ | Pimp my Code. @wataru420

Pimp my Code. @wataru420

My name is Wataru Fukunaga.

会社で技術レポートを書く機会があり、TeXの環境を作った時の備忘録的ななにか。
TeXってすごいいい!プログラマーはWordより絶対TeXのがしっくりくると思うよ!

まずMacTeXを入れる

http://www.tug.org/mactex/2011/

このサイトからMacTeX.mpkg.zipをダウンロードして解凍、インストーラーを起動する。
するとアプリケーションフォルダにTeXフォルダができます。

UpTeXを入れる

日本語が使えるようにするためにUpTeXを入れる必要があります。

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

上記サイトの●Drag & Drop UpTeXのリンクからUTeX20111010.dmgをダウンロード。
起動します。
初期設定しますかと出てくるので、はいを選んだら終わりです。

Pimp my Code. @wataru420-UpTeX

TeXShopの設定

次にUpTeXをTexShopに設定する必要があります。
TeXShopの環境設定から以下の項目を修正します。
1.書類タブの左下の「設定プロファイル」から「pTeX (Shift JIS)」を選ぶ
2.タイプセットタブで「TeX+DVI」を選ぶ
3.内部設定タブの(pdf)TeXに/Applications/UpTeX.app/teTeX/binを設定する

Pimp my Code. @wataru420-TeXShop

4.書類タブの右中断のエンコーディングでJapanese(ShiftJIS)を選ぶ

しかし、このままだと


kpathsea: Running mktexfmt platex-sjis.fmt
I can't find the format file `platex-sjis.fmt'!

こんなエラーが出るから

~/Library/TeXShop/bin/platex2pdf-sjisをエディターで開いて


ptex -kanji=$ENCODE -fmt=$PTEX-$ENCODE -progname=$PTEX $1 && \

という行を


ptex -kanji=$ENCODE -progname=$PTEX $1 && \

に修正します。

とりあえず書いてみる

TeXShopからファイル、新規作成で下記のコードを書きこんでみる。

documentclass{jarticle}

usepackage{scala}

begin{document}

こんにちわ

end{document}

保存してタイプセットボタンを押すと小さなコンソール画面とPDFが出てくるはずです。

ソースを貼り付けたい

技術的な文章を書くのでソースの貼り付けをしたい場合は、ソース貼付け用プラグインを入れる必要があります。
listingsというプラグインなのですが、入れ方は下記のサイトを見て下さい。
http://blog.santalinux.net/?p=135
素晴らしいサイトです。

ちなみにlistingsシンタックスハイライトできる一覧は下記のページにあります。

http://en.wikibooks.org/wiki/LaTeX/Packages/Listings

ただ、scalaはありません。。

scalaシンタックスしてみる

scalaのシンタックス用のstyファイルを作り、それを読みこめばハイライトされます。
usepackage{listings}
 
% "define" Scala
lstdefinelanguage{scala}{
morekeywords={abstract,case,catch,class,def,%
do,else,extends,false,final,finally,%
for,if,implicit,import,match,mixin,%
new,null,object,override,package,%
private,protected,requires,return,sealed,%
super,this,throw,trait,true,try,%
type,val,var,while,with,yield},
otherkeywords={=>,<-,<%,<:,>:,#,@},
sensitive=true,
morecomment=[l]{//},
morecomment=[n]{/*}{*/},
morestring=[b]",
morestring=[b]',
morestring=[b]"""
}

usepackage{color}
definecolor{dkgreen}{rgb}{0,0.6,0}
definecolor{gray}{rgb}{0.5,0.5,0.5}
definecolor{mauve}{rgb}{0.58,0,0.82}
 
% Default settings for code listings
lstset{frame=tb,
language=scala,
aboveskip=3mm,
belowskip=3mm,
showstringspaces=false,
columns=flexible,
basicstyle=renewcommand{baselinestretch}{0.95}ttfamily,
numbers=none,
numberstyle=tinycolor{gray},
keywordstyle=color{blue},
commentstyle=color{dkgreen},
stringstyle=color{mauve},
frame=single,
breaklines=true,
breakatwhitespace=true
tabsize=3
}
このファイルを先ほどのコードで読み込みます。
documentclass{jarticle}

usepackage{scala}

begin{document}

こんにちわ

begin{lstlisting}
val t = "hello" // a string
val x = 42 // an int
end{lstlisting}

end{document}
これでキレイなドキュメントができます。
TeXってなんかHTMLみたいに体系的に書けて、Wordの100倍ぐらい気持ちよく書けますね!

TeXコマンドサイト

TeXを書くときに使えるコマンドサイトです。

http://cns-guide.sfc.keio.ac.jp/2000/8/index.html

http://www1.kiy.jp/~yoka/LaTeX/latex.html

その他参考にしたサイト

http://tihlde.org/~eivindw/latex-listings-for-scala/
http://osksn2.hep.sci.osaka-u.ac.jp/~taku/osx/install_texshop.html
http://pub.ne.jp/cafe_mocha/?entry_id=2630295

[改訂第5版] LaTeX2e 美文書作成入門[改訂第5版] LaTeX2e 美文書作成入門
奥村 晴彦

技術評論社 2010-07-07
売り上げランキング : 21948

Amazonで詳しく見る