需要 LaTeX 编译方面的帮助

需要 LaTeX 编译方面的帮助

我在项目编译方面遇到了大问题。我没有“集中精力获取正确的内容”,而是花了好几天时间编译项目。我的项目截止日期快到了,如果能得到任何帮助,我将不胜感激。

我使用 Overleaf,我喜欢它的界面,而且易于使用。我有一个大项目。我可以分部分编译它,但我无法编译整个项目,因为 Overleaf 甚至对付费客户也应用了编译时间限制。我尝试了所有建议的技巧,但没有帮助: 修复和防止编译超时

我尝试在我的计算机(Windows)上本地编译该项目。我安装了 TeX Live。同样,我可以分部分编译该项目,但无法编译整个项目。我收到以下错误:

Unable to read an entire line---bufsize=200000.
Please increase buf_size in texmf.cnf.

我尝试buf_size通过在 Windows cmd 上运行来增加:

buf_size=100000 pdflatex main.tex

根据提议在此 StackExchange 线程中

但是我收到一个错误:

'buf_size' is not recognized as an internal or external command, operable program or batch file.

然后,我texmf.cnf通过添加以下内容更改了文件:

main_memory = 7000000

根据提议在此 StackExchange 线程中。但是当我在 cmd 中运行时:

sudo fmtutil-sys --all

我收到以下错误:

'sudo' is not recognized as an internal or external command, operable program or batch file.

我不知道如何编译该项目。我花了几个月的时间。我将不胜感激任何帮助。

谨致问候,亚历克斯。

答案1

您可以在命令行上设置缓冲区大小

 pdflatex --cnf-line=buf_size=400000 file

会将默认大小从 200000 增加一倍至 400000。

您可以通过检查日志末尾的一行来检查缓冲区的使用量

 35i,5n,50p,1016b,109s stack positions out of 10000i,1000n,20000p,400000b,200000s

这是b本次测试使用的值 1016(已经是非常一行中有 1000 个 x,这是异常大的示例)

注意,此缓冲区用于保存单线输入不是为了保存整个文件,它需要大于源文件中实际最长的行,但通常不会大很多,您必须做一些不寻常的事情才能在输入缓冲区中使用 200000 个字符。

您可能有一个无限循环,无论您将其设置得多大,它都会填充此缓冲区。如果您注释掉文档的某些部分以使其完成,您可以检查每个部分并检查值b以查看哪个构造使用了超过 200000 个输入缓冲区字符。

相关内容