TeX 是一个相当庞大的系统,其中的程序、格式、宏包和工具繁多。新手比较容易接受直观的现象,对于 TeX 系统中繁琐抽象的概念则了解甚少。
比如说,新手听闻「LaTeX」之名,于是在编译的时候看见 pdfLaTeX 或 XeLaTeX 的时候就会犹豫:「这是不是我听说的那个 LaTeX 呢」。于是,新手可能会倾向于使用 LaTeX 去编译。编译完成之后,又面临着将 DVI 文件转化为 PDF 文件的问题,这时候新手又会面临两个选择:
- 使用
dvips
先转换为 PS 文件,再使用 ps2pdf
转换为 PDF 文件
- 使用
DVIPDFMx
直接转换为 PDF 文件
两种方式在新手眼中的差异直观而明显:「前一种方式多了 PS 文件这个中间步骤」。诚然,这是对的,但是却忽略了一些细节但关键的东西。这样不经意的忽略往往为后来的错误埋下了根源,比如新手经常会遇到下列一些错误:
- 使用 WinEdt 时,弹出对话框提示「returned exit code (1)」
- 编译完成后不报错,但是插入的图片显示异常
- 编译完成后不报错,但是纸张尺寸或超链接异常
这些错误往往是驱动选项错误导致的,准确地说,是驱动选项和实际使用的驱动不一致导致的。而所谓驱动,就是 dvips
和 DVIPDFMx
这些转换工具。