e-pTeX についての wiki
元々 http://www.ms.u-tokyo.ac.jp/~kitagawa/ で公開していたものであるが,諸事情によってこの sourceforge.jp 内の wiki に一本化した.
概要
現在の pTeX は,TeX の持っていたレジスタ 256 個という制限を未だに引きずっている.その一方,欧文の世界では,TeX Live ですでに e-TeX 機能が取り込まれた pdfTeX が標準となり,32768 個のレジスタを利用できるようになっている.
この状況を受け,僕は東京大学理学部数学科 3 年対象の授業「計算数学II」( http://ks.ms.u-tokyo.ac.jp/ ) 内の project として pTeX に e-TeX 機能を取り込むということを行った.skip レジスタを使用した 10 進 21 桁の浮動小数点演算も暇だったので新たに書き起こした.これが本プロジェクトの e-pTeX である.
なお,2007/12/30 に角藤さんから同様の peTeX が発表された(qa:50527 以降)が,本プログラムはそれとは独立に実装したものである(残念ながら peTeX は廃棄されたようである(qa:50551)).
ライセンスについては,最初はあまり深く考えていなかったが,
qa:50654 を契機に定めることにした.
( pTeX や奥村さんの jsclasses が採用している)modified BSD を使うのが適当だと思ったので,そのようにした.
公開しているファイルたち
- eptex-091003.tar.bz2:
下の eptex-090927 で見つかった typo を修正したものです(デビ丸さん,ありがとうございます).
コンパイル方法とかはまったく変わらないはずです.
eptex-090927 をコンパイルできていれば本版を無理して入れる必要はありません.
(説明書は多少更新してあります)
- eptex-090927.tar.bz2:
一応,変更点が多いのでベータ版的扱いですが,今後の開発は本版をベースとするつもりなので,テストをお願いします.
- 前バージョン(090309)からの更新部分:
- 数式フォントの 16 個制限を緩和する「FAM256」パッチを標準で有効に.
- 浮動小数点演算は,実装が中途半端だったことから,本版では削除してみた.
(どうしても使いたい場合は,090309 版の fp.ch がそのまま使えるようです)
- 「e-TeX ベースとした方が良い」とのアドバイスをもらったので,そのようにしてみた.動作自体は 090309 版と変わらないはず.
- 多忙なのとリリースを急いだため,コンパイルは以下の環境しか今は考えていません.
upTeX と合わせてコンパイルすることが可能です.
(とりあえず upTeX-0.28 でテスト)
- 以前の版は,旧版のページからたどれます.
- 文書類:
- resume.pdf:2008/1/31 までの「計算数学II」での作業記録であり,
eptex-090927.tar.bz2 中にも入っている.内輪ネタも入っているが,その一方で,実装方法とかの若干詳しい情報も書いてある.
- 以前のページに載せていた WEB のサンプルはこちら:WEB のサンプル
- Windows 用バイナリは,角藤さんが作ってくださいました.(in W32TeX,ptex-3.1.11-w32.tar.bz2) ありがとうございます.
コメント
長くなってきたので,2009/5/24 以前のコメントは過去コメントの前半部に移しました.
コメントは下のボックスに遠慮なくお書きください.
- 動作確認中ですが eptexdoc.tex 25行目の「\eTeXを」と267行目の「\bits{8}」が Undefined control sequence. となるようです。前者は空白の挿入でしょうし後者は(footnote ですが)\def\bits を段落の先頭ぐらいに持って行く必要がありそうに思います。既知でなければ参考までに。
-- デビ丸 (2009-09-29 12:25:31 JST)
- 了解しました。ありがとうございました。
-- デビ丸 (2009-09-28 17:34:40 JST)
- gcc-4.2.1 (FreeBSD) で再現しました.調べたところ,+integer etexp=0; は +boolean etexp=0; の間違いだったようです.普段の開発環境 (gcc-4.4.1) では何も出なかったので見落としてしまいました.>デビ丸さん
-- h7k (2009-09-28 12:51:38 JST)
- (誤送信したので)とんでもない間違いしてる気がしますが ptetex3+upTeX でコンパイルすると conflicting types for ‘etexp’ とならないでしょうか。eptex-ptetex3.diff と euptex-ptetex3-u0.28.diff の ptexextra.c に対するパッチから +integer etexp=0; を削除すると上手く行くように思いますがご教示いただければ幸いです。
-- デビ丸 (2009-09-28 12:05:51 JST)
- とんでもない間違いしてる気がしますが
-- デビ丸 (2009-09-28 11:59:46 JST)
- 追加パッケージを使わずプリミティブで浮動小数点演算ができる手軽さが便利だったのですが……浮動小数点演算の復活(オプションでもよいので)を希望します。
-- リクエスト (2009-09-28 10:28:56 JST)
- 浮動小数点演算が必要かどうか怪しく思えてきました.図を書くためなら既存の emath, pstricks-add などで大丈夫そうだし,単に「TeX 標準の固定小数点演算じゃ四則演算の精度が足りない」なら fp package があるからです.さらに,LuaTeX では Lua を通じて double 型の浮動小数点演算を使えるそうです.そのため,e-pTeX としては e-TeX 拡張(と,せいぜい fam256 関係?)に留めたいなと思っています.皆さんはどう思われますでしょうか? コメントをお願いします.
-- h7k (2009-09-23 18:34:40 JST)
- qa:53556に伴う修正を ptl08-compile-090818.tar.lzma に加えてみました.tl07-*, tl08-* については,明日にでも.
-- h7k (2009-08-18 22:45 JST)
- W32TeXのサイトが移転したそうなのでリンク(一ヶ所)を修正.
-- h7k (2009-08-03 23:25:30 JST)
- ptexlive や W32TeX では正式に「rをrrで置き換える」パッチが入ったようなので,こちらでもそうしました.
-- h7k (2009-06-30 10:03 JST)
- TeX Live 2008 用のコンパイルスクリプトの試験版を tl08-compile-090629.tar.lzma においてみました.
- qa:53287 関連では,「rをrrで置き換える」パッチをこっそり入れました.標準では無効のはずです.使用には注意を!
- その他にも,アーカイブを「行儀の悪くない」ものにしたり,TeX Live 2008 対応の ptexlive(のアーカイブ)を用いることにしたり,unlzma を必須にするなどの変更を加えています.
いつかは ptexlive ベースに書き換えないとな,と思っているのですが,なかなか時間がとれません(夏休み以降になりそうです).
--
h7k (2009-06-29 17:56:07 JST)
- ptexlive-20090524 以降は TeX Live 2008 ベースになっていますが,こちらへの対応調査はまだやっていません.
-- h7k (2009-05-25 17:13:15 JST)