Skip to content

编译指南

mohuangrui edited this page Aug 18, 2020 · 12 revisions

排错步骤

ucasthesis 每次发布前,都已在 Windows,Linux,MacOS 系统上测试通过。下载模板后,若编译出现错误,可遵从如下的指南排错:

  • 仔细阅读并理解 模板使用说明.pdf 文档,根据说明文档的要求安装 LaTeX 编译环境。
  • 确保测试的是下载后未修改过的 ucasthesis,而非自己修改后的!任何关于修改后模板编译出错的需首先自行检查问题所在,若发问,则需遵循 如何有效地问问题!
  • 按照 模板使用说明.pdf先试试效果 一节提供的方法编译模板,若出现错误, 则原因可能为如下几种:
    1. 路径中存在特殊字符:确保 LaTeX 软件的安装路径以及 LaTeX 模板的路径中 不存在特殊字符,勿在路径中使用中文字符和空格。
    2. LaTeX 编译系统安装失败:暂时抛开 ucasthesis,而是测试一个基本的中文 LaTeX 文档(如 latexspine), 若编译无法通过,则卸载并重新安装 LaTeX 编译软件的最新版。 (Windows 上的 MikTeX 在安装后可能须在 CMD 运行 initexmf --mkmaps 才能使用 pdflatex。 并通过系统开始菜单进入 MikTeX 的 Package Manager (Admin) 确认 Repository--Synchronize 状态。 刚安装的 MikTeX 的初始几次编译常会出现出错提示,需重复编译几次才会变得流畅。)
    3. LaTeX 编译系统缺乏必要的宏包:编译生成的 .log 文件会给出缺乏的 宏包如 xxx.sty not found 的名称和错误提示。此类错误一般不会发生在 Texlive 完整版上。MikTeX 编译时会提示是否自动下载,选择自动下载即可解决 大部分宏包缺乏的问题。若无提示,可手动安装。自动下载时请确定网络链接正常。 MikTeX 在自动下载宏包后,此次编译常仍会出现出错提示,需重复编译几次才会变得流畅。
    4. 操作系统缺乏必要的字体:编译生成的 .log 文件会给出缺乏的字体如 xxx font not found 的名称和错误提示。ucasthesis 已针对不同操作系统 进行了相应的字体配置,因而正常情况下不会出现字体缺失的错误。
    5. LaTeX 编译器或宏包过时:编译生成的 .log 文件给出 undefined control sequence 类的错误,是由于当前所使用的 LaTeX 编译系统版本过旧或其宏包库没有更新,Miktex 需更新 LaTeX 宏包库(>=2017年),Texlive 需安装最新版 (>=2017年)。CTEX 套装的使用者应注意 CTEX 套装已停止维护, 需改用其他编译器如 Texlive 或是 MikTeX。更多编译器的信息,可见“模版使用说明.pdf”的“系统要求”一节。
  • 使用脚本编译无错,但使用 LaTeX 文本编辑器时编译出现异常:
    1. 确保选择了正确的文本编译器:xelatex(推荐)或 pdflatex 或 lualatex
    2. 确保选择了正确的文献编译器: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
Clone this wiki locally