在某课程上遇到的$\LaTeX$模板的bugs研究
今年头一次正式选了一门ML课程,第一周的作业就是用$\LaTeX$写一份介绍文档。
模板是老师提供的,而凡遇模板必有bug。今天就让哥会会它。
模板一览(关键信息已隐藏)
1 | \documentclass[twoside, openany]{cctbook} |
拿到这个模板看第一眼我就感觉要gg(最近刚刚从CTEX
换成最新的TeXLive
+TeXStudio
套装)。这模板开头就送我一句:
1 | \usepackage{Picins} |
这个包是老版本的包,在CTEX
中常见,自从换了新底层TeXLive
我就不用它了。
有哪些bugs
简单地用XeLaTeX
编译一下,warnings
可以不管,但是一片报错可是太难了。研究过程艰辛而快乐,就不写了,下面说说哪些地方bugs比较严重。
老式模板需要更换
首先是开头的声明就会报错:
1 | \documentclass[twoside, openany]{cctbook} |
原因是cctbook
版式适合CTEX
,但是新的TeXLive
并不会识别这样的老版式,解决方法是更换一个兼容的版式:
1 | \documentclass[twoside, openany]{ctexart} |
各种宏包的缺失
这里主要是老版本的包很麻烦,尤其是CTEX
比较喜欢用的,这里包括Pincins
,psfig
和vatola
。我选择了快乐的手动下包法,直接上Ctan
下载对应的sty
文件放在tex
文件同目录下即可。
重复调用宏包
注意模板里有个重复的地方,在已经\usepackage{amssymb}
的情况下,下文又\input amssymb.sty
,这虽影响不大,但是warning
是少不了,直接注释比较舒服:
1 | %\input amssymb.sty |
其它麻烦的小东西
第一个是这个奇怪的符号定义
\newsymbol\wjzhml 203F%空集
,不管它可以,会有个warning
。第二个是省略的
...
中各种奇怪的定义,很多规则似乎已经落后了,所以会有规则冲突,会报很多warnins
,不过TeXStudio
直接忽略,能生成pdf
就可以。第三个是
\begin{figure}[t]
,直接改成\begin{figure}[h]
免得图片位置爆炸。- 还有的记不得了,反正哥调好啦~
参考链接
感谢以下链接的帮助: