texjporg / ptex-manual

Japanese pTeX Manual
BSD 3-Clause "New" or "Revised" License
23 stars 1 forks source link

English documentation of pTeX #6

Open aminophen opened 4 years ago

aminophen commented 4 years ago

今のptex-manualの内容はとても“濃い”のだけど、それでも「英語版に(真っ先に)必要な内容」と対照すると、ほとんどdisjointなんだよなあ

を機に,"Guide of pTeX for developers not interested in Japanese"(日本語に興味のない開発者のための pTeX ガイド)を作ろうとしています。私自身 #2 の issue を立てた時からずっとやりたかったことです。

海外のTeX関連開発者に(u)pTeXエンジンのサポートを積極的に要望していく方針であるなら、少なくとも、「そのために必要な情報」が英語で提供されているべき、だと思っている。つまり「和文組版の概念的説明」ではなく「エンジンの仕様の説明」。

実際に必要なのは多くは和文組版規則とは無関係な部分で、 ・レジスタは何個あるのか ・他エンジン互換の拡張プリミティブは何があるのか ・和文文字トークンに対して何の操作ができるのか ・DVIウェアは何が使われているのか のような話。

このような情報をまとめたドキュメントは,過去にも書かれたことはないと思うのですが,

をベースにたたき台を作りました。ファイル名は後でよりよいものに変えても良いと思っていますが,とりあえず今は eptex-190709 ブランチに ptex-manual-en.tex というファイルで置いています。内容についてレビュー・加筆いただけると助かります。

最近話題になった

といった問題が,今後減っていけば嬉しいです。よろしくお願いします。

aminophen commented 4 years ago

参考まで,いまのところこんな感じです。 https://github.com/texjporg/ptex-manual/blob/c96d07e6636d831f5ec60184b4617d5a28dcdda5/ptex-manual-en.tex

ptex-guide-01

ptex-guide-02

josephwright commented 4 years ago

Thanks very much for this: key differences from e-TeX (or pdfTeX or ... as appropriate) are really useful to know.

aminophen commented 4 years ago

First version of an English guide of pTeX and friends, "ptex-guide-en.pdf", submitted to CTAN. Not completed yet at all, but I'll continue working on it.

davidcarlisle commented 4 years ago

Thanks a lot for this, I just read through it and some notes below:

page 1

title Guide of pTeX for developers not interested in Japanese

Perhaps change to

Guide to pTeX for developers unfamiliar with Japanese

(If I said I was "not interested in Japanese" that might be taken as slightly rude to you, whereas if I said I was "unfamilar with Japanese", or that I "Could not read Japanese" they are statements of fact.)

page 4

I think change "uppercompatible" to "upward compatible" throughout

do not pass TRIP do not pass the TRIP

do not pass e-TRIP do not pass the e-TRIP

page 5

additional cares additional care

are interpret are interpreted

page 6

there is some drivers there are some drivers

page 7

65536 registers oh! I didn't know that, the latex kernel adjusts allocation in luatex for that, but not for ptex do you fix that up in the platex initialisation or should we adjust the base code?

\documentclass{article}

\begin{document}

\makeatletter
\showthe\float@count
\show\newdimen
\end{document}

shows 65535 in lualatex and 3267 in uplatex and latex.

Feature of each primative The features of each primitive

page 13

inserts glues and penalties inserts glue and penalties

aminophen commented 4 years ago

@davidcarlisle Thanks for spotting errors, done in 2ef6990.

65536 registers oh! I didn't know that, the latex kernel adjusts allocation in luatex for that, but not for ptex do you fix that up in the platex initialisation or should we adjust the base code?

We just increase \e@mathgroup@top to 256 and \e@alloc@top to 65536, and \e@alloc@chardef is let-equal to \omathchardef. All of these are done in plcore.ltx by checking the existence of \omathchar coming from Omega.

\showthe\float@count \show\newdimen

I was not aware of that; what should I do?

aminophen commented 4 years ago

Oh, noticed that \let\float@count\e@alloc@top is missing in plcore.ltx ... I think I should add that. Thanks for spotting this!

aminophen commented 4 years ago

In the next version, I will add the following explanations; they would be necessary for you to allocate properly in expl3 ;-)

aminophen commented 4 years ago

How to define large integers (using \chardef? \mathchardef? \omathchardef?)

Done (73a1ade).

Number of registers

Done (d48e640, 2b0c304).

zr-tex8r commented 4 years ago
aminophen commented 4 years ago

256 math families additional keywords

Done (ee1e99a) in eptex-190709 branch.