我从麻省理工学院网站下载了一个论文写作模板,可以找到这里。在文件中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 中,我注释掉了typein
和typeout
命令,代码对我有用。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