NiuTrans/MTBook

在xelatex下无法编译通过

CN-Cyber-Jacky opened this issue · 16 comments

Windows下,使用texlive 2020中的xelatex编译无法通过
`! Undefined control sequence.
__xeCJK_patch_microtype_get_slot:

l.4826 }

? `

我自己用的是miktex和texstudio,没有用texlive2020,但我们会尝试用texlive2020来编译源文件,尽快给你回复的。不过根据我的经验来看,有可能是编译所需要的宏包不是最新版本的,你可以尝试更新宏包并且删除之前产生的中间文件之后,重新编译源文件

重新更新了下宏包,并且删除中间文件后,依旧报错。

我们已经安排人员测试你这个问题了,我们会尽快给你解决办法的

直接使用miktex出现同样的错误
`! Undefined control sequence.
__xeCJK_patch_microtype_get_slot:

l.4826 }

?`

或许你可以试试看安装cjk的包?下面那个图片显示了我安装的包,你可以看看是不是缺少这个。
image

image
有些宏包确实不一样,我是用的texlive2020
但是报错的地方是xeCJK.tsy
image

.sty就是包的后缀,miktex默认包是手动下载的,我感觉你可能的确是缺少这个包

使用TeXstudio可以编译,但最后报错结束!
image
此外xeCJK.tsy文件同样报错(xeCJK.tsy包已安装)

你好,我刚才在一台未安装过tex的电脑上安装了textlive2020,用他自带的TexWorks editor打开mt-book-xelatex.tex进行编译,四个步骤都顺利编译完成(值得一提的是,之前我们用miktex编译的时候,会显示要安装某些宏包,而textlive编译居然没有任何提示,直接编译完成)。不知道以上信息对你会不会有帮助,我会把我的cjk宏包信息贴在下面,如果有需要的话,也可以把你的log发到主页提供的邮箱854581319@qq.com,我们可以帮你检查一下。
pa

使用TeXstudio可以编译,但最后报错结束!
image
此外xeCJK.tsy文件同样报错(xeCJK.tsy包已安装)

图片
这是我texstudio的设置,你的设置和我的一样吗?是不是这里出了问题

使用TeXstudio可以编译,但最后报错结束!
image
此外xeCJK.tsy文件同样报错(xeCJK.tsy包已安装)

图片
这是我texstudio的设置,你的设置和我的一样吗?是不是这里出了问题

谢谢,问题已经解决。将xeCJK.tsy文件中报错的代码删除即可正常编译(推测于这个文件的版本有关)。
此外Texstudio提示文件example-of-n-gram-1.tex 出现错误 Undefined control sequence. {{\red{\sout,将\sout删除可以解决这一问题,但导致编译出来的pdf中缺少469-477的index内容。

使用TeXstudio可以编译,但最后报错结束!
image
此外xeCJK.tsy文件同样报错(xeCJK.tsy包已安装)

图片
这是我texstudio的设置,你的设置和我的一样吗?是不是这里出了问题

谢谢,问题已经解决。将xeCJK.tsy文件中报错的代码删除即可正常编译(推测于这个文件的版本有关)。
此外Texstudio提示文件example-of-n-gram-1.tex 出现错误 Undefined control sequence. {{\red{\sout,将\sout删除可以解决这一问题,但导致编译出来的pdf中缺少469-477的index内容。

好的!这应该也会为其他人提供解决办法,example-of-n-gram-1.tex这个文件的错误我们会尽快解决

此外Texstudio提示文件example-of-n-gram-1.tex 出现错误 Undefined control sequence. {{\red{\sout,将\sout删除可以解决这一问题,但导致编译出来的pdf中缺少469-477的index内容。

你可以尝试在\Book\structure文件的最后面添加,\usepackage{ulem}或\usepackage{CJKulem} 并安装对应的包,这应该会缓解\sout导致的Undefined control sequence问题。但是当使用mixtex进行编译的时候此问题似乎并不存在,可能是你依然缺少某个必要的包,我会再找一找

找到原因了,最新版本的xeCJK宏包存在问题导致的编译无法通过,该版本可能是存在BUG或者有些用法被改变了

此外Texstudio提示文件example-of-n-gram-1.tex 出现错误 Undefined control sequence. {{\red{\sout,将\sout删除可以解决这一问题,但导致编译出来的pdf中缺少469-477的index内容。

你可以尝试在\Book\structure文件的最后面添加,\usepackage{ulem}或\usepackage{CJKulem} 并安装对应的包,这应该会缓解\sout导致的Undefined control sequence问题。但是当使用mixtex进行编译的时候此问题似乎并不存在,可能是你依然缺少某个必要的包,我会再找一找

这确实有用,感谢你的建议!

这确实有用,感谢你的建议!

好的,感谢反馈,如果没有其他的错误,我会更新structure文件的,保证其他人不会遇到类似的问题