Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I am very new to UNIX and trying to learn troff. I have some set of very old written troff files (before 20 years from now).

Some samples are hereunder:

file_00.g

B,4.5,3.5,15.5,23.5
D,1.3,1.25,1.5,1.25
D,1.5,1.0,1.5,1.25
D,18.5,1.25,18.8,1.25
D,18.5,1.0,18.5,1.25
D,1.3,26.75,1.5,26.75
D,1.5,26.75,1.5,27.0
D,18.5,26.75,18.8,26.75
D,18.5,26.75,18.5,27.0

P
B,4.5,3.5,15.5,23.5
D,1.3,1.25,1.5,1.25
D,1.5,1.0,1.5,1.25
D,18.5,1.25,18.8,1.25
D,18.5,1.0,18.5,1.25
D,1.3,26.75,1.5,26.75
D,1.5,26.75,1.5,27.0
D,18.5,26.75,18.8,26.75
D,18.5,26.75,18.5,27.0
P

B,4.5,3.5,15.5,24.5
D,1.3,1.25,1.5,1.25
D,1.5,1.0,1.5,1.25
D,18.5,1.25,18.8,1.25
D,18.5,1.0,18.5,1.25
D,1.3,26.75,1.5,26.75
D,1.5,26.75,1.5,27.0
D,18.5,26.75,18.8,26.75
D,18.5,26.75,18.5,27.0
~GET12B
H,9.25,26.0, -i-
~GET12B
H,13.0,2.3,Grasping the Wind
D,13.0,2.4,16.7,2.4
D,13.0,2.5,16.7,2.5
P

B,4.5,3.5,15.5,24.5
D,1.3,1.25,1.5,1.25
D,1.5,1.0,1.5,1.25
D,18.5,1.25,18.8,1.25
D,18.5,1.0,18.5,1.25
D,1.3,26.75,1.5,26.75
D,1.5,26.75,1.5,27.0
D,18.5,26.75,18.8,26.75
D,18.5,26.75,18.5,27.0
~GET12B
H,9.25,26.0, -ii-
~GET12B
H,3.5,2.3,Grasping the Wind
D,3.5,2.4,7.25,2.4
D,3.5,2.5,7.25,2.5
P

B,4.5,3.5,15.5,23.5
D,1.3,1.25,1.5,1.25
D,1.5,1.0,1.5,1.25
D,18.5,1.25,18.8,1.25
D,18.5,1.0,18.5,1.25
D,1.3,26.75,1.5,26.75
D,1.5,26.75,1.5,27.0
D,18.5,26.75,18.8,26.75
D,18.5,26.75,18.5,27.0
~GET12B
H,9.25,26.0, -iii-
~GET12B
H,13.0,2.3,Grasping the Wind
D,13.0,2.4,16.7,2.4
D,13.0,2.5,16.7,2.5
P

B,4.5,3.5,15.5,23.5
D,1.3,1.25,1.5,1.25
D,1.5,1.0,1.5,1.25
D,18.5,1.25,18.8,1.25
D,18.5,1.0,18.5,1.25
D,1.3,26.75,1.5,26.75
D,1.5,26.75,1.5,27.0
D,18.5,26.75,18.8,26.75
D,18.5,26.75,18.5,27.0
~GET12B
H,9.25,26.0, -iv-
~GET12B
H,3.5,2.3,Grasping the Wind
D,3.5,2.4,7.25,2.4
D,3.5,2.5,7.25,2.5
P

B,4.5,3.5,15.5,23.5
D,1.3,1.25,1.5,1.25
D,1.5,1.0,1.5,1.25
D,18.5,1.25,18.8,1.25
D,18.5,1.0,18.5,1.25
D,1.3,26.75,1.5,26.75
D,1.5,26.75,1.5,27.0
D,18.5,26.75,18.8,26.75
D,18.5,26.75,18.5,27.0
~GET12B
H,9.25,26.0, -v-
~GET12B
H,13.0,2.3,Grasping the Wind
D,13.0,2.4,16.7,2.4
D,13.0,2.5,16.7,2.5
P

file_01.ms

#START=
~F
~F
~Gm0,2
#CHE=Preface
~P0
~Gm0,0.5
~P0
#j=``The names of the points are not merely nominal;
each has a profound meaning.''
~Gm3,0.3
#u=Sun Si Miao
~Gm0,1.5
~P0
#P=
~GERB30 ~E
F
~GERR12 ~E
~Gm-0.12,0
or Western students of Chinese acupuncture,
who have only to memorize
a numbered sequence channel by channel, recognition of the significance and
usefulness of the names of the acupuncture points is easy to miss.  In
comparison with what the Chinese student must cope, the Western system is
convenient, logical and easy to learn. Yet alphanumeric codes deprive
Western students of a great advantage, both in possible insights
into Chinese culture and medicine, and in learning about the points themselves.
It is to aid this perceived lack that we set about the task of translating and
compiling.
#P=Readers may note that all the material presented in this text has been drawn
solely from Chinese sources.  The explanations of the point names are those
expressed by Chinese authors, both ancient and modern. Each point name
is presented in Chinese, English translation, alphanumeric code and pinyin.
Alternate names that may be encountered are listed, as are relevant translations
for each character in the point name.
~GERB12 ~E  Appendix A, The Glossary of Single Characters #r=
provides more extensive character definitions.
#P=Because the point's location, as expressed in the classics, will often shed
light on the name of the point, the classical location is given for each point
name.  This information is largely drawn from the #i= Great Compendium of
Acupuncture,#r= except where other sources were more revealing.
#P=Often, a point name will contain either a direct or veiled reference to the
point's function in the context of point associations.  These special groupings
are included where applicable.  ~GERB12 ~E Appendix B#r= contains further discussion of
special point groupings and the characters that are used to denote them.
#P=Explanations of point names constitute the major portion of the text. More
than one explanation for a point name is given where it adds to
the reader's understanding of function, location, or context.
#P=A work such as this is inevitably the work of many people. No list
could include all the individuals who have made this book possible. Special
thanks go to Bev Cubbage for her typing of the original draft, Huang Sheng-Jing
for her patient explanations of the difficult passages and her proficient typing
of Chinese characters, James Cleaver for his carefully considered comments on
parts of the manuscript, Fan Shi Lei for her willingness to be a walking Chinese
reference, and Hs~QO~RFu-Shu, Shi Neng-Yun, Chen
Jun-Chao, and Doctor James
Tin Yau So, the teachers who have nurtured my interest in Chinese medicine.
~P0
~SD0.5
~SC48
~L1
~GERR12 ~E
~Gx11,6.8,A
~Gm0.2,0.2
~Gx10.6,6.4,@
~Gm1.2,1.2
~L0
~SD0.45
~SL5.2
~SR14.8
Two main styles of Chinese characters are used in this text.
~GERJ12 ~E   Kai Shu, ~GERR12 ~E
a font that preserves the strokes used to form the characters
when hand written, is used for headings.  Students interested in writing Chinese may thus
see something of their construction.   The text characters
are ~GERJ12 ~E  Zhong Ming,~GERR12 ~E
a modern style designed
for readability when printed.There are stylistic differences.
  #i=Sh~GEDI12 ~E ~Qz~R ~GERI12 ~E ~Gm-0.35,0 u#r=, for example,
when printed in #j=Zhong Ming#r= appears as:
 «\. When printed in #j=Kai Shu#r= it is:
~GCKV ~SC0 ~GO48 ~SD0.45
 «\.  See ~GERB12 ~E Appendix A ~GERR12 ~E and ~GERB12 ~E
Appendix B ~GERR12 ~E for further discussion of #i=sh~GEDI12 ~E ~Qz~R ~GERI12 ~E ~Gm-0.35,0 u.#r=
~F
#START=
~Gm0,1
~P0
#CHE= Table of Contents
~L0
~SC48
~SD0.5
~GERR12 ~E
~SH14.7,0
~Gm0,0.75
~P0
#b=Part I: Characters#r=

Introduction~H1

Influences on the Development of Point Names~H1

Point Name Taxonomy~H3

A Brief Discussion of Chinese Characters~H9

Radicals~H10

Character Categories~H16

~Gm0,0.75
#b=Part II: Point Names#r=

The Lung Channel~H23

The Large Intestine Channel~H36

The Stomach Channel~H56

The Spleen Channel~H100

The Heart Channel~H120

The Small Intestine Channel~H128

The Bladder Channel~H143

The Kidney Channel~H196

The Pericardium Channel~H223

The Triple Burner Channel~H231

The Gallbladder Channel~H252

The Liver Channel~H291

The Conception Vessel~H303

The Governing Vessel~H327

Appendix A: Glossary of Single Characters~H353

Appendix B: Special Point Groupings~H414

Index One: (English) Main Point Names~H419

Index Two: (Pinyin) Primary & Alternate Point Names~H429

Bibliography~H456

Alphanumeric Point Index~H461

~F
~GERR72 ~E
~L1
~SD4
~Gm0,4
P~Gm-0.3,0 A ~Gm-1.1,0 R ~Gm-1.2,0 T I
Characters

mac.1

[set searchcase exact]
[c/a1/+1aI12/*][top]
[c/a2/~QD~R/*][top]
[c/a3/+3aI12/*][top]
[c/a4/~QH~R/*][top]
[c/a5/~QL~R/*][top]
[c/ai1/+1aI12i/*][top]
[c/ai2/~QD~Ri/*][top]
[c/ai3/+3aI12i/*][top]
[c/ai4/~QH~Ri/*][top]
[c/ai5/~QL~Ri/*][top]
[c/an1/+1aI12n/*][top]
[c/an2/~QD~Rn/*][top]
[c/an3/+3aI12n/*][top]
[c/an4/~QH~Rn/*][top]
[c/an5/~QL~Rn/*][top]
[c/ang1/+1aI12ng/*][top]
[c/ang2/~QD~Rng/*][top]
[c/ang3/+3aI12ng/*][top]
[c/ang4/~QH~Rng/*][top]
[c/ang5/~QL~Rng/*][top]
[c/ao1/+1aI12o/*][top]
[c/ao2/~QD~Ro/*][top]
[c/ao3/+3aI12o/*][top]
[c/ao4/~QH~Ro/*][top]
[c/ao5/~QL~Ro/*][top]
[c/e1/+1eI12/*][top]
[c/e2/~QE~R/*][top]
[c/e3/+3eI12/*][top]
[c/e4/~QI~R/*][top]
[c/e5/~QM~R/*][top]
[c/en1/+1eI12n/*][top]
[c/en2/~QE~Rn/*][top]
[c/en3/+3eI12n/*][top]
[c/en4/~QI~Rn/*][top]
[c/en5/~QM~Rn/*][top]
[c/eng1/+1eI12ng/*][top]
[c/eng2/~QE~Rng/*][top]
[c/eng3/+3eI12ng/*][top]
[c/eng4/~QI~Rng/*][top]
[c/eng5/~QM~Rng/*][top]
[c/er1/+1eI12r/*][top]
[c/er2/~QE~Rr/*][top]
[c/er3/+3eI12r/*][top]
[c/er4/~QI~Rr/*][top]
[c/er5/~QM~Rr/*][top]
[c/ei1/+1eI12i/*][top]
[c/ei2/~QE~Ri/*][top]
[c/ei3/+3eI12i/*][top]
[c/ei4/~QI~Ri/*][top]
[c/ei5/~QM~Ri/*][top]
[c/ji1/+1jiI12/*][top]
[c/i1/+1iI12/*][top]
[c/i2/~QU~R/*][top]
[c/i3/+3iI12/*][top]
[c/i4/~QY~R/*][top]
[c/i5/~Q]~R/*][top]
[c/in1/+1iI12n/*][top]
[c/in2/~QU~Rn/*][top]
[c/in3/+3iI12n/*][top]
[c/in4/~QY~Rn/*][top]
[c/in5/~Q]~Rn/*][top]
[c/ing1/+1iI12ng/*][top]
[c/ing2/~QU~Rng/*][top]
[c/ing3/+3iI12ng/*][top]
[c/ing4/~QY~Rng/*][top]
[c/ing5/~QY~Rng/*][top]
[c/o1/+1oI12/*][top]
[c/o2/~QF~R/*][top]
[c/o3/+3oI12/*][top]
[c/o4/~QJ~R/*][top]
[c/o5/~QN~R/*][top]
[c/ou1/+1oI12u/*][top]
[c/ou2/~QF~Ru/*][top]
[c/ou3/+3oI12u/*][top]
[c/ou4/~QJ~Ru/*][top]
[c/ou5/~QN~Ru/*][top]
[c/ong1/+1oI12ng/*][top]
[c/ong2/~QF~Rng/*][top]
[c/ong3/+3oI12ng/*][top]
[c/ong4/~QJ~Rng/*][top]
[c/ong5/~QN~Rng/*][top]
[c/u1"/+9uI12/*][top]
[c/u2"/+7uI12/*][top]
[c/u3"/+6uI12/*][top]
[c/u4"/+8uI12/*][top]
[c/u1/+1uI12/*][top]
[c/u2/~QG~R/*][top]
[c/u3/+3uI12/*][top]
[c/u4/~QK~R/*][top]
[c/u5/~QO~R/*][top]
[c/u6/+6uI12/*][top]
[c/u7/+7uI12/*][top]
[c/u8/+8uI12/*][top]
[c/un1/+1uI12n/*][top]
[c/un2/~QG~Rn/*][top]
[c/un3/+3uI12n/*][top]
[c/un4/~QK~Rn/*][top]
[c/un5/~QO~Rn/*][top]
[c/ui1/u+1iI12/*][top]
[c/ui2/u~QU~R/*][top]
[c/ui3/u+3iI12/*][top]
[c/ui4/u~QY~R/*][top]
[c/ui5/u~Q]~R/*][top]
[c/ue1"/+9eI12/*][top]
[c/ue2"/+8eI12/*][top]
[c/ue3"/+6eI12/*][top]
[c/ue4"/+7eI12/*][top]

works.sty

#START=
~L0
~SD0.5

#CHE=
~GERB30 ~E
~GJC

#CHP=
~Gm0,1.5
~GERJ24 ~E
~GJC

#CHC=
~Gm0,2
~GCKV ~SC0 ~GO112
~GJC

#HC=
~Gm0,3
~GCKV ~SC0 ~GO240
~GJC

#SH=
~Gm0,0.7
~GCKV ~SC0 ~GO72
~GERB14 ~E ~SD0.5

#HE=
~Gm0,1.5
~GERJ24 ~E
~GJC

#RT=
~SC48
~SD0.5
~P0
~L1

#Aa=~GERB16 ~E

#Ab=~GERJ16 ~E

#Ac=~Gm0,0.3

#P=
~L0
~SC48
~SD0.5
~P0
~GERR12 ~E

#G=
~L0
~SC48
~SD0.5
~Gm0,0.03
~GERR12 ~E

#IP=
~L0
~SC48
~SD0.5
~GERI12 ~E

#O1=
~L1
~SC48
~SD0.5
~GERJ14 ~E
~SH4.4,4.7,4.9,0

#O2=
~L1
~SC48
~SD0.5
~GERR12 ~E
~SH4.4,4.7,4.9,0

#LOC=
~L0
~Gm0,0.3
~GERB12 ~E
Classical Location:
~SC48
~SD0.5
~GERR12 ~E

#ASS=
~L0
~P0
~SD0.5
~GERB12 ~E
Point Associations:
~GERR12 ~E

#EX=
~SD0.5
~L0
~Gm0,0.5
~GERB14 ~E
Explanation of Point Name
~P0
~Gm0,0.2
~GERR12 ~E

#ALT=
~L1
~SD0.5
~Gm0,0.2
~GERB12 ~E Alternate Names
~GERR12 ~E
~SH4.7,9.4,11.2,0

#ALT1=
~L1
~SD0.5
~Gm0,0.2
~GERB12 ~E Alternate Name
~GERR12 ~E
~SH4.7,9.4,11.2,0

#PN1=
~L1
~SD0.5
~GERR12 ~E
~SH4.7,6.3,9.2,13.5,0
~Gm0,-0.3

#PN=
~L1
~SD0.5
~GERR12 ~E
~SH4.7,6.3,9.2,13.5,0
~Gm0,-0.3

#PH=
~L0

#b=~GERB14 ~E

#i=~GERI12 ~E

#r=~GERR12 ~E

#j=~GERJ12 ~E

#u=~GEUI10 ~E

PE.PRO

s blankcompress off
s searchcase exact
set margins 1 250 1
d up=[up]
d down=[down]
d left=[left]
d right=[right]
d pgup=[pu]
d pgdn=[pd]
d home=[bl]
d end=[el]
d ins=[it]
d del=[dc]
d enter=[il]
d backspace=[ro]
d esc=[cg]
d tab=[tw]
d f1=[e]
d f2=[save]
d f3=[m text.mac]
d f4=[quit]
d f5=[cc][bl][ee]'print'
d f6=[ps][mc][tw][left][mc][bm][dm][po]
d f7=[left][eb][bl]
d f8=[ee]
d f9=[bl][ee]
d f10=[dl]
d c-left=scrollleft 70
d c-right=scrollright 70
d c-pgup=[ps][ml][bo][bm][up 2][down 2][po]
d c-pgdn=[ps][ml][to][bm][down 2][up 2][po]
d c-home=
d c-end=
d c-enter=[ex]
d c-backspace=
d c-a='????'
d c-b=[down 55][il][bl]''
d c-c=[ps][ml][ci][um][po]
d c-d=[cc][bl][ee][ca]
d c-e=''
d c-f=[to][/**/]
d c-g=[pd][te]
d c-h=[cl]
d c-i=
d c-j=[jo]
d c-k=[edit .keydefs]
d c-l=[ps][ml][cm][po]
d c-m=[cc][bl][ee]'? margins'[ex][right 12]
d c-n=
d c-o=
d c-p=[ps][ml][fb][up][ml][rf][em][down 2][po]
d c-q=
d c-r=[rd]
d c-s=[sp]
d c-t=[cc][? tabs][right 11]
d c-u=[edit .unnamed]
d c-v=[ps][mc][l/.  /][mc][bm][dm][po]
d c-w=[ct]
d c-x=[es]
d c-y=[co]
d c-z='.\" '
d c-f1=[cc][bl][ee]'s margins 1 80 1'[bl][right 10]
d c-f2=[cc][bl][ee]'s margins 1 80 6'[bl][right 10]
d c-f3=[cc][bl][ee]'s margins 1 80 5'[bl][right 10]
d c-f4=[cc][bl][ee]'s margins 1 254 1'[bl][right 10]
d c-f5=
d c-f6=[ud]
d c-f7=
d c-f8=[e .unnamed][bo][up 1][ml][e][up 1][cm][um]
d c-f9=
d c-f10=
d c-minus='                    * * * * * * * * * * * * * * * * * * * *'
d c-backslash='* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *'
d s-up=[up 5]
d s-down=[down 5]
d s-left =[left 20]
d s-right =[right 20]
d s-pgup =[te]
d s-pgdn =[be]
d s-home =[to][bl]
d s-end =[bo][bl]
d s-pad5=
d s-ins=
d s-del=
d s-tab=[bw]
d s-f1=[dir a:][cd a:]
d s-f2=[dir b:][cd b:]
d s-f3=[ps][cd][ml][cm][column 9]'.'[column 14][ee][c/ //-*m][bl][sr][sr]'e'[ct][down][dm][ex][po]
d s-f4=[dos]
d s-f5=[dir]
d s-f6=
d s-f7=[ss]
d s-f8=[nv]
d s-f9=[nw]
d s-f10=[zw]
d s-0=')'
d s-1='!'
d s-2='@'
d s-3='#'
d s-4='$'
d s-5='%'
d s-6='^'
d s-7='&'
d s-8='*'
d s-9='('
d s-minus='_'
d s-equals='+'
d s-lbracket='{'
d s-rbracket='}'
d s-semi=':'
d s-quote='"'
d s-backquote='~'
d s-comma='<'
d s-period='>'
d s-slash='?'
d s-backslash='|'
d a-a=[bm]
d a-b=[mb]
d a-c=[mc]
d a-d=[dm]
d a-e=[em]
d a-f=[fm]
d a-g=[uc]
d a-h=[lc]
d a-i=
d a-j=
d a-k=
d a-l=[ml]
d a-m=[mm]
d a-n=
d a-o=[ob]
d a-p=[pm]
d a-q=
d a-r=[rf]
d a-s=[ps][ml]
d a-t=[ct]
d a-u=[um][po]
d a-v=[ci]
d a-w=
d a-x=[sr]
d a-y=[cm]
d a-z=[sl]
d a-f1='P'
d a-f2='M'
d a-f3='g'
d a-f4='p1'
d a-f5='p0'
d a-f6='-'
d a-f7='-0'
d a-f8='8'
d a-f9=[ps][mc][down 57][el][mc][pm][po][down][bl]
d a-f10='9'
d a-0='HT'
d a-1='a2'
d a-2=''
d a-3=''
d a-4='4'
d a-5='5'
d a-6='E'
d a-7='F'
d a-8='S '
d a-9='S'
d a-minus=''
d a-equals=''
d u-up=
d u-down=
d u-left=
d u-right=
d u-pgup=
d u-pgdn=
d u-home=
d u-end=
d u-ins=
d u-del=
d u-enter=
d u-backspace=
d u-esc=
d u-tab=
d u-a=
d u-b=
d u-c=
d u-d=
d u-e=
d u-f=
d u-g=
d u-h=
d u-i=
d u-j=
d u-k=
d u-l=
d u-m=
d u-n=
d u-o=
d u-p=
d u-q=
d u-r=
d u-s=
d u-t=
d u-u=
d u-v=
d u-w=
d u-x=
d u-y=
d u-z=
d u-f1=
d u-f2=
d u-f3=
d u-f4=
d u-f5=
d u-f6=
d u-f7=
d u-f8=
d u-f9=
d u-f10=
d u-0=
d u-1=
d u-2=
d u-3=
d u-4=
d u-5=
d u-6=
d u-7=
d u-8=
d u-9=
d u-minus=
d u-equals=
d u-lbracket=
d u-rbracket=
d u-semi=
d u-quote=
d u-backquote=
d u-comma=
d u-period=
d u-slash=
d u-backslash=
d u-prtsc=
d u-padplus=
d u-padminus=
d u-pad5=
d u-space=
set tabs 10 20 30 40 50 60 70 80

What I tried includes some reading troff website, using grog(crosspost), but being very less known about this, it would be great if someone help me to compile those files to produce PS/PDF. Reference to specific resources would be appreciated.

I am using cygwin on Windows SP3.

share|improve this question
1  
Maybe groff and then pipe the output into ps2pdf? This worked here for a simple example I found. –  Renan Oct 5 '12 at 16:26
1  
I've done a lot of groff (which I think is the de facto roff standard today) but only to produce man pages (not PDFs), and to be honest that syntax above is completely unfamiliar to me. However, I run man -k roff | grep PDF and found pdfroff - possibly that is what you're looking for (or you might have another tool on your system). –  Emanuel Berg Oct 5 '12 at 21:13
    
@Renan: That was my assumption to do. But generated PDFs were not as those have to be, I mean special formatting instructions were completely ignored by the groff, resulting those to appear in PDF. Moreover, I used grog to guess, but with no success. –  Cylian Oct 6 '12 at 7:56
    
@EmanuelBerg: I am looking for a way to extract the textual contents retaining formatting information and obviously the images from these files, which should be readable to users without any programming knowledge. These are very old scholarly archives and need to be re-digitalized. As PDF is widely used open standard and there's lot of tools present to manipulate with, so I choose that. It might be html/xhtml/xml also. –  Cylian Oct 6 '12 at 8:24
    
@Cylian: Are you sure that is troff syntax? It sure doesn't look like the man page groff I know, and groff is a wrapper around troff. Check out man groff_diff - it would seem, the difference in syntax is on the level of details. If it really is troff, why don't you just run it with all the tools associated with roff processing, and see if anything comes out the other end? –  Emanuel Berg Oct 6 '12 at 22:31
show 1 more comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.