使用 LaTeX 模板撰写论文时遇到的问题

使用 LaTeX 模板撰写论文时遇到的问题

我从麻省理工学院网站下载了一个论文写作模板,可以找到这里。在文件中main.tex,我必须修改以下代码:

\typein [\files]{Enter file names to process, (chap1,chap2 ...), or `all' to process all files:}
\def\all{all}
\ifx\files\all \typeout{Including all files.} \else \typeout{Including only \files.} \includeonly{\files} \fi

有人能告诉我该如何修改上述代码吗?例如,我尝试过:

\typein [\files]{'all'}

但我仍然收到诸如这样的错误Emergency Stop

答案1

\typein运行时要求输入。运行未修改的文件时,您会收到以下问题:

Enter file names to process, (chap1,chap2 ...), or `all' to process all files:

\files=

此时您必须输入all以包含所有文件。

如果您始终想包含所有文件,请替换以下内容:

\typein [\files]{Enter file names to process, (chap1,chap2 ...), or `all' to process all files:}

有了这个:

\def\files{all}

这样,你总是可以通过改变定义来改变包含的文件。如果你出于某种原因永远不会这么做,你可以完全删除(或注释掉)这部分:

\typein [\files]{Enter file names to process, (chap1,chap2 ...), or `all' to process all files:}
\def\all{all}
\ifx\files\all \typeout{Including all files.} \else \typeout{Including only \files.} \includeonly{\files} \fi

答案2

在 TeXstudio 中,我注释掉了typeintypeout命令,代码对我有用。PDF 已生成。

答案3

我在使用 TeXstudio 和相同的 MIT 模板时遇到了同样的问题。使用默认编译器(直接从 TeXstudio GUI)进行编译后,我也遇到了Emergency stop ...错误。

出现此问题的原因是\typein与命令行交互,因此如果您直接在您最喜欢的终端仿真器内运行编译,例如(OSX):

/usr/texbin/pdflatex main.tex

一切正常。typein等待您的输入,输入后它会继续并构建所需的文件。我发现此功能请求latex 编译时的键盘交互,这正是我们这里的问题,但不幸的是它被关闭了。不过,在讨论部分,您可以找到一个很好的解决方法。您可以将 TeXstudio 设置中的 LaTeX 命令修改为xterm -e latex %.tex(在 Unix 上,效果很好)或cmd /c latex % < file(在 Windows 上,我没有测试过,但功能请求中的人可以使用它)。

因此,像这样更改命令后,每次构建时都会弹出一个终端窗口,您将能够使用typein。或者您可以直接从终端进行编译。

如果您对编译单独的文件不感兴趣而只想编译所有内容,那么您可以删除整个部分:

\typein [\files]{Enter file names to process, (chap1,chap2 ...), or `all' to process all files:}
\def\all{all}
\ifx\files\all \typeout{Including all files.} \else \typeout{Including only \files.} \includeonly{\files} \fi

相关内容