LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1242|回复: 7

latex一个百思不得其解的问题

[复制链接]
发表于 2006-6-14 15:53:29 | 显示全部楼层 |阅读模式
我根据以下这篇文章可以实现中文latex,并可以用dvipdfm输出为中文pdf了。
http://bbs.linuxsir.cn/showthrea ... amp;highlight=latex
"自认为最简单的中文latex配置,3步就可以了!"

不过碰到一个新的问题,想破了头,也搜遍了网络,也没辙,只好向各位大侠请教了!

  1. \documentclass[a4paper,twocolumn,twoside,fleqn]{book}
  2. \usepackage{CJK}
  3. \usepackage{graphicx}
  4. \usepackage{xcolor}
  5. \usepackage{amsmath}

  6. % 页面样式
  7. \pagestyle{headings}
  8. % 页码样式
  9. \pagenumbering{Roman}

  10. % 页边距
  11. \setlength{\oddsidemargin}{0em}
  12. \setlength{\evensidemargin}{0em}

  13. % 段落缩进,段落间距,行间距
  14. %\setlength{\parindent}{2em}
  15. %\setlength{\parskip}{1ex}
  16. %\setlength{\baselineskip}{1.5em}

  17. \setlength{\mathindent}{0em}


  18. % 设置目录表深度
  19. \setcounter{tocdepth}{3}

  20. % 自定义命令

  21. \begin{document}
  22. %===============================================
  23. \begin{CJK}{GBK}{hei}
  24. \title{高\ 等\ 数\ 学\ 常\ 用\ 公\ 式}
  25. \author{\LaTeXe 初学者}
  26. % 标题页
  27. \maketitle

  28. % 目录表
  29. \tableofcontents

  30. % 正文部分
  31. % ==============================
  32. \chapter{极限\;导数\;微积分}
  33. \section{极限}

  34. \begin{itemize}
  35. %----
  36. \item {两个重要极限}
  37. \begin{eqnarray}
  38. \lim_{x\to 0}{\frac{sin{x}}{x}}=1 \\
  39. \lim_{x\to 0}{(1+x)^{\frac{1}{x}}}=e
  40. \end{eqnarray}
  41. %----
  42. \item {常用等价无穷小$\quad(x \to 0)$}
  43. \begin{eqnarray}
  44. sin{x}\sim x \\
  45. arcsin{x}\sim x\\
  46. tan{x}\sim x \\
  47. arctan{x}\sim x\\
  48. ln{(1+x)}\sim x \\
  49. e^x-1 \sim x\\
  50. 1-cos{x}\sim \frac{1}{2}x^2 \\
  51. (1+x)^\alpha\sim \alpha x
  52. \end{eqnarray}
  53. %----
  54. \item 重要的高阶无穷小$\quad(x\to +\infty)$
  55. \begin{eqnarray}
  56. x^{-\delta}=o\left(\left(\frac{1}{\ln{x}}\right)^k\right)%
  57. \quad (\delta,k>0)\\
  58. e^{-\delta x}=o(x^{-k})\quad(\delta,k>0)\\
  59. (\ln{x})^{-\alpha}\gg x^{-\beta}\gg e^{-\gamma x}\quad (\alpha,\beta, \gamma >0 )
  60. \end{eqnarray}
  61. %----
  62. \item 常用极限
  63. \begin{eqnarray}
  64. \lim_{n\to\infty}{\sqrt[n]{\alpha}}=1 \quad (\alpha>0)\\
  65. \lim_{n\to\infty}{\sqrt[n]{n}}=1 \\
  66. \lim_{n\to 0^{+}}{n^n}=1
  67. \end{eqnarray}
  68. \end{itemize}
  69. % ==============================

  70. \section{导数与微分}
  71. \begin{itemize}
  72. %====
  73. \item 基本导数
  74. \begin{eqnarray}
  75. y=a^x \qquad y'=a^x \ln{a}\\
  76. y=\log_{a}{x} \qquad y'=\frac{1}{x\ln{a}}\\
  77. y=\tan{x} \qquad y'=\sec^2{x}\\
  78. y=\cot{x} \qquad y'=-\csc^2{x} \\
  79. y=\sec{x} \qquad y'=\sec{x}\tan{x}\\
  80. y=\csc{x} \qquad y'=-\csc{x}\cot{x}\\
  81. y=\arcsin{x} \qquad y'=\frac{1}{\sqrt{1-x^2}}\\
  82. y=\arccos{x} \qquad y'=-\frac{1}{\sqrt{1-x^2}}\\
  83. y=\arctan{x} \qquad y'=\frac{1}{1+x^2}\\
  84. y=\mbox{arccot}\:{x} \qquad y'=-\frac{1}{1+x^2}\\
  85. y=\sinh{x} \qquad y'=\cosh{x}\\
  86. y=\cosh{x} \qquad y'=\sinh{x}
  87. \end{eqnarray}
  88. %----
  89. \item 高阶导数
  90. \begin{eqnarray}
  91. (a^x)^{(n)}= a^x\ln^n{a}\\
  92. (e^x)^{(n)}= e^x \\
  93. (\sin{kx})^{(n)}=k^n\sin{(kx+\frac{n\pi}{2})}\\
  94. (\cos{kx})^{(n)}=k^n\cos{(kx+\frac{n\pi}{2})}\\
  95. (a^x)^{(n)}= a^x\ln^n{a}\\
  96. (e^x)^{(n)}= e^x \\
  97. (\cos{kx})^{(n)}=k^n\cos{(kx+\frac{n\pi}{2})}
  98. \end{eqnarray}
  99. %====
  100. \end{itemize}

  101. [color=red]oops, something wrong here ![/color]
  102. %=================================================
  103. \clearpage
  104. \end{CJK}
  105. \end{document}
复制代码

问题就出在红色的那行。
这行用%注释后,latex 编译通过,且可以用dvipdfm生成pdf;
但去掉%后,latex编译通过(且无错误或警告),dvipdfm生成pdf就出错了,错误信息如下:
$ latex formula.tex
$ dvipdfm formula.dvi
formula.dvi -> formula.pdf
[1][2][3][4][5][6kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 1+0/600 --dpi 600 gbkheisl45
mktexpk: don't know how to create bitmap font for gbkheisl45.
kpathsea: Appending font creation commands to missfont.log.
gbkheisl45: Can't locate a Type 1, TTF, PK, or virtual font file

Not sure how to proceed.  For now this is fatal
Maybe in the future, I'll substitute some other font.

Output file removed.


从附件图中看出,红色那行文字原本应该刚好出现在本页末尾或者下页开头的,但恰恰因为这一行导致了pdf输出错误。实在不明白为什么。真心请求大侠们援手!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2006-6-14 18:59:13 | 显示全部楼层
我这儿编译没有任何问题,红色那行文字出现在下页开头。

似乎是说你的黑体安装不正确,你改一下字体试试。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-14 20:23:17 | 显示全部楼层
谢谢答复!
可是红色那行字是英文字啊,应该和中文字体无关八?况且去掉这行字后,就可以生成pdf了,说明黑体字应该没问题。
回复 支持 反对

使用道具 举报

发表于 2006-6-14 21:11:30 | 显示全部楼层
Post by Prometheus
谢谢答复!
可是红色那行字是英文字啊,应该和中文字体无关八?况且去掉这行字后,就可以生成pdf了,说明黑体字应该没问题。

这儿字体好像不是作为一个整体,而是每个字符对应的,有时候字体对某些字符对的,但是对某些字符又不对了。总之,LaTeX给出的错误信息一直都是很诡异的……还有,你那个虽然是英文,但是包含在\begin{CJK}和\end{CJK}里面的话,我想还是使用的你指定的CJK字体吧?
回复 支持 反对

使用道具 举报

发表于 2006-6-14 21:21:47 | 显示全部楼层
Post by pluskid
这儿字体好像不是作为一个整体,而是每个字符对应的,有时候字体对某些字符对的,但是对某些字符又不对了。总之,LaTeX给出的错误信息一直都是很诡异的……还有,你那个虽然是英文,但是包含在\begin{CJK}和\end{CJK}里面的话,我想还是使用的你指定的CJK字体吧?


同意, 楼主可以试试把那句话放到cjk外边再试一把看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-14 21:56:11 | 显示全部楼层
把那句话放在\end{CJK}后面,latex编译过不去(生成dvi时出错),错误信息变成如下:
! Argument of \CJK@XX has an extra }.
<inserted text>
                \par
l.117 \end{document}
                    
?
把那句话删掉后就没事。真是弄糊涂了。
回复 支持 反对

使用道具 举报

发表于 2006-6-15 10:26:29 | 显示全部楼层
看这一行出错信息
gbkheisl45: Can't locate a Type 1, TTF, PK, or virtual font file
明显是dvipdfm的字体没安装对。

你说的
http://bbs.linuxsir.cn/showthrea ... amp;highlight=latex
似乎是针对teTeX2.x的配置方法。尤其是那里提到的gbkfonts脚本不能直接
用于teTeX3.0。

如果你用teTeX3.0的话,必须在
$TEXMF/fonts/type1目录下(可能是更深层的目录)有对应于gbkheisl的*.pfb文件,
在$TEXMF/fonts/map/dvipdfm目录下有对应于gbkheisl的*.map文件,

如果这些都没有的话,dvipdfm将会调用ttf2pk尝试直接从ttf来生成pk字
体。这就要求$TEXMF/fonts/map/ttf2pk/ttfonts.map文件中必须指明
所要的字体包含在哪个ttf文件中,例如其中应该会有这样的一行
gbkheisl@UGBK@    simhei.ttf  Slant = 0.167 Pid = 3 Eid = 1
指明UGBK编码的gbkheisl字体来自于simhei.ttf, 后面跟着三个控制字形的
参数。


另外,明明你这个文件中可以不用中文的,何必\usepackage{CJK},又何必
\begin{CJK}{GBK}{hei} \end{CJK}呢,把中文改成英文并把这三个语句都删掉得
了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-15 11:58:27 | 显示全部楼层
首先感谢您花费宝贵时间为我解答!

Post by izzystar
看这一行出错信息
gbkheisl45: Can't locate a Type 1, TTF, PK, or virtual font file
明显是dvipdfm的字体没安装对。

可是把红色那句去掉后,文章中的黑体字都可以成功在pdf中显示出来。

你说的
http://bbs.linuxsir.cn/showthrea ... amp;highlight=latex
似乎是针对teTeX2.x的配置方法。尤其是那里提到的gbkfonts脚本不能直接
用于teTeX3.0。

我的是3.0的版本。

如果你用teTeX3.0的话,必须在
$TEXMF/fonts/type1目录下(可能是更深层的目录)有对应于gbkheisl的*.pfb文件,
在$TEXMF/fonts/map/dvipdfm目录下有对应于gbkheisl的*.map文件,

目录下已经有这些pfb和map文件

如果这些都没有的话,dvipdfm将会调用ttf2pk尝试直接从ttf来生成pk字
体。这就要求$TEXMF/fonts/map/ttf2pk/ttfonts.map文件中必须指明
所要的字体包含在哪个ttf文件中,例如其中应该会有这样的一行
gbkheisl@UGBK@    simhei.ttf  Slant = 0.167 Pid = 3 Eid = 1
指明UGBK编码的gbkheisl字体来自于simhei.ttf, 后面跟着三个控制字形的
参数。

检查过了,也有。

另外,明明你这个文件中可以不用中文的,何必\usepackage{CJK},又何必
\begin{CJK}{GBK}{hei} \end{CJK}呢,把中文改成英文并把这三个语句都删掉得
了。

可如果是很多字的文章就必须中文了。

谢谢izzystar!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表