排版 Kvant 期刊数学问题书(Задачник «Кванта» по matематике)

排版 Kvant 期刊数学问题书(Задачник «Кванта» по matематике)

我去布拉格拜访了我的一位同事,捷克 TeXist Karel Horák,他向我提出了一个很棒的 TeX 问题。他希望从 TeX 文件中获取 PDF 文件。听起来很简单!

Kvant 的问题(量化分析师的数学问题书) 期刊已于一段时间前公开发布 (TeXPDFhttp://www.kvant.info/zkm_main.htm)。

他遇到的第一个问题是文件是用哪种编码编写的。他尝试了 TeXworks 中的所有编码,但都没有成功。我尝试了几种自动检测系统(第一个站点第二个站点)。他们识别了 SJIS 和 UTF-8,这是错误的。我还没有测试过沙尔代Python 中的包(这是我的一种待办事项)。

我尝试过不同的策略。我希望测试iconv程序中的所有编码。我创建了一个独立的 Lua 脚本来帮我做这件事。我们运行texlua mal-split.lua

-- I'm mal-split.lua...
-- I test all encodings from iconv -l...

os.execute("iconv -l >list.txt")
content=io.lines("list.txt")
for line in content do
  for term in string.gmatch(line,"[^ ]+") do
  print("Processing "..term)
  command="iconv -f "..term.." -t UTF-8 zkm_main.tex >zkm_main-"..term..".tex"
  os.execute(command)
  end -- for term
end -- for line

然后我尝试在众多 TeX 文件中从 PDF 文件(复制+粘贴)中找出一些单词。就这样!使用的编码可能是以下之一:CP866CP1125CP1131

从该 TeX 文件获取 PDF 文件还存在一些其他问题:

  • 我们缺少所有图片,请参阅\epsfbox命令。我们需要以某种方式从服务器下载它们(如果它们存在的话)或从 PDF 文件或附带的 HTML+PNG 文件中提取它们。我们猜测其中一些是在 Metapost 中创建的。我们可以通过\def\epsfbox#1{}在文件开头进行定义来消除此问题。我既没有找到带有图片的必要文件,也没有找到字体文件。我用了wget -r -N http://www.kvant.info/(2 GB)。我给网站管理员写了一封电子邮件,询问他们是否可以提供。

这是对我获取图形源代码的卑微请求的答复:

  Hello, Pavel! I'm afraid the most of the data you requested is lost...
  It has been a long time since *.tex files were produced. It's a chance
  that you can find some pictures here
  http://www.kvant.info/zkm_main.htm
  Unfortunately it's not possible to contact the author of the files...
  С уважением,
  sergereal 

加载的图片HTML网页(GIF、JPG、SWF)位于/zkm_in/文件夹中,它们在这里: http://striz7.fame.utb.cz/docasne/zkm_im.rar

  • 该文件缺少前言,应该有一些,因为有未定义的命令,如\LARGE。我在该服务器上找不到其他 TeX 文件。
  • 我们可能应该加载一些支持包,因为它们在命令名称中使用西里尔字母。或者我们需要将引擎更改为latex其他引擎...
  • PDF 文件中的字体列表为:jour10、scbbx10、scbex10、scbit10、scbmi10、scbr10、scbsy10 和 T1 到 T9。

因此,任务是重建序言,这是我最好的猜测。我正在尝试通过任何必要的方式编译 TeX 文件来重现 PDF 文件。

这些是一些转换的 TeX 文件来自 CP866来自 CP1125来自 CP1131转换为 UTF-8,以防您无法运行 iconv 工具。我附上了 PDF 文件第一页的预览。

在此处输入图片描述

答案1

我认为,第一步也是绝对必要的一步是找回原版字体。没有字体,你就无法重现原版的行和分页符或整体外观。

查看字体的名称,它们遵循“计算机现代”传统,因此它们可能最初用 METAFONT 或 METAPOST 编写,如果您无法从备份磁带中获取它们,可能仍然在某些服务器(ftp、listserv 存储库、gopher 等)上吸引人。

如果找不到它们,你可以从 pdf 文件中剥离出字形(字母形状)(而且,由于文件太旧,你可能会在一次尝试中得到完整的字体,而不是得到每个 pdf 文件不同的重叠子集)。但必要的 tfm 文件仍然缺失……

有了这些之后,下一步就是测量页面尺寸并为 LaTeX 制作试用文档类。这不仅仅是写一个序言,而且比重建丢失的字体更可行。

相关内容