本連載を執筆している伊藤
多様なフォーマットで書かれた文書への対応
技術文書のフォーマットはRedPenがサポートするMarkdownやWiki記法以外にもたくさんあります。たとえば、
以下、
LaTeX文書にRedPenを適用
残念ながら現状のRedPenはLaTeX文書に対応していません。そこで私がLaTeXで文書を書くときにはPandocというフォーマット変換ツールを利用します。
PandocはLaTeXやRST等の多くのデータフォーマットをサポートしています。Pandocのインストール方法についてはPandocのホームページを参照してください。
では実際にLaTeX文書にたいしてRedPenを適用しましょう
このプロジェクトを次のコマンドでダウンロードします。
$git clone [email protected]:takahi-i/gihyo-redpen-latex.git
ではLaTeX文書
$pandoc -s main.tex -o main.md
その結果、
$redpen -c redpen-conf.xml -f markdown main.md
すると、
$redpen --conf redpen-conf.xml -f markdown main.md 17:02:43.052 [main] INFO cc.redpen.ConfigurationLoader - Loading config from specified config file: "/Users/ito/work/gihyo-redpen-latex/redpen-conf.xml" 17:02:43.132 [main] INFO cc.redpen.ConfigurationLoader - Succeeded to load configuration file 17:02:43.132 [main] INFO cc.redpen.ConfigurationLoader - Language is set to "ja" 17:02:43.133 [main] INFO cc.redpen.ConfigurationLoader - More than one "symbol " blocks in the configuration 17:02:43.852 [main] INFO cc.redpen.parser.SentenceExtractor - "[., ?, !]" are added as a end of sentence characters ... main.md:1: ValidationError[InvalidSymbol], 不正なシンボル ":" がみつかりました at line: authors: 伊藤 敬彦 title: 自動文書検査ツール RedPen main.md:1: ValidationError[DoubledWord], 一文に二回以上利用されている単語 ":" がみつかりました at line: authors: 伊藤 敬彦 title: 自動文書検査ツール RedPen main.md:4: ValidationError[InvalidSymbol], 不正なシンボル "\" がみつかりました at line: 規約にしたがった文書記述をサポートするツールとして RedPen \cite{redpen} を作成した.
入力文書
LaTeX以外の文書にRedPenを適用
ここではLaTeX文書にRedPenを適用しました。Panndocにサポートされていれば、
多様な利用環境
前節ではRedPenを多様なフォーマットの文書に適用する方法について述べました。本節ではRedPenをコマンドライン以外で簡単に利用する方法について解説します。
サーバ
RedPenはコマンド以外にもサンプルサーバを提供しています。残念ながら現状のサンプルサーバは半構造化データに対応していないなど、
RedPenサーバはリリースページに存在するwarファイルをダウンロードして使用します。warファイルは次のコマンドで実行できます。
$java -jar redpen-server-1.0.1.war
上記のコマンドを実行すると、

ではUIページの入力フォームに、
最近利用されているソフトウェアの中には複数の計算機上で動作(分散)するものが多く存在し、このような分散ソフトウェアは複数の計算機で動作することで大量のデータを扱えたり、高負荷な状況に対処できたりします。
本稿では,複数の計算機(クラスタ)でで動作する各サーバーを「インスタンス」と呼びまます。
たとえば検索エンジンやデータベースではインデックスを複数のインスタンスで分割して保持します。
このような場合、各インデクスの結果をマージしてclientプログラムに渡す機構が必要となります。
そして"Validate Japanese"をクリックすると、

Herokuボタン
さらにRedPenサーバはHerokuボタンから立ち上げられます。Heroku上にRedPenが立ち上がることで、

Herokuボタンをクリックすると、

画面内の"Deploy for Free"と書かれたボタンをクリックすると、
Atomからの利用
AtomはGitHubが公開したエディタです。Atomの特徴のひとつに豊富なパッケージ
パッケージの中には他のエディタを利用する人が乗り換えやすいようにキーバインドをシミュレートするものが存在します。私は長年Emacsで文書を書いていたのですが、
先日@griffin_
実はこの原稿をAtom Editorで書きRedPenパッケージでチェックしています。コマンドラインと違って、

Homebrew対応
@kozo2さんがRedPenのHombebrew用のforumlaを記述してプルリクエストを送っています。もうしばらくするとマージされるのではないかと思います。HomeBrew対応によりRedPenをインストールするコストがさらに低減されることが期待できます。
Rubyバインディング
RedPen自体はJavaで記述されていますが、
まとめ
今回はRedPenを多様な状況で利用する方法について解説しました。前半ではRedPenがサポートしていない多様なフォーマットで書かれた文書にRedPenを適用する方法について述べました。後半では、