Hello Don Simons, I've finally made it (I got some more problems but solved them for me) At the end of this text, are the diffs between your file (without the '$') and my adapted version. f2c has one problem: It can't convert ascii to integer (and via versa) automatically as the f77 compiler can. So I used a dummy function (I don't know if there exists a ascii to integer function in Fortran) ord and replaced it in the c file through atol. Reinhard Katzmann diffs between pmtexb2.f and pmtexb.for: 322c322 < subroutine getchar(line,iccount,mychar) --- > subroutine getchar(line,iccount,char) 329c329 < character*1 mychar,s --- > character*1 char,s 338c338 < mychar = line(iccount:iccount) --- > char = line(iccount:iccount) 595c595 < subroutine notex(mynotex,lnote) --- > subroutine notex(notex,lnote) 600c600 < character*25 mynotex --- > character*25 notex 623c623 < mynotex =s//'ccc'//ud//' '//note --- > notex =s//'ccc'//ud//' '//note 626c626 < mynotex =s//'cc'//ud//' '//note --- > notex =s//'cc'//ud//' '//note 629c629 < mynotex =s//'c'//ud//' '//note --- > notex =s//'c'//ud//' '//note 631c631 < mynotex =s//'q'//ud//' '//note --- > notex =s//'q'//ud//' '//note 633c633 < mynotex =s//'h'//ud//' '//note --- > notex =s//'h'//ud//' '//note 635c635 < mynotex =s//'wh'//' '//note --- > notex =s//'wh'//' '//note 640c640 < mynotex =s//'c'//ud//'p'//' '//note --- > notex =s//'c'//ud//'p'//' '//note 642c642 < mynotex =s//'q'//ud//'p'//' '//note --- > notex =s//'q'//ud//'p'//' '//note 644c644 < mynotex =s//'h'//ud//'p'//' '//note --- > notex =s//'h'//ud//'p'//' '//note 646c646 < mynotex =s//'c'//ud//'p'//' '//note --- > notex =s//'c'//ud//'p'//' '//note 659c659 < mynotex = s//'sk' --- > notex = s//'sk' 661c661 < mynotex = s//'rlap{'//s//'qsk'//s//'pause}' --- > notex = s//'rlap{'//s//'qsk'//s//'pause}' 667c667 < mynotex = s//'ask' --- > notex = s//'ask' 670c670 < mynotex =s//'hs' --- > notex =s//'hs' 672c672 < mynotex =s//'qs' --- > notex =s//'qs' 674c674 < mynotex =s//'ds' --- > notex =s//'ds' 676c676 < mynotex =s//'qp' --- > notex =s//'qp' 678c678 < mynotex =s//'hpause' --- > notex =s//'hpause' 681c681 < mynotex =s//'pause' --- > notex =s//'pause' 808c808 < character*25 mynotex --- > character*25 notex 1091,1092c1091,1092 < call beamstrt(mynotex,lnote,nornb,ihornb) < call addstr(mynotex,lnote,sout,lsout) --- > call beamstrt(notex,lnote,nornb,ihornb) > call addstr(notex,lnote,sout,lsout) 1110c1110 < mynotex = s//'pince ' --- > notex = s//'pince ' 1113c1113 < mynotex=s//'mordant ' --- > notex=s//'mordant ' 1116c1116 < mynotex=s//'mtr ' --- > notex=s//'mtr ' 1119c1119 < call addstr(mynotex(1:lnote-1)//notef(ihorn),lnote, --- > call addstr(notex(1:lnote-1)//notef(ihorn),lnote, 1124c1124 < call beamn1(mynotex,lnote) --- > call beamn1(notex,lnote) 1129c1129 < call beamend(mynotex,lnote) --- > call beamend(notex,lnote) 1135c1135 < call beamid(mynotex,lnote) --- > call beamid(notex,lnote) 1138c1138 < call notex(mynotex,lnote) --- > call notex(notex,lnote) 1140c1140 < call addstr(mynotex,lnote,sout,lsout) --- > call addstr(notex,lnote,sout,lsout) 1215d1214 < integer tof,tofa 1219,1220c1218,1219 < nof = '0' < nofa = '-1' --- > nof = 0 > nofa = -1 1230,1235c1229,1232 < tof = ord(nof) < nof = char(tof+48) < if (tof .gt. 9) then < lnof = 2 < tof = ord(nof) < nof = '1'//char(tof-10+48) --- > nof = char(nof+48) > if (nof .gt. 9) then > lnof = 2 > nof = '1'//char(nof-10+48) 1237,1238c1234 < tofa=ord(nofa) < if (tofa .eq.-1) then --- > if (nofa .eq.-1) then 1241c1237 < else if (tofa .lt. 10) then --- > else if (nofa .lt. 10) then 1243c1239 < nofa = char(tofa+48) --- > nofa = char(nofa+48) 1246c1242 < nofa = '1'//char(tofa+38) --- > nofa = '1'//char(nofa+38) 1298,1303c1294,1295 < tof = ord(nof) < tof = tof+4 < nof = char(tof+48) < tofa = ord(nofa) < tofa = tofa+4 < nofa = char(tofa+48) --- > nof = nof+4 > nofa = nofa+4