CTeX的几个大坑

在写小论文的时候遇到的CTeX的几个错误,并身踩其中一大坑,没错就是:系统变量被覆盖了,深知此坑威力,特转载别人的一篇文章,望看官及时避免。

以下几个问题并不一定完全出现或者同时出现,如果遇到了可以作为参考解决方案。

1 CTeX安装时会覆盖系统环境变量 
这个问题非常严重,但是问题好像仅发生在CTeX官方镜像上。所以,为了保险起见,各位在安装CTex前务必备份系统环境变量path,如果已经安装完的,只要不关机就还有救;如果关了机的…………hehe……欢迎来和博主一起分享一下心情。不要问我怎么知道的……咆哮.gif。

因为上述问题,导致环境变量不完整,会导致编译时再次出错。 
意思就是CTeX这个傻叉,安装的时候覆盖环境变量把自己之前写入的环境变量也一起覆盖了。所以导致很多人在用 winEdt时会一直报错:

CTex 系统找不到指定文件

恭喜你,你已经中招了。虽然无法恢复原有的环境变量,但是解决这个问题还是可以的。这个问题是因为MiKTeX编译器环境变量被他的猪队友给覆盖了。如果有些童鞋幸免,可能是使用了比较新的组件。 
所以,在path中添加“D:\CTEX\MiKTeX\miktex\bin”即可,我的路径是D盘,具体情况根据自己的安装路径选择。

2 中文不支持 
使用CTeX 目的本来就是为了更好的支持中文,如果出现中文支持不好,请不要着急。首先,文件格式需要保存为UTF-8编码,具体操作保存tex文件后,在winEdt最下方的状态栏中可以看到,如下图。 

è¿éåå¾çæè¿°

如果不是UTF-8,单击后将Document Mode 改为UTF-8。 
编译器选择对中文支持比较好的XeLaTex,如下图所示: 

è¿éåå¾çæè¿°
如果上述方案还不满足中文要求,可以尝试网上的其他解决方案,CJK等。

本人也是新手,不对之处欢迎批评指正。我自己在CTeX上遇到的问题会在本博客持续更新。

 

原文章详见:https://blog.youkuaiyun.com/zjutczj/article/details/53463478

<think>好的,用户遇到了CTeX中使用CJK包时出现的无效字符代码错误。我需要先理解这个问题的常见原因。根据引用[1],这个问题通常与文件编码不匹配有关,尤其是在使用UTF-8编码的中文文档时。用户可能用WinEdt编辑,但编译器没有正确识别编码。 首先,我要检查文件的编码设置。用户需要确保文件保存为UTF-8格式。在WinEdt中,可以通过另存为并选择UTF-8编码来确认。接着,文档的导言区是否正确声明了编码。通常需要添加\usepackage[UTF8]{ctex},或者使用XeLaTeX编译,因为XeLaTeX对UTF-8支持更好。 然后,考虑编译器的选择。用户可能在使用pdfLaTeX,而应该切换到XeLaTeX。在CTeX套件中,修改编译选项为XeLaTeX可以解决很多编码问题。此外,检查是否有陈旧的辅助文件,比如.aux或.log,这些有时会导致缓存问题,清除后重新编译可能有效。 还要提醒用户检查编辑器本身的设置,确保WinEdt的默认编码设置为UTF-8,避免编辑器自动转换编码。另外,如果用户混合使用了不同编码的文件,比如引用其他非UTF-8的文件,也可能引发错误,需要统一编码。 最后,生成相关问题时要覆盖常见的可能问题,比如如何切换编译器、检查文件编码的方法,以及处理其他相关错误的建议。这样用户能全面了解解决方案的各个方面,并自行排查其他潜在问题。</think>要解决CTeX中CJK包出现的"Invalid character code"错误,可按照以下步骤排查: ### 一、确认文件编码格式 1. 将文档保存为UTF-8编码格式: - 在WinEdt中选择"File > Save As" - 在保存对话框底部选择"UTF-8"编码 - 文件名建议使用英文命名[^1] 2. 在导言区添加编码声明: ```latex %!Mode:: "TeX:UTF-8" \documentclass{article} \usepackage[UTF8]{ctex} % 关键包声明 ``` ### 二、配置编译器 1. **必须使用XeLaTeX编译**: - WinEdt工具栏选择"XeLaTeX"编译按钮 - 或修改编译命令为:`xelatex -synctex=1 -interaction=nonstopmode %.tex` 2. 检查编辑器设置: - Options > Settings > Execution Modes - 确认"TeX System"路径正确(默认CTeX安装路径为`C:\CTEX`) ### 三、处理特殊字符 当文档包含以下符号时: $$ \sum_{i=1}^n \alpha_i \geq \int_a^b f(x)dx $$ 建议在数学环境中用LaTeX命令代替直接输入: ```latex $\sum_{i=1}^n \alpha_i \geq \int_a^b f(x)dx$ ``` ### 四、清除辅助文件 删除以下临时文件后重新编译: - .aux - .log - .out - .toc - .lof - .lot
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值