
我對 1991 年的一篇研究論文感興趣,但我無法獲得該論文的電子線上版本。作者很友善地向我發送了他的 tex 原始碼,但他自己無法從中產生 pdf 檔案。現在我正在嘗試編譯這個檔案。
載入的“樣式檔案”以許多在我的機器上失敗的字體命令定義開始:
\font\fivesym=msym5
\font\tenss=amss10
\font\tenssi=amssi10
\font\sixrm=amr6
\font\sixi=ammi6
\font\sixsy=amsy6
\font\sixbf=ambx6
\font\sixsym=msym6
\font\sevensym=msym7
\font\eightrm=amr8
\font\eighti=ammi8
\font\eightsy=amsy8
\font\eightbf=ambx8
\font\eightsl=amsl8
\font\eightit=amti8
\font\eightsym=msym8
\font\eighttt=amtt8
\font\ninerm=amr9
\font\ninei=ammi9
\font\ninesy=amsy9
\font\ninebf=ambx9
\font\ninesl=amsl9
\font\nineit=amti9
\font\ninesym=msym9
\font\elevenbf=ambx10 scaled 1095
\font\tensmc=amcsc10
\font\tensym=msym10
\font\twelvesmc=amcsc10 scaled 1200
\font\fourteensmc=amcsc10 scaled 1440
嘗試在 TeX 中編譯此文件會導致以下形式的錯誤:
! Font \tenss=amss10 not loadable: Metric (TFM) file not found.
從上面的第一行開始,我的系統沒有 msym5.tfm 文件,並且 Ubuntu 中沒有套件包含這樣命名的文件。我可以在網路上找到該檔案的某些版本,但如果沒有地圖檔案(我無法找到),我無法安裝此字體。
有沒有什麼好方法可以抓住舊字體來編譯這樣的舊文件?我可以用今天有效的東西來替換這些定義嗎?不幸的是,我不知道字體在每種情況下應該是什麼樣子(網頁沒有提供任何線索),而某些字體可能是用於特殊數學字元的符號字體。
答案1
哇,那個是一份古老的檔案!
正如egreg在評論中所說,am*
(“幾乎現代”)字體可以替換為cm*
(計算機現代;從來沒有“b”系列,人們可能稱之為“更好的現代”或“幾乎現代”),並且msym
應替換為msbm
.
msym
如果我沒記錯的話,和之間有一些小的變化msbm
,但該字體主要用於黑板粗體字母表。兩種字體中這些字母的形狀不同——在msbm
使用襯線模型中,替換了更「幾何」的形狀msym
——但字母的位置是相同的,因此輸出應該具有相同的含義。
am*
關於從到 的切換cm*
,指標不能保證相同,因此換行符號和分頁符號可能與原始值不同。儘管如此,內容的含義應該是相同的。
我建議的另一項更改是刪除%
字體分配後的標誌;它們不是必需的,而且在限定符的情況下scaled
,實際上有些低效,因為它們使 tex 繼續讀取以確定比例因子是否可能是“10950”(當然,這是荒謬的,但 tex 是程序,並且只做它所告訴的)。
我想你應該慶幸這些文件不是為 tex78 所寫的;這是一種完全不同的蠕蟲病毒,而且不那麼容易修復。事實上,egreg 關於某些用戶不太熱衷於更新其係統的評論是正確的。cm
字體是與 tex82 一起發布,並且msa*
和msb*
符號字體於 1985 年發布(於拖船6:3)。刪除msx*
可能msy*
會受到譴責,但這是確保減少維護請求的最簡單方法;在那些日子裡,人們期望字體分發包括幾種不同解析度的像素文件,並針對寫黑或寫白印表機進行調整,並且維護比今天更加耗時。