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-100201.tar.bz2:
- 前バージョン(100131)からの更新部分:
script/install での誤植で,e-upTeX の format が extended modeになっていなかったのを修正.(通りすがりさん,Dora さん,ありがとうございます)
- eptex-100131.tar.bz2:
- 前バージョン(091003)からの更新部分:
- upTeX-0.29 に対応したつもり(upTeX-0.29 内にある euptex-091003/ 以下をベースにしています).
- コンパイルは以下の環境を考えています.
upTeX と合わせてコンパイルすることが可能です
(upTeX-0.29 でテスト).
- 以前の版は,旧版のページからたどれます.
- 文書類:
- resume.pdf:2008/1/31 までの「計算数学II」での作業記録であり,
eptex-100131.tar.bz2 中にも入っている.内輪ネタも入っているが,その一方で,実装方法とかの若干詳しい情報も書いてある.
- 以前のページに載せていた WEB のサンプルはこちら:WEB のサンプル
- Windows 用バイナリは,角藤さんが作ってくださいました.(in W32TeX,ptex-3.1.11-w32.tar.bz2) ありがとうございます.
コメント
長くなってきたので,2009/5/24 以前のコメントは過去コメントの前半部に移しました.
コメントは下のボックスに遠慮なくお書きください.
- 当方の環境でも,.fmtの生成時にエラーが発生しました。詳細を TeX Q&A に掲載しておきました。
-- Dora (2010-02-01 00:12:49 JST)
- eptex-091003 + ptetex3-20090610 + upTeX 0.29 でコンパイルするときにも,euptex.fmt の生成に失敗する現象が見られるようです。
-- 通りすがり (2010-01-31 15:19:04 JST)
- 通りすがりさん,ありがとうございます.現在調査中です.
-- h7k (2010-01-31 18:22:37 JST)
- とりあえず eptex-100131 で対応させたつもりです(こちらの環境では .fmt は正常に作られているようです).fmt 生成のとき,どのようなエラーが発生したのでしょうか?
-- h7k (2010-01-31 21:40 JST)
- 報告が遅くなって申し訳ありませんが,ptl08-compile-090927.tar.lzma について2つほどバグがあります:1. 5macro_euptex.sh において,umakeotf の実行がされていない,2. eptex.fmt, euptex.fmt の生成に失敗する.
-- h7k (2010-01-08 18:10:08 JST)
- ptl08-compile-100108.tar.lzma で修正できたと思います.-- h7k
- 動作確認中ですが 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)