-
Notifications
You must be signed in to change notification settings - Fork 932
编译指南
mohuangrui edited this page Aug 18, 2020
·
12 revisions
ucasthesis 每次发布前,都已在 Windows,Linux,MacOS 系统上测试通过。下载模板后,若编译出现错误,可遵从如下的指南排错:
- 仔细阅读并理解
模板使用说明.pdf
文档,根据说明文档的要求安装 LaTeX 编译环境。 - 确保测试的是下载后未修改过的 ucasthesis,而非自己修改后的!任何关于修改后模板编译出错的需首先自行检查问题所在,若发问,则需遵循 如何有效地问问题!
- 按照
模板使用说明.pdf
的先试试效果
一节提供的方法编译模板,若出现错误, 则原因可能为如下几种:- 路径中存在特殊字符:确保 LaTeX 软件的安装路径以及 LaTeX 模板的路径中 不存在特殊字符,勿在路径中使用中文字符和空格。
-
LaTeX 编译系统安装失败:暂时抛开 ucasthesis,而是测试一个基本的中文
LaTeX 文档(如 latexspine),
若编译无法通过,则卸载并重新安装 LaTeX 编译软件的最新版。
(Windows 上的 MikTeX 在安装后可能须在 CMD 运行
initexmf --mkmaps
才能使用 pdflatex。 并通过系统开始菜单进入 MikTeX 的 Package Manager (Admin) 确认 Repository--Synchronize 状态。 刚安装的 MikTeX 的初始几次编译常会出现出错提示,需重复编译几次才会变得流畅。) -
LaTeX 编译系统缺乏必要的宏包:编译生成的
.log
文件会给出缺乏的 宏包如xxx.sty not found
的名称和错误提示。此类错误一般不会发生在 Texlive 完整版上。MikTeX 编译时会提示是否自动下载,选择自动下载即可解决 大部分宏包缺乏的问题。若无提示,可手动安装。自动下载时请确定网络链接正常。 MikTeX 在自动下载宏包后,此次编译常仍会出现出错提示,需重复编译几次才会变得流畅。 -
操作系统缺乏必要的字体:编译生成的
.log
文件会给出缺乏的字体如xxx font not found
的名称和错误提示。ucasthesis 已针对不同操作系统 进行了相应的字体配置,因而正常情况下不会出现字体缺失的错误。 -
LaTeX 编译器或宏包过时:编译生成的
.log
文件给出undefined control sequence
类的错误,是由于当前所使用的 LaTeX 编译系统版本过旧或其宏包库没有更新,Miktex 需更新 LaTeX 宏包库(>=2017年),Texlive 需安装最新版 (>=2017年)。CTEX 套装的使用者应注意 CTEX 套装已停止维护, 需改用其他编译器如 Texlive 或是 MikTeX。更多编译器的信息,可见“模版使用说明.pdf”的“系统要求”一节。
- 使用脚本编译无错,但使用 LaTeX 文本编辑器时编译出现异常:
- 确保选择了正确的文本编译器:xelatex(推荐)或 pdflatex 或 lualatex
- 确保选择了正确的文献编译器:bibtex
- 若按照上述步骤仍无法解决问题,请将编译生成的完整的
.log
文件反馈,否则问题无法有效解答!
如需移除当前的多级文件结构,从而将所有文件放置在一个文件夹内(不推荐),需移除如下文件中的路径前缀:
Thesis.tex:
\documentclass[twoside]{Style/ucasthesis}%
\usepackage[authoryear,list]{Style/artratex}% document settings
\usepackage{Style/artracom}% user defined commands
\input{Tex/Frontinfo}%
\input{Tex/Frontmatter}% title page, abstract
\input{Tex/Prematter}% symbol list, preface content
\input{Tex/Mainmatter}% main content
\input{Tex/Appendix}% appendix content
\biblio\input{Tex/Backmatter}% other information
\bibliography{Biblio/ref}% bibliography
ucasthesis.cls:
\InputIfFileExists{Style/ucasthesis.cfg}{}{}
Mainmatter.tex:
\input{Tex/Chap_Intro}
\input{Tex/Chap_Guide}
artratex.sty:
\def\artxbibref{Biblio/ref.bib}% bibliography reference file
\def\artxbibtexnum{Biblio/gbt7714-numerical}% bibtex numbers bst
\def\artxbibtexauy{Biblio/gbt7714-author-year}% bibtex authoryear bst
\def\artxbibernum{Biblio/gb7714-2015}% biber numbers bst
\def\artxbiberauy{Biblio/gb7714-2015ay}% biber authoryear bst