トップ «前の日(07-21) 最新 次の日(07-23)» 追記
【ソース+水=麦茶色の何か】

半期 四半期 全カテゴリ

今日の一言


2010/07/22(Thu) タイムリミットまであと・・・ 編集

_ [Linux][Ubuntu][FC][Debian][Tex][雑記] Debianでtex環境を整える

Debianでは、gs-cjk-resourcesやcmap-adobe-japan1などのcmap関連パッケージ等をaptでインストールするには、apt-line に non-free を追加する必要がある。

具体的には、/etc/apt/sources.list の一部を以下のように書き換える。

 #deb http://ftp.jp.debian.org/debian/ lenny main
 deb http://ftp.jp.debian.org/debian/ lenny main non-free

これで、

 #apt-get update

し、

 # apt-get install texlive texlive-latex-extra dvipng latex-xft-fonts okumura-clsfiles xdvik-ja dvipsk-ja latex-cjk-japanese latex-cjk-japanese-wadalab jbibtex-bin mendexk xpdf xpdf-japanese gv gs-cjk-resource cmap-adobe-japan1 cmap-adobe-japan2 cmap-adobe-cns1 cmap-adobe-gb1 cmap-adobe-korea1 nkf

とすれば、必要なものがすべてインストールされるはず。

あとは、texファイルを用意し、コンパイルすればいい。

*ただし、文字コードはEUCにしておく必要あり。

 $ nkf -e hoge.tex > hoge.euc.tex

*「WARNING ** Could not open config file "fontmapsx". 」みたいなエラーが出る場合、次のようにリンクを貼れば直る。

 # ln -s /etc/texmf/dvipdfm /etc/texmf/dvipdfmx

*こちら(ttp://be.nucl.ap.titech.ac.jp/~koba/mem/config.html)にtex関連コマンドの使い方がまとめられていたので、引用させていただきました。

$ platex hoge.tex # hoge.texをコンパイルし、hoge.dviを作る。

$ dvips hoge.dvi # hoge.dviをhoge.psに変換。

$ ps2pdf hoge.ps # hoge.psをhoge.pdfに変換。

$ pdf2ps hoge.pdf # hoge.pdfをhoge.psに変換。

$ dvipdf hoge.dvi # hoge.dviを一端PostScriptに変換し、pdfに変換。

$ dvipdfmx hoge.dvi # hoge.dviを直接hoge.pdfに変換。

$ xdvi hoge.dvi # hoge.dviを見る。

$ gv hoge.ps # hoge.psを見る。

$ gv hoge.pdf # hoge.pdfを見る。

$ acroread hoge.pdf # Abode Readerでhoge.pdfを見る。

というか、こんなにいいページがあるなら、自分が覚書を書いた意味はなかったかも・・・。


2011/07/22(Fri) キツネ耳なロボ巫女さんが出る漫画が読みたい。 編集

_ [プログラミング][Android][Windows][Linux][Ubuntu][Debian][FC][Java][GALAXY S]Androidアプリにも利用可能なJavaの関数電卓プログラム(文字列を数式に読み替えて計算するJavaクラス)

以前にJavaでAndroid用の電卓アプリを作ったので、一番のキモである『文字列を数式に読み替えて計算するクラス』を公開することにしました。

DLはこちら(http://akihiro-i.net/~akihiro-i/public_files/20110722_MyStringParser.zip

Android関係の関数を含まないクラスのため、Androidアプリだけでなく、通常のCUIやGUIのJavaプログラムにも組み込むことが出来ます。

なお、権利云々をとやかく言う気はありませんが、以下の点にだけは目を通しておいてください。

・完全無料で使用していただけます。
・使用に関しては自己責任でお願いします。
・DLしたファイルをそのまま自分のものとして公開するのはやめてください。改良・修正したものであればOKです。
・強制ではありませんが、引用元として本サイトを紹介していただけるとうれしいです。
・周囲にある広告バナー経由でなにか買い物をしていただけると、私はかなりうれしいです。

文字列の数式への読み替え

一般的な数式の文法は大別すると以下の形でまとめられる。

1. 基本的には左から順に計算する
2. 括弧がない場合、先に乗除算を計算して、その後、加減算を行う
3. 括弧がある場合は、先に括弧の中を計算する。なお、括弧内の計算は上述の計算順序に従う

以上の文法を、再帰下降構文解析という手法を使ってプログラムのフローチャートに表したものが以下の図である。

※こちら(http://ruffnex.oc.to/kenji/src/0index.html)のCUI電卓プログラムを参考にさせていただきました。

プログラムのフローチャート

これを基本とし、関数に関する処理を加えることで、文字列からの計算を行う。

基本的には、通常の四則演算のルールに従う。ただし、乗算記号 "*" の省略は不可とする。また、関数については、その引数を "()" を使って表現する。関数の計算については、基本的にJavaのMathクラスを使用する。

なお、計算をdoubleで行っているために、丸め誤差が生じることに注意すべし。必要であればBigDecimalで書き直すこと。

(たとえば、1.2と入力すると、1.2000000000000002と表示される等)

使用できる記号について

以下のものが使用可能です。

+    加算
-    減算
*    乗算
/    除算
^    累乗
PI    円周率(Math クラスを使用)
e    自然対数の底(Math クラスを使用)
sin(x)  xのサイン
cos(x)  xのコサイン
tan(x)  xのタンジェント
asin(x) xのアークサイン
acos(x) xのアークコサイン
atan(x) xのアークタンジェント
log(x)  底が10の対数関数
ln(x)  底がeの対数関数
sqrt(x) xの平方根
E:   指数表記

補足情報

・エラーメッセージにリソースバンドルを使っているため、(無意味に)国際化対応が可能です。

・テキストエディタでは.propertiesが文字化けしているように見えますが、Eclipseで表示するときちんと日本語で表示されます。

・Javadocを使うことで、MyStringParser.javaのドキュメントが作成できます。

・TestMyStringParser.javaは、MyStringParser.javaをテストするための、超てきとーなプログラムです。信用しないでください。