我最近换了电脑,之前我的项目编译得很好,但在新电脑上却完全编译不出来。输出停留在上一台电脑上我编译的最后一个版本(2015/03/04;今天是 2015/04/07)。
我在旧电脑上安装了 Texlive,当时我正在使用 TeXnic Center 并使用 XeLaTeX 进行编译。我在新电脑上安装了 Texlive,并且分别重新安装了 MikTeX 和 GSview,但也许我还缺少一些软件?由于该项目以前编译得很好,我认为代码还不错,但为了以防万一,我还是先说一下:
\documentclass[a4paper,12pt]{book}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{csquotes}
\usepackage{fontspec}
\usepackage{xunicode}
\usepackage{polyglossia}
\usepackage[Latin,Devanagari]{ucharclasses}
\setmainlanguage{english}
\setotherlanguage{hindi}
\newfontfamily{\devanagarifont}{Kokila}
\setmainfont[Script=Devanagari]{Kokila}
\newfontfamily{\latinfont}{Times New Roman}
\setmainfont[Script=Latin]{Times New Roman}
\usepackage{microtype}
\usepackage{graphicx}
\usepackage{setspace}
\onehalfspacing
\linespread{1.3}
\usepackage{url}
\usepackage{cite}
更新:已解决{当我在 TeXnic Center 中编译时,没有错误消息,唯一的问题是生成的输出是 2015/03/04 版本。然而,这台计算机上没有来自 2015/03/04 的 LaTeX 文件,它们都是最新的。我甚至不明白 LaTeX 从哪里获得这个 2015/03/04 版本。我使用“清理项目”选项清理了所有辅助文件和日志文件,然后多次重新运行 TeXnic Center;但 TeXnic Center“找不到 thefile.aux”,它没有自己生成新的。所以我在 TeXworks 中编译了用 TeXnic Center 编写的代码。它编译得很好,然后以以下消息结束:!扫描 \emph 的使用时文件已结束。 \par l.101 \input{ThesisIIA1} 现在,时间再次出现问题:这个文件中确实缺少 \emph 的 accolade,但我已更正它并删除了所有存在错误的文件。TeXworks 似乎不承认此更正。所以我只能使用 TeXnic Center,它不会生成新的 .aux 文件,而 TeXworks 找不到更正文件的路径……请帮忙!}
附言:两台电脑都运行 Windows 7。旧电脑坏了。新电脑可以即时安装软件包。如果你想知道的话 =)
更新:解决代码错误后,现在可以在 Texworks 上正常编译,但在 TeXnic Center 上则完全不行。以下是我的日志中的最新行(我将 [path] 用作路径):
This is XeTeX, Version 3.1415926-2.5-0.9999.3 (MiKTeX 2.9) (preloaded format=xetex 2015.4.7) 8 APR 2015 11:11
entering extended mode
**Thesis.tex
("[path]\LaTeX\Thesis.tex"
! Undefined control sequence.
l.1 \documentclass
[a4paper,12pt]{book}
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.
! Undefined control sequence.
l.2 \usepackage
{amsfonts}
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.
! Undefined control sequence.
l.3 \usepackage
{amssymb}
The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.
每个包都一样... 昨天所有包都调用得很好。唉。所以现在的问题是:我在哪里检查 TeXnic Center 是否正确调用了所有包?
答案1
请不要编辑问题来询问不相关的问题,这会使网站以后无法跟进,请为新问题打开一个新问题。
原始问题正如 TeX 所指出的那样,缺少意味着在文件结束之前未关闭的}
参数。\emph{....
新的问题是,\documentclass
由于您使用的是 xetex(纯 TeX),而不是 xelatex(LaTeX),因此类似的 LaTeX 命令未定义。