Develop and Download Open Source Software

最近の更新

2012-05-16
2012-04-17
2011-06-07
2011-03-15
2010-08-16

Recent Tickets

(empty)

Wikiガイド

サイドバー

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 を使うのが適当だと思ったので,そのようにした.

最近は,LuaTeX-ja プロジェクトの方を中心に取り組んでいます.

TeX Live 2011 以降

TeX Live 2011 以降や,W32TeX では,pTeX をインストールすると,e-pTeX も導入されるようになっています. そのため,本ページでは,今後 TeX Live に対する修正を公開するという形になります.

  • eplatex というコマンドはなくなり,platex というコマンドで e-pTeX が起動されるようになりました(参考:qa:55944).
  • TeX Live 2011 の iso に収録されているバージョンにはバグが存在します.以下のどれかを用いて更新することをお勧めします.
    • tlptexlive リポジトリ からアップデートする.
    • ↑の元になった TeX_Live_2011 のページにある(やや古い)「追加の日本語関連パッチ」を使ってバイナリを作る.
    • TeX Live 2012 では修正されています.現在,TeX Live 2012 は pretest が始まっています.

TeX Live 2010 用

  • eptex-110315.tar.xz
    • \pdfpagewidth, \pdfpageheight の挙動に関するバグを修正.
    • qa:55775 に報告されているバグを修正(したと思う).
  • eptex-110227.tar.xz
    • #24542 を解決.
    • ↓のパッチをベースに,\pdfsavepos まわりを追加.
      • \pdfpagewidth, \pdflastxpos は「物理的な」ページ幅/水平位置を意味します.
      • \special{papersize=100pt,200pt} のように papersize special が与えられたとき, e-pTeX 内部でそれを解釈し,\pdfpagewidth 等を変更するようにしました.解釈される条件は↓と同じです.
    • TeX Live svn における pTeX / e-pTeX への修正を取り込みました.
  • 以前の版は,旧版のページからたどれます.
  • 文書類:
    • resume.pdf:2008/1/31 までの「計算数学II」での作業記録であり, eptex-100131.tar.bz2 中にも入っている.内輪ネタも入っているが,その一方で,実装方法とかの若干詳しい情報も書いてある.
    • 以前のページに載せていた WEB のサンプルはこちら:WEB のサンプル

コメント

長くなってきたので,2010/9/27 以前のコメントは過去コメントの前半部に移しました.

コメントは下のボックスに遠慮なくお書きください. また,バグ報告はこちらへどうぞ.

:
  • pTeXの\inhibitglueのバグを修正するパッチ(ptex-3.1.11-inhibit_glue_flag-091107-1.patch)は,eptex-110315と両立可能でしょうか?
    -- 通りすがり (2011-03-16 09:58:50 JST)
    • 今から試しますが,あのパッチ自体がきちんとしたパッチではないです(そのためリンクも外していました).
      -- h7k (2011-03-16 11:13 JST)
    • 次のようにすれば適用できるようです.\inhibitglue 問題は,もう一回きちんと考えないといけませんね. (2011-03-16 11:46 JST)
      (in: /opt/home-supp/tl10)
      $ scripts/unpack.sh -p -e -r ; scripts/build.sh -p -e -r
      $ pushd /tmp/texlive-20100720-source/texk/web2c/ptexdir/
      $ patch -p0 < /tmp/ptex-3.1.11-inhibit_glue_flag-0911107-1.patch 
      $ cd ../eptexdir
      $ rm ptex-base.ch
      $ ln -s eptex-base.ch ptex-base.ch
      $ patch -p0 < /tmp/ptex-3.1.11-inhibit_glue_flag-0991107-1.patch 
      $ cd ../../../Work/texk/web2c/
      $ make ptex eptex
      $ cp ptex ../../../inst/bin/x86_64-unknown-linux-gnu 
      $ cp eptex ../../../inst/bin/x86_64-unknown-linux-gnu
      $ popd
      (scripts/texmf.sh -p -e -r 以降を実行)
      
  • eptex-101231, scripts/unpack.sh l.6 の /tmpは,$TMPDIRの間違いです.
    -- h7k (2011-01-02 15:34:54 JST)
  • eptex-101231 のインストールに用いる utfsrc.zip は,例えば ptexlive-20100711 に同梱されています.
    -- h7k (2011-01-02 08:54:47 JST)
  • TeX Live 2010 への対応ですが,一応スクリプト類は作ってあります.しかし,upTeX 部分のパッチも勝手に再構成してしまったので,公開はまだまだ.
    -- h7k (2010-09-28 13:09:55 JST)

SourceForge.JP is a Japanese version of SourceForge.net. For developments that are not related to Japan, we recommend you to use SourceForge.net.