2010年05月08日

画像への変換機能の追加

 作成した図式をテキストボックスの集合からPNGやBMPなどのラスタ画像への変換機能を追加しました。

 seesaaの使用可能容量がほとんど残っていないので、大学のサーバへの移行を計画中。
posted by Tanaka at 06:26| Comment(0) | LatexBox | このブログの読者になる | 更新情報をチェックする

LatexBoxのTeX情報の保持方法

 LatexBoxでは、TeXのソースや、図式のサイズの情報などを、AternativeTextというプロパティに保存しています。PowerPoint2007では[配置とサイズ]、[代替テキスト]で見ることができます。LatexBoxでは、このAlternativeTextが%%LatexBoxで始まるものを、LatexBoxで作成されたオブジェクトとして識別しています。
 現在作成しているバージョンでは、LatexBoxの情報を削除する機能を追加しています。このことにより、LatexBoxで再編集が不可能になりますが、若干のファイルサイズを小さくできます。また、LatexBoxで作成された痕跡を残さないようにできます。
 
 ちなみに、pptTeXやtakatexでもこのAlternativeTextプロパティにソースを保存しています。
posted by Tanaka at 00:00| Comment(0) | LatexBox | このブログの読者になる | 更新情報をチェックする

2010年05月07日

PowerPointの再描画処理を回避

 以前のエントリでは、PowerPointではテキストボックスのプロパティを変更するたびに、PowerPointが何か少し重い処理しているようだ、ということを書きました。もう少し調べてみると、WM_PSD_PAGESETUPDLGメッセージが大量に発生していました。どうやらプロパティを変更するたびに再描画を行っているようです。WM_PSD_PAGESETUPDLGメッセージの発生を抑えられないかと思い、バックグラウンドで動作させたり、PowerPointの描画領域を不可視にしたり、メッセージをフックしたりしましたが、どれもうまくいきませんでした。
 
 ver.1.3までのアプローチは、
1. platexで.texから.dvi作成
2. dvioutの機能を利用して.dviから描画ログを取得
3. 描画ログを利用してPowerPoint上に図式を構築
 今までは上の3つの過程を経ていました。この手順3がものすごく重い。大量の再描画処理を回避する必要があります。

 再描画処理の回避のために別のアプローチを考えました。
1. platexで.texから.dvi作成
2. dvioutの機能を利用して.dviから描画ログを取得
3'. 描画ログから図式を構築された.pptxを作成する
4'. バックグラウンドで.pptxを開く。図式をコピーする。
5'. 対象スライドに図式をペースト
 .pptxファイルを直接作成することで、再描画回数が大幅に減らせます。特定のファイルフォーマットのファイルを作成するのは、仕様書を読む必要があったりしてかなり面倒なのですが、.pptxはOpen XMLベースなので、比較的理解が容易な上、Open XML SDKというのがMicrosoftから公開されているので、簡単に作成できました。

 アプローチの変更によってどの程度速くなったかを調べてみました。開発環境で、出力文字数3000文字程度のテスト用TeXソースを読み込ませたときの処理時間を測りました。ver.1.3.0.0では20秒弱かかっていたのを、現在開発中のバージョンでは3秒程度に抑えることができました。
 当然デメリットもあり、.pptxファイルを経由するためPowerPoint2003ではどうなるかわからないこと。そもそもPowerPoint2003でテストしたことが無いので動作するかどうかも知らないのですが。
 あと、クリップボードの内容がクリアされてしまいます。
posted by Tanaka at 23:38| Comment(0) | LatexBox | このブログの読者になる | 更新情報をチェックする

2010年04月30日

LatexBox2e ver.1.3.0.0

LatexBox2e ver. 1.3.0.0 を公開します。

概要
-TeXの数式をPowerPointに貼り付けるためのアドイン
特徴
-EPSもEMFも経由せずに数式の貼り付けを行う
-フォントの埋め込みが可能
-コンパイル回数の指定が可能
-日本語にも対応
-日本語フォントの指定が可能
必要環境
-platex(TeX一式)
-.NET Framework 3.5
-Microsoft Visual Studio Tools for the Microsoft Office system (Version 3.0 Runtime)
デモ
-マニュアル内に少し載せています

注:LatexBoxと互換性はありません
注:LatexBox2e ver.1.2.0.0以前のバージョンで作成された図式に対するRecompileはうまく機能しない場合があります(Recompileするたびに図式が縮小・拡大されるなど)

より新しいバージョンが公開されました。

 インストーラ

 マニュアル

 ソース
posted by Tanaka at 00:05| Comment(0) | LatexBox | このブログの読者になる | 更新情報をチェックする

LatexBox2e1.2.0.0の修正


 LatexBox2e1.2では、「既定のシェイプ」を考慮に入れていなかったので、矢印を既定のシェイプにしていると、以下のような表が作成されてしまします。
 上図右側が理想とする表示結果ですが、矢印を既定のシェイプにしていると、上図左のような結果が表示されます。このような既定のシェイプの影響を受けないように修正しました。



 標準で明朝体にはMS明朝、ゴシック体にはMSゴシックが割り当てられますが、MS明朝、MSゴシックの他にも綺麗なフォントがあります。また、CM(computer modern)フォントは標準のスタイルだと、細すぎて見づらいことがあります。
 なので日本語フォントの指定機能と、CMフォントを常にボールド体にできるようにしました。
 上図は明朝体をHGP行書体、ゴシック体をHG創英角ポップ体、CMを常にボールド体にする設定での表示結果です。

 あと高速化を行いました。5倍くらい速くなりました。詳しくは別エントリで書きます。
ラベル:Powerpoint LatexBox
posted by Tanaka at 00:00| Comment(0) | LatexBox | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。