このフォルダ(rpt)には、ruby, pandoc, 統計ソフトR, LaTeX(w32tex)といったフリーウェアが入っています。MS-Windowsで動作する実行ファイルです。
いずれも基本的にコマンドプロンプト(DOS窓)で起動させるコマンドですが、rptの導入により、次の2つの手順で実行できるようになります。
上の2ステップで実行できるよう工夫してあります。
注目のファイルというのは、例えば rubyプログラムのファイルです。それを実行したい時は、「送る」メニューの「r rubyの実行」を選びます。この場合、標準出力は X_OUT.TXT、標準エラー出力は X_ERROR.TXT に書き出されます(書き出さないようにすることもできます)。
また、Excel, Word, パワーポイント, 一太郎などのファイルに焦点を当てて、「送る」メニューから「t textへの変換」を選ぶと、変換結果が test.xlsx.txt とか test.docx.txt などとして書き出されます。
なお、コマンドライン(DOS窓)で使いたい時は、rpt_cmd.batを実行して下さい。ruby, pandocなどにパスが通った状態でコマンドを実行できます。
実行をチェックしたMS-Windowsのバージョンは、WindowsXP, VISTA, SEVEN, 8.1 です。
以下、関連のファイルとフォルダについて記します。
これを実行すると、「送る」メニューに関連のメニュー項目が登録されます。
また、pandocのreference.docx(スタイルの元となる参照用ファイル)をハードディスクの所定のフォルダに設けます。
登録される「送る」メニューは次の3つです。
これを実行すると、「送る」メニューの関連項目が消去されます。
ハードディスク上に設けられたpandoc用reference.docxも削除されます。
これを実行すると、MS-Windowsのコマンドライン(DOS窓)の状態になります。
ruby, pandoc, 統計ソフトR, LaTeX(w32tex), xdoc2txtの実行ファイルは、フルパス名でなく、単に ruby.exe とか pandoc.exe と入力すれば実行できます。
それら実行ファイルがあるディレクトリにパスが通った状態で、DOS窓が開きます。
DOS窓を閉じる時は、通常どおり「exit [enter]」を入力して下さい。
なお、この rpt_cmd.bat というバッチコマンドは、前述の rpt_set.bat の実行の有無に関係なく使うことができます。
このフォルダの中には、Excel, Word, 一太郎, パワーポイント, pdf など様々なファイルをテキストファイルに変換するためのツールがあります。主役は xdoc2txt.exe です。
test.doc というファイルに焦点を当てて、「送る」メニューの「t textへの変換」を選ぶと、test.doc.txt が作られます。
OCR機能はないので、画像化された文字を変換することはできませんが、変換処理が迅速で便利です。
xdoc2txt.exe のバージョン情報は次のとおり。
xdoc2txt 2.10 (Apr 14 2015)
また、xdoc2txtのサイトは次のところです。
xdoc2txt − PDF,WORD,EXCEL,一太郎などの各種バイナリ文書からテキストを抽出
このフォルダの中には、htmlやmarkdownをWordのファイルに変換する pandoc.exe が入っています。
pandocには、Wordファイルだけでなく多様なファイルに変換する機能がありますが、rptパッケージでは主にWordファイルへの変換を取り上げています。
sampleには、rubyプログラムの中で pandoc を利用するものがいくつかあります。
pandocのバージョンは 1.14.0.1 です。
日本語の解説として、Pandoc ユーザーズガイド 日本語版があります。
pandocのダウンロードサイトは Pandoc - Installing です。
このフォルダの中には、日本語に対応したLaTeX(w32tex)関連のコマンドやフォントなど様々なファイルが入っています。
w32texのフルセット版+cjkzrを生成するための55個の圧縮ファイルをダウンロード・解凍しました。2015/05/16現在で最新のものです。
ダウンロードしたサイトは、次のミラーサイトです。
Index of /mirror/w32tex/current
ダウンロード・解凍した圧縮ファイルについては、 rptパッケージにおけるw32tex導入ファイル一覧を参照して下さい。
このフォルダの中には、統計解析ソフトRに関連するファイルが一式入っています。
rptパッケージでは、Rを直接実行するのではなく、rubyを通して実行するようにしています。
Rのバージョン情報は次のとおり。
R version 3.2.0 (2015-04-16) -- "Full of Ingredients"
Copyright (C) 2015 The R Foundation for Statistical Computing
Platform: i386-w64-mingw32/i386 (32-bit)
このフォルダの中には、プログラム処理系のrubyが入っています。32bit版の ruby.exe です。
rpt付属のサンブルでは、Excel, Word, 統計解析ソフトRなどを動かすのに使っています。
ruby用のプログラム test.rb あるいは test.rb.txt に焦点を当てて、「送る」メニューの「r rubyの実行」を選ぶと、そのプログラムが実行されます。Excelファイルの test.xls を書き出すプログラムであれば、test.xls が作られます。
rubyのバージョン情報は次のとおり。
ruby 2.1.6p336 (2015-04-13 revision 50298) [i386-mingw32]
また、rubyのライブラリとして、例えば、全文検索などを行うのに強力な rroonga, grn_mini がインストール済みです。他にも google_drive とか sqlite3-ruby など様々なライブラリが入っています。足りなければ gem でインストールできます。
rpt付属のサンプルに限らず、いろいろな形で ruby を活用できるので、興味のある方は是非お試し下さい。
なお、今回の更新で、私が気になったrubyライブラリにおける変更点は次のとおり。
プログラム処理系 ruby の DEVELOPMENT KIT。
rubyのライブラリによっては、この DEVELOPMENT KIT が必要になるものがあります。
このフォルダの下にあるファイルをユーザーが直接利用することはないと思います。
このフォルダの下にあるファイルは、削除したり変更したりしないで下さい。
次のファイルがあります。
以上が当フォルダに入っているファイルとフォルダの概要です。
次に、rpt_set.batを実行した時に、「送る」メニューに新たに登録される項目について簡単に記します。
rubyプログラムのファイルに焦点を当てた状態でこれを選択すると、該当のプログラムが実行されます。
標準出力は X_OUT.TXT、標準エラー出力は X_ERROR.TXT に書き出されます。
ただし、rubyプログラムの第1行目か2行目に「(no >)」という6文字が書かれていると、標準出力と標準エラー出力がリダイレクトされません。必要に応じてコメントとして書き込んでください。
xdoc2txtを用いて、Excel, Word, PowerPoint, 一太郎などのファイルをテキストファイルに変換します。
test.xlsに焦点を当てた状態で、「送る」メニューから「t textへの変換」を選ぶと、test.xls.txt というテキストファイルが生成されます。
マイコンピュータ(vista以降ではコンピュータ)で複数のファイルにマークを付けて、この「t textへの変換」を選ぶと、マークした複数のファイルがそれぞれ変換されます。
自作のrubyプログラムを「送る」メニューに登録したい場合、該当のプログラムファイルに焦点を当てた状態でこれを選択します。
例えば、markdownの原稿ファイルをhtmlに変換する機会が多ければ、その変換を行うrubyプログラムを作って、送る」メニューに登録します。
rubyプログラムの名前が「markdown→html.rb」である場合、これを「送る」メニューに登録すると、「markdown→html」というメニュー項目が新たに登録されます。
そうしておけば、markdownの原稿ファイルに焦点を当てた状態で「送る」メニューの「markdown→html」を選ぶことによって、markdownからhtmlへの変換を行えるようになります。
一方、「送る」メニューから「markdown→html」を削除したい時は、「markdown→html.rb」というrubyプログラムファイルに焦点を当てた状態で、「送る」メニューの「s 送るメニューに登録」を選びます。すると、同じ名前のものが既にあるけれども削除するかどうか、といったことを尋ねてきますので、「はい」 「いいえ」で答えて下さい。
以下では、注意点をいくつか記します。
マイコンピュータ(vista以降ではコンピュータ)で複数のファイルをマークしてから「送る」メニューの「r rubyの実行」を呼び出すと、指定された複数のファイルを一度に ruby.exe の引数として渡します。引数がどんな順番で渡されるかは不定ですが、引数の中に test.rb とか test.rb.txt のように、ファイル名の末尾が「.rb」か「.rb.txt」のものがあると、それを第1引数にします。つまり、ruby用のプログラムとみなして先に持ってきます。
どのコマンドについてもいえることですが、マークしたファイルの数が多いと、うまく処理されないことがあるかもしれません。
rptパッケージに関連するコマンドが実行されている間、環境変数 PATH の値が一時的に変更されます。
従来の値に、次のものが追加されます。コマンドの実行が終了すると、PATHの値は元に戻ります。
E:\rpt\ruby\bin;E:\rpt\w32tex;E:\rpt\w32tex\bin;E:\rpt\pandoc;E:\rpt\R\R-3.2.0\bin\i386;E:\rpt\R\R-3.2.0\bin;E:\rpt\d2txt\command
「E:」は、rptパッケージが存在するドライブを示すものです。もし F: とか G: にあるなら、E: ではなく F: とか G: になります。
PATHの値が一時的に変更されるため、rubyプログラムの中で pandoc や TeX関連のコマンドを子プロセスで呼び出す場合に、フルパス名を書かなくても大丈夫です。単に pandoc.exe とか ptex2pdf.exe とか Rcmd.exe と書けば実行できます。もちろん ruby.exe もフルパス名を書かずに実行できます。
rpt_cmd.batを実行した時も、PATHの値の挙動は同じです。
rptパッケージは、どのドライブに置いてもかまいません。ハードディスク、USBメモリー、SDカードなどでも大丈夫です。
USBメモリーやSDカードに入れて持ち歩けば、常用パソコン以外でも簡単に使い始めることができます。rpt_set.batを実行すれば、rptパッケージを使えるようになります。
その際、「送る」メニューの関連項目は、パソコンのCドライブ(ハードディスク)に書き出されます。また、必要なバッチファイルが、HOMEディレクトリの下に「$$rpt」というフォルダを設けて、その中に書き出されます。これもCドライブ(ハードディスク)です。
そうしたrptパッケージの痕跡を消去するには rpt_unset.bat を実行します。
rpt_set.batを実行すると、pandoc用のreference.docxがハードディスクに設けられます。
pandocのユーザデータディレクトリが既に存在するのであれば、その中に設けられます。ただし、既に reference.docx がその中にあれば、新たに設けることはしません。
pandocのユーザデータディレクトリが存在しなければ、新たにそのディレクトリを設けた上で、その中に reference.docx を置きます。
pandocのユーザデータディレクトリは、Windows7の場合でいうと「C:\Users\USERNAME\AppData\Roaming\pandoc」のようなディレクトリです。
rpt_unset.batを実行すると、pandocのユーザデータディレクトリも reference.docx も削除されます。ただし、それらが rpt_set.bat によって新たに設けられたものでない場合、つまり、以前から存在していた場合は、削除されません。
Excel, Word, pdfなどからテキストを抽出するためのコマンド xdoc2txt.exe は、いろいろなオプションを指定できます。
その解説は、\rpt\d2txt\command\xdoc2txt.txt に詳述されています。
「送る」メニューの「t textへの変換」を呼び出した時は、-r=0(html文書のルビ削除)というオプションのみが指定されていますが、別のオプション指定をしたい時は、option.txt というファイルに指定したいオプションを書いておいて下さい。
まずはカレントディレクトリにある option.txt がチェックされ、それがない時は \rpt\d2txt\option.txt がチェックされます。それもなければ、先述したように -r=0 というオプションが指定されたものとみなされます。
オプションは、1行に1つづつ書いてもいいですし、1行に複数個を書いてもかまいません(その場合は半角スペースで区切る)。
下に記すようにして各ソフトウェアを更新した場合は、更新した後に、rpt_unset.bat を実行してから、rpt_set.bat を実行し直して下さい。
rptパッケージに入っているのは、いずれもフリーウェアです。
ただ、一口にフリーウェアといってもライセンスの内容が違うケースがあります。
正確には、各ソフトウェア関連のドキュメントを参照して下さい。
以上です。
by T. Yoshiizumi
rptパッケージのサンプル・スクリプトに関するメモ書きをご覧ください。