本文主要介绍国内外学术期刊和学位论文等LaTeX模板在本地编译报错的解决方案。
引言
我们进行学术投稿或者写毕业论文时,可能会被要求使用latex格式编写。当我们下载好期刊或学校提供好的latex模板后,在本地编译后发现竟然有问题,然后可能会怀疑自己的环境出了问题,于是又去找之前编译没问题的文档测试,发现环境并没有问题。这是怎么回事呢?
很多时候可能是因为他们提供的这些模板与你本地的latex发行版版本或宏包版本不匹配导致的,要么是他们提供的模板太旧了,需要使用以前的发行版来运行模板,要么是你本地的环境版本比较老,而模板比较新。也有可能是模板太老了,本身在现在的计算机架构上就存在一些问题,模板本身需要做一些改动。
本文首先给出遇到上述问题的一般性解决方案,然后列举出一些目前遇到的需要特定latex环境和设置的一些国内外期刊和毕业论文模板。如果您遇到过需要特定环境才能编译的模板,请在评论区提供相关的模板名称和所需环境,或者与其相关的材料等,以完善这篇文章,来帮助更多遇到这类问题的朋友。
一般性解决方案
本节主要介绍几种通用的判断latex模板需要什么特定环境来运行的方法。
官网下载区模板的上传日期
首先,当确定要选择哪家杂志期刊投稿后(其他类型模板类似),先去他们官网的下载区下载相应的latex模板,有时候这个资源会给出一个对应的上传时间,从这个上传时间大概可以判断需要使用什么版本的环境。例如上传时间是零几年的(一般都是老旧的中文期刊模板),那大概率需要使用CTEX 2.9版本的环境。
模板本身信息
当下载模板解压后,可能会有*.tex、*.cls、README.md几种文件,一般可以先看看README.md里有没有说明编译此模板所需的特定的环境,也可以在*.tex、*.cls的开头注释部分寻找相关的信息。看看有没有给出此模板的github仓库等,如果有可以去仓库的主页看看有没有给出编译此模板的相关信息。此外仓库的更新日期也可以作为一个参考,比如此仓库最后的更新是2019年的,在你的本地的Tex Live 2025环境下编译不了,那么不妨再重新装一个Texlive 2019版的。
本地可以同时装不同版本的Tex live环境,切换环境时可以去系统环境变量path处把想要使用版本的路径上移,比如想用2019版的编译,那么把2019的路径移到2025版的上面就可以。当然也可以去Texstudio里面做一些配置,那样就不用去移动path的路径了,配置可参考科研干货 | 安装配置TeXLive和CTeX并实现自由切换。
网络搜索
也可以直接在浏览器中搜索,这是最简单最直接的方式。搜索的关键词可以是"xxx latex模板 编译报错 解决 编译环境"等。如果模板本身有一些问题,有可能会找到一些解决方案,或者别人已经修正过上传到Overleaf或Github,直接下载使用就行。
与原作者沟通
如果网上也找不到相关的编译此模板的解决方案,那么大胆真诚的去沟通吧,原作者可能也不知道模板在现在的环境下编译有问题,你提出了这个issue帮助原作者修复了这个bug,就能帮助完善这个latex模板项目,造福更多的后来者。原作者的联系方式一般可以在模板的*.tex、*.cls、README.md开头注释部分获取。对于投稿的话也可以与编辑部联系问问他们用的是什么环境。
中文模板
期刊论文
系统工程学报
编译环境: CTEX 2.9.2.167
编译方式: pdflatex
编译报错:
- \bibname undefined,具体报错为:
            
            
              plaintext
              
              
            
          
          ! LaTeX Error: \bibname undefined.
See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
...
l.43   {\renewcommand\bibname{?196?215}}
?解决方案 :下载gb.cap和gb.cpx两个文件(下载链接),拷贝至CTEX\MiKTeX\tex\latex\cjk\GB文件夹中,替换原有文件即可。
- Unknown graphics extension: .eps. \includegraphics[width=2.2in]{NN1.eps}
解决方案 :加载 epstopdf 宏包(需要在 graphicx 宏包加载后加载)。\usepackage{amsmath,amsfonts,amssymb,graphicx,epstopdf}
解决部分警告:
- 
You have requested document class 'ARTICLE', but the document class provides 'article'.
- 
Unused global option(s): [10.5pt].
解决方案 :将\documentclass[10.5pt,onecolumn,twoside]{ARTICLE}改成\documentclass[10pt,onecolumn,twoside]{article}。
外文模板
持续更新...