redpen texconf15

12
RedPen のLaTeX 対応 伊藤 敬彦 1

Upload: recruit-technologies

Post on 12-Jan-2017

2.085 views

Category:

Software


0 download

TRANSCRIPT

RedPenのLaTeX

対応伊藤 敬彦

1

自己紹介名前: 伊藤敬彦

職業:ソフトウェアエンジニア

所属:㍿リクルートテクノロジーズ ATL

Twitter アカウント: takahi_i

工学博士:データマイニング分野

2

RedPenとはオープンソースプロジェクト

ホームページ:http://redpen.cc

ソースコード:https://github.com/redpen-cc/redpen

自然言語文書の自動検査ツール

自然言語文書:論文、マニュアル、仕様書、etc…

RedPen は入力文書にある悪い点に対する警告を出力。

3

例: 悪い点を含む文書

4

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

例: 悪い点を含む文書

5

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

文が長いコンマのフォーマット

単語の不一致単語の不一致

シンボルの不一致

特に文の長さあらゆる文書執筆の指南書で「文は簡潔に」と書いてある

理科系の作文技術:「一言で言い切れ」

The elements of style:「omit needless words」

課題:しかし、各文を簡潔に保つのは難しい

6

RedPen を作った動機ソフトウェアの開発では自動検査ツールを駆使して悪い点(バグや不具合)を防止

テストフレームワーク: JUnit、gTest

静的解析ツール:FindBugs、lint、CheckStyle

継続的インテグレーション: Jenkins、Travis

2013年当時、技術文書の自動検査に利用できるツール群が存在しなかった。。。

7

RedPen の特徴オープンソース (ライセンス:Apache v2.0)

マルチプラットフォーム (Windows、MacOS、Linux)

マークアップ言語対応:Wiki記法、Markdown、 AsciiDoc、LaTeX

複数言語対応(日本語と英語)

多様な実行方法:コマンド、サーバ(REST API)の提供

プラグインシステム(JavaScript)をサポート

柔軟な設定: CheckStyle に似た設定方法、必要な機能を追加

エディタに対応: Atom、Emacs、Vim

8

LaTeX の対応Version 1.4より(10月にリリース)

実装:@alterakey 氏

対応できた点

LaTeX 文書内の文(Sentence)を抽出し検査する

エラー箇所のオフセット情報も抽出

私の過去に書いた論文は問題なく処理できた

デモ URL:http://redpen.herokuapp.com/

9

LaTeX 対応の制限マクロでタグ作るとうまく動かない。

itemize、enumerate 環境内の文をリストとして認識できない。

所感:大きな制限ではあるが、初学者が使うには十分か。

10

ご静聴ありがとうございました

是非ご利用ください。

Mac であれば Homebrew 経由でインストールにできます($brew install redpen)

商用利用も大丈夫なライセンス(Apache v2.0)です。

コメント、開発へのご参加お待ちしてます。

11

補足最近 Web 系ソフトウェア開発者の間でドキュメントの自動検査が注目されてきました。

JavaScript: textlint

RedPen よりライト

ソース:https://github.com/azu/textlint

自分にあったツールを探す or もしくは作ってみましょう!

12