本連載を執筆している伊藤
多様なフォーマットで書かれた文書への対応
技術文書のフォーマットはRedPenがサポートするMarkdownやWiki記法以外にもたくさんあります。たとえば,
以下,
LaTeX文書にRedPenを適用
残念ながら現状のRedPenはLaTeX文書に対応していません。そこで私がLaTeXで文書を書くときにはPandocというフォーマット変換ツールを利用します。
PandocはLaTeXやRST等の多くのデータフォーマットをサポートしています。Pandocのインストール方法についてはPandocのホームページを参照してください。
では実際にLaTeX文書にたいしてRedPenを適用しましょう
このプロジェクトを次のコマンドでダウンロードします。
$git clone git@github.com: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} を作成した.
入力文書
- ※1
- 本連載ではLaTeXをコンパイルしてDVIファイルを生成する処理の解説はしません。対象文書をコンパイルしたい場合には,
ご自身の環境に日本語LaTeX環境がインストールしていただきplatexコマンドを実行してください。
LaTeX以外の文書にRedPenを適用
ここではLaTeX文書にRedPenを適用しました。Panndocにサポートされていれば,
ノート:LaTeXサポート
本節で述べたように現状のRedPenはLaTeXをサポートしていません。ただRedPenを作りはじめて以来,
多様な利用環境
前節ではRedPenを多様なフォーマットの文書に適用する方法について述べました。本節ではRedPenをコマンドライン以外で簡単に利用する方法について解説します。
サーバ
RedPenはコマンド以外にもサンプルサーバを提供しています。残念ながら現状のサンプルサーバは半構造化データに対応していないなど,
RedPenサーバはリリースページに存在するwarファイルをダウンロードして使用します。warファイルは次のコマンドで実行できます。
$java -jar redpen-server-1.0.1.war
上記のコマンドを実行すると,
ではUIページの入力フォームに,
最近利用されているソフトウェアの中には複数の計算機上で動作(分散)するものが多く存在し、このような分散ソフトウェアは複数の計算機で動作することで大量のデータを扱えたり,高負荷な状況に対処できたりします。
本稿では,複数の計算機(クラスタ)でで動作する各サーバーを「インスタンス」と呼びまます。
たとえば検索エンジンやデータベースではインデックスを複数のインスタンスで分割して保持します。
このような場合、各インデクスの結果をマージしてclientプログラムに渡す機構が必要となります。
そして"Validate Japanese"をクリックすると,