Linux 版 (精华区)

发信人: netiscpu (夜☆星光点点☆), 信区: Linux
标  题: ◇ 免费的HjCTeX2.0
发信站: 紫 丁 香 (Sun Nov  8 18:11:56 1998), 转信



寄信人: guest.bbs@hgluo.hust.edu.cn 
标  题: ◇ 免费的HjCTeX2.0
发信站: 华南理工大学 BBS木棉站
日  期: Thu Feb 20 14:00:16 1997

发信人: Hon-Jang Yang <hjyang@math.ntu>, 信区: Tex
标  题: 好消息,免费的HjCTeX2.0
发信站: Dept. of Math. NTU (Sun Nov 24 06:07:39 1996)
转信站: Maxwell!netnews.ntu!news

HjCTeX2.0放在

  http://www.math.ntu.edu.tw/~hjyang

要知详情请看下文:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
READ ME FIRST! hjCTeX Betatest 1996.11.01
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
引言
============
HjCTeX 由一群档案所组成。利用这些档案与一般的洋文 TeX软体相结合,你可以使一
般的 TeX 软体接受以Big5 编码的中文。换句话说,HjCTeX 使你的 TeX文件能同时显
现中文、英文、符号、图形。

我希望 HjCTeX 与所有为洋文所写的套件,不管是支援 TeX 的或是 LaTeX 的;不管是
只支援文字与符号的还是也支援图形的,都能相匹配(compatible)。

HjCTeX 既支援 cjk 的中文编码方式,也支援 jackson 的编码方式。有关 cjk 与
jackson的编码方式在後面会加以解释。

HjCTeX已将Jackson的免费字形放在子目录jackson中,不必再费神自己制造。不过
Jackson字形只有楷书,若要其他字形请自行利用ntu2cjk制造。

HjCTeX 支援的作业系统有 MSDOS、SUNOS 与 LINUX。

HjCTeX的系统需求
==================
1. MSDOS
  (a) emtex(4alltex) 或 gtex
  (b) dvips5.58
  (c) ghostscript3.5.3 与 gsview1.4
  (d) 80386 以上
2. SunOS 的使用者:
  (a) TeX3.1415
  (b) dvips5.58
  (c) ghostscript3.51与ghostview
3. Linux 的使用者:
  (a) TeX3.1415
  (b) dvips5.58
  (c) ghostscript4.03与ghostview



HjCTeX 的内容
============
HjCTeX 由下列档案所组成:

    档名           型式      说明

    dvicdvi.ini    ascii     用来提供程式dvicdvi所需要的资料
    hjcmacro.tex   ascii
    sample1.tey    ascii     样本 TeX 档案
    sample1.hp     binary    sample1.tey 透过 HjCTeX 的处理後的输出档案,
                             它是 binary 档案,可透过 HP laserjet III 印表
                             机列印
    sin.eps        ascii     sample2.tey用到的图形档
    jackson.fmp    ascii     用来更改fontmap档案
    jackson.map    ascii     用来更改psfonts.map档案
    jatfm.zip      binary    jackson的tfm档(msdos)
    jatfm.tar      binary    jackson的tfm档(sunos/linux)
    hjcdos20.zip   binary    只有 MSDOS 使用者才需要的档案,它由两个执行档
                             hjctt.exe、dvicdvi.exe 所组成
    hjcsun20.tar   binary    只有 SUNOS 使用者才需要的档案,它由两个执行档
                             hjctt、dvicdvi 所组成
    hjclinux20.tar binary    只有 LINUX 使用者才需要的档案,它由两个执行档
                             hjctt、dvicdvi 所组成

HjCTeX的安装
============
以MSDOS 的使用者为对象说明如下(别的作业环境请自行相对调整):

(1) 安装 TeX 软体,如 4alltex(emtex) 或 gtex,应该要包含 TeX, DviPs,
    GhostScript3.53 与 gsview1.4。以安装 4alltex 为例:
    假设 4alltex 的磁片在 A 磁碟机,要安装到 C 硬碟机:
    (a)将 4alltex 的 disk01 放入 A 槽,执行
          a:4install a c
    (b)将 4alltex 的 disk02 放入 A 槽,执行 ?
          a:4install a c
       选择安装其中的a,b,c三个选项
    (c)将 4alltex 的 disk05 放入 A 槽,执行
          a:4install a c
       选择安装其中的a选项--emx and rsx extenders
    (d)将 4alltex 的 diskP1 放入 A 槽,执行
          a:4install a c
       选择安装其中的a选项--dvips
(2) 4alltex的调整(gtex不需要调整):
    4alltex的预设只接受7bit的文件,但中文需要8bit,故需进行调整。
    (a) 将档案c:\emtex\bin\makefmt.bat里的两行
          call makefmt2
          makefmt2.bat
        改成
          : call makefmt2
          : del makefmt2.bat
    (b) 执行下列指令:
         c:
         cd \emtex\btexfmts
         makefmt 386 plain US 8bit -b \emtex\bin\plain -e
    (c) 将档案c:\emtex\btexfmts\makefmt2.bat的其中一行
          tex386 -i -mt8000 -8 -plain \dump
        改成
          tex386 -i -mt65500 -8 -o -r -plain \dump
    (d) 执行下列指令:
         c:
         cd \emtex\btexfmts
         makefmt2
        如此会制造出新的plain.fmt
    (e) 执行下列指令:
         c:
         cd \emtex\btexfmts
         makefmt 386 latex2e US 8bit -b \emtex\bin\latex2e -f latex2e -e
    (f) 将档案c:\emtex\btexfmts\makefmt2.bat的其中一行
          tex386 -i -mt8000 -8 -latex2e  \dump
        改成
          tex386 -i -mt65500 -8 -o -r -latex2e \dump
    (g) 执行下列指令:
         c:
         cd \emtex\btexfmts
         makefmt2
        如此会制造出新的latex2e.fmt
(3) 安装 ghostscript 3.53 与 ghostview 1.4,假设要将 ghostscript 3.53
    安装在 c:\gs3.53,gsview14安装在 c:\gsview:
    (a) 将 gs353 的 dsik01(含有 winsetup.exe)放入 A 槽,□    (b) 进入Windows 3.1,执行 a:winsetup,如此会产生一个"GS TOOL"群组
    (c) 离开Windows3.1
(4) 安装 Jackson 的中文 postscript 字形,所需的kaisu-re(ascii档)与
    kaisu-re.dat(binary档)在子目录jackson中。以下假设要将Jackson字形安装在
    c:\psfonts里,其TFM资料要安装在 c:\emtex\tfm\cm里:
    (a) 将kaisu-re与ksisu-re.dat两个档案放在c:\psfonts目录里。
        假若你不把kaisu-re.dat放在c:\psfonts目录里的话,档案kaisu-re里的
        内容要稍加修改:
        其中有87行是
        /DataFile(c:/psfonts/kaisu-re.dat)def
        请把c:/psfonts/kaisu-re.dat改成正确的。例如,若档案kaisu-re.dat在
        子目录c:\tmp中,应该把c:/psfonts/kaisu-re.dat改成c:/tmp/kaisu-re.dat
        注意,有87个之多,是/而非\。
    (b) 将含有jatfm.zip档案的磁片放入A槽,执行
          c:
          cd \emtex\tfm\cm
          unzip a:jatfm
        将Jackson字形的TFM资料解压缩出来且放在c:\emtex\tfm\cm中
    (c) 将jackson.map的内容加(append)在c:\emtex\ps\psfonts.map档的尾巴
    (d) 将jackson.fmp的内容加(append)在c:\gs3.53\fontmap档的尾巴
    (e) 进入Windows3.1中的"GS Tools"群组,打开GSVIEW(若以安装W32S,则可
        选择GSVIEW32),选择下拉选项"options"里的选项
        "Configure Ghostscript...",将Configure Ghostscript表格中的
        "Ghostscript Include Path:"那栏填上
                 c:\gs3.53;c:\gs3.53\fonts;c:\psfonts
        再选择按钮"OK"以关闭表格
    (f) 离开Windows3.1
(5) dvips 与 ghostscript3.53 的调整
    (a) 将档案c:\emtex\bin\dvips.bat里的4alltex改成4alltexn。
        注意,有两处要改。
    (b) 在子目录c:\emtex\ps里有一档案,叫4alltex.cfg。请复制一份,档名为
        4alltexn.cfg,仍放在c:\emtex\ps目录中
    (c) 修改档案c:\emtex\ps\4alltexn.cfg的内容:
        将其中一行(第35行)
           H .;$(EMTEXDIR)\ps;$(EMTEXDIR)\ps\fonts;
           改成
           H .;c:\gs3.53;c:\gs3.53\fonts;c:\psfonts;
    (d) 修改档案c:\emtex\set_tex.bat的内容:
        将其中一行
     SET GS_LIB=%EMTEXDIR%\ps;%EMTEXDIR%\PS\FONTS;%EMTEXDIR%\utils\ghostscr;
        改成
     SET GS_LIB=c:\gs3.53;c:\gs3.53\fonts;c:\psfonts
(6) 安装HjCTeX
    (a) 将档案 hjctt.exe,dvicdvi.exe,dvicdvi.ini 放再子目录c:\hjctex中,
        并将子目录c:\hjctex加到你的路径(PATH)中.
    (b) 将档案 hjcmacro.tex 放在 c:\emtex\texinput 目录中.
(7) 档案dvicdvi.ini的调整
    请根据自己所拥有的中文字形种类及对应的TFM档的位置适当调整

以SUNOS 的使用者为对象说明如下(别的作业环境请自行相对调整):

(1) 安装 TeX,DviPs,GhostView,Ghostscript3.53 等软体,以下我们假设
    (a)tex 到/usr/local/lib/texmf/fonts里去找*.tfm档
    (b)gs(ghostscript) 到 /usr/local/lib/ghostscrit/3.53里找档案Fontmap,
                       到 /usr/local/lib/ghostscript/fonts 里找字形档案
    (c)dvips   到 /usr/local/lib/texmf/dvips 里找档案psfonts.map

(2) 安装 Jackson 的中文 postscript 字形,假设将Jackson字形放在
    /usr/local/lib/texmf/fonts里,
    其TFM资料放在 /usr/local/lib/texmf/fonts/public/chinese/tfm里:
    (a) 将kaisu-re与ksisu-re.dat两个档案放在/usr/local/lib/ghostscript/fonts
        目录里。
    (b) 将档案kaisu-re里的
        内容要稍加修改:
        其中有87行是
        /DataFile(c:/psfonts/kaisu-re.dat)def
        请把c:/psfonts/kaisu-re.dat改成
        /usr/local/lib/ghostscript/fonts/kaisu-re.dat
        注意,有87个之多。
    (c) 将档案jatfm.tar的内容tar出来放在/usr/local/lib/texmf/fonts/public/tfm
        目录里
    (d) 将jackson.map的内容加(append)在/usr/local/lib/texmf/dvips/psfonts.map
        档的尾巴
    (e) 将jackson.fmp的内容加(append)在/usr/local/lib/ghostscript/3.53/Fontmap
        档的尾巴

(3) 安装HjCTeX
    (a) 将程式 hjctt,dvicdvi 放再子目录/usr/local/bin中,
    (b) 将档案 hjcmacro.tex 放在 /usr/local/lib/texmf/tex 目录中.

(4) 档案dvicdvi.ini的调整
    将档案放在个人的工作目陆中并
    (a) 将dvicdvi.ini里的tfmdir那一行改成
         tfmdir /usr/local/lib/texmf/fonts/public/chinese/tfm
    (b) 其它请根据自己所拥有的中文字形种类与中英文对应方式适当调整

HjCTeX 的运作原理
=================

所有的TeX/LaTeX档皆透过程式hjctt将每一中文字之前加上"\A"并将一些可能与TeX
相冲的中文码换掉,其中"\A"定义在hjcmacro.tex中。

将转换後的档案用TeX/LaTeX进行排版,此时"\A"透过"\special"将局部改码的中文字
记录下来。

排版之後的结果,再透过程式dvicdvi将"\A"所作的"\special"还原成正确的中文字,
而且,根据dvicvdi.ini里的设定,调整成想要的字形。

将修正後的排版结果,用程式dvips将它转换成postscript档案

将最後的psotscript档案,用程式ghostscript来预视与列印

如何利用HjCTeX来进行排版
======================
以在MSDOS环境下搭配4alltex来举例说明(别的作业环境请相对调整)

(1) 假设你的TeX档为单一档案,设档名为test.tey。
    (a) 在编辑test.tey时,只要在第一行是
        \input hjcmacro
        即可,其他部份的编写方式完全依照TeX的规矩,而且可以出现英文的地方
        就可以出现中文,TeX/LaTeX的command只能用英文命名。TeX/LaTeX文件的
        编写请参考
         Knuth, "The TeXbook"
         Lamport, "LaTeX, A Document Preparation System,second edition",1994
         Goossens,Mittelbach,Samarin, "The LaTeX companion",1994

    (b) 执行指令
        hjctt test.tey test.tex
        将原始档加上"\A"并将部份的中文转码,所得结果为test.tex

    (c) 执行指令
           tex test
        或
           latex test
        来排版test.tex,所得结果为test.dvi

    (d) 执行指令
        dvicdvi c:/hjctex/dvicdvi.ini test.dvi test.cdi
        将test.dvi适当调整成test.cdi

    (e) 执行指令
        dvips test.cdi
        将test.cdi转成test.ps
        注:在sunos下,要用指令
        dvips -o test.ps test.cdi

    (f) 在Windows3.1中,用"GS Tools"群组中的"gsview/gsview32"来预视与列印
        test.ps

(2) 假设你的TeX档为main.tey,filea.tey,fileb.tey,且在main.tey中出现
    "\input filea" 与"\input fileb"
    (a) 在编辑main.tey时,只要在第一行是
        \input hjcmacro
        即可,其他部份及filea.tey与fileb.tey的编写方式完全依照TeX的规矩,
        而且可以出现英文的地方就可以出现中文,TeX的command只能用英文命名。
        TeX/LaTeX文件的编写请参考
         Knuth, "The TeXbook"
         Lamport, "LaTeX, A Document Preparation System,second edition",1994
         Goossens,Mittelbach,Samarin, "The LaTeX companion",1994

    (b) 执行指令
        hjctt main.tey main.tex
        hjctt filea.tey filea.tex
        hjctt fileb.tey fileb.tex
        将原始档加上"\A"并将部份的中文转码,所得结果为main.tex,filea.tex,
        fileb.tex

    (c) 执行指令
           tex main
        或
           latex main
        来排版main.tex,所得结果为main.dvi

    (d) 执行指令
        dvicdvi c:\hjctex\dvicdvi.ini main.dvi main.cdi
        将test.dvi适当调整成test.cdi

    (e) 执行指令
        dvips main.cdi
        将main.cdi转成main.ps
        注:在sunos下,要用指令
        dvips -o main.ps main.cdi

    (f) 在Windows3.1中,用"GS Tools"群组中的"gsview/gsview32"来预视与列印
        main.ps
        附注:在SunOS环境中,ghostview 只能用来预视而不能列印。因此请
        (i) 先执行指令
            gs -sDEVICE=psmono -sOUTPUTFILE=tmp.ps main.ps
            来产生tmp.ps档
            或
            gs -sDEVICE=ljet4 -sOUTPUTFILE=tmp.hp main.ps
            来产生可印到"HP laserjet 4"印表机的档案tmp.hp
        (ii)再执行指令
            lpr tmp.ps
            将tmp.ps印到postscript印表机
            或
            lpr tmp.hp
            将tmp.hp印到"HP laserjet 4"印表

cjk与jackson的编码方式
=======================
Big5 的编码如下:
   高位元组== 0xA1 -- 0xFE
              0x8E -- 0xA0
              0x81 -- 0x8D  共126个□   低位元组== 0x40 -- 0x7E
              0xA1 -- 0xFE  共157个

cjk的每一字型有256个中文字,jackson的每一字型只有157个中文字。

以中文字"杨"为例,来加以说明:

"杨"的BIG5编码为0xb7a8(16进位)。

(1) 在jackson编码中,"杨"放在CFT1JacksonFontB7字型中,其编码为0xa8。
    换句话说,取"杨"的高位元组为所归属的字型,"杨"的低位元组为"杨"在该字型中
    的编码。
    jackson的字型由87个所组成,分别对应於高位元组 0xA1--0xF6、0xF9。

(2) 在cjk编码中,不考虑使用者造字的部份--高位元组为0x81--0x8D、0x8E--0xA0。
    每256个字组成一个字型。将高位元组为0xa1的157个字加上高位元组为0xa2的前面
    256-157=99个字组成第一个字型,高位元组为0xa1所剩下的157-99=58个字再与
    高位元组为0xa3...的合并,於此类推。
□  "杨应该排在哪里呢?
    "杨"的高位元组为0xB7,排在它前面的高位元组有
         0xB7-0xA1=22
    种可能,每一高位元组对应157个字。另外,高位元组为0xB7且排在"杨"前面的有
         0xa8-0xa0+0x7e-0x40=70
    个字,总结起来,排在"杨"前面的有
         22 X 157 + 70 = 3524
    个字。每256个字组成一个字型,所以"杨"应该排在第
         [3524/256]+1=14
    个字型。以b5kai字型为例,"杨"应该在b5kai14字型中。而且在b5kai14字型中
    的编码为
          3524%256=196

改变
=========
本版与以前的版本不相容。

主要的改变有:
  (a) hjcmacro.tex里的指令\a改成\A,理由是LaTeX已经定义了\a。换句话说,保留
      LaTeX原来的\a之指令。
  (b) hjctt将一些可能与TeX相冲的中文码换掉,本版换掉的比前一版本多一点,理由
      是前一版本在AMSLaTeX时会与某些中文码相冲。
  (c) 本版的dvicdvi在搜寻TFM档时,可以搜寻更深层的子目录。在dvicdvi.ini里,
      (i)若设定 "tfmdir d:\emtex\tfm",则程式dvicdvi在查验TFM规格时只会搜寻
         目录d:\emtex\tfm。
      (ii)若设定 "tfmdir d:\emtex\tfm!",则程式dvicdvi在查验TFM规格时会搜寻
         目录d:\emtex\tfm及其深一层的子目录。
      (iii)若设定 "tfmdir d:\emtex\tfm!!",则程式dvicdvi在查验TFM规格时会搜寻
         目录d:\emtex\tfm及其深一层、深两层、...的子目录。
      後两种的功能为本版新增的。
  (d) 本版的dvicdvi.ini中的ecmap语法与前面版本不相容,增加了字形编码方式为
      jackson或cjk的控制。

Licence
=======
HjCTeX 是免费的。免费并不代表很烂。

若您开始使用HjCTeX,请最少给我一封E-Mail,不管是批评或鼓励都非常欢迎,一句话都
不说来个空白信也可以。如此,我才可以知道有多少人在用它。用的人多的话,可以增强
我加以改良的动机。

目前,并不提供程式的原始码。

假如您要散播此软体,非常欢迎,但是绝对不准收费。散播时本档案必须包含在内。

保    证
==========
There are NO WARRANTIES OF ANY KIND regarding this software. You can not
make me responsible if this software does not fit your purposes, does not
work properly, does not work at all, damages your Computer or any part of
it, makes you depressive or whatever. There will definitely be bugs in this
software and you may not always like them.


祝TeXing愉快

杨宏章
Yang, Hon-Jang
(e-mail: hjyang@math.ntu.edu.tw)
--
m;32m※ 转寄:.华南网木棉站 bbs.gznet.edu.cn.[FROM: mtlab.hit.edu.cn]
--

                              Enjoy Linux!
                          -----It's FREE!-----

※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: mtlab.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:207.468毫秒