我为什么不喜欢CTex套件中的CJK包及不再用CTex套件的原因

2023-10-10 00:32

本文主要是介绍我为什么不喜欢CTex套件中的CJK包及不再用CTex套件的原因,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我从以下几个方面进行解释:

  1. CJK支持中文的方法是一种黑客手段1。已逐渐成为一种过时的、不方便使用的书写中文的方法。现在较新的是XeLaTeX中的ctexart,当然,如果你是高手的话,可以采用更加底层的fontspec等宏包直接使用更底层的中文字体处理命令来写中文。
  2. 目前各个著名高校提供的学位论文 LATEX 模板,采用的都是UTF8编码格式。而CTex套件中的CJK包文档的书写采用的是GBK编码的格式,而且CTex只支持Windows系统的电脑。当你想学习别的高校模板来设计自己的学位论文模板时,将UTF8编码的Tex源文件放在CTex中运行,源文件即会显示为乱码,运行也会出好多的错误。让人感觉很不舒服。编码转换来转换去的很麻烦。当然,你如果不需要写中文的话,使用CTex或者是使用Tex live都无所谓,但是失去了你安装CTex的初衷。CTex中的C就是指的中文,就是要帮助你处理中文的。如果你比较牛,只用 LATEX 写英文论文,而写毕业论文时不用 LATEX ,那么本博客可以不读。
  3. 利用CTeX下面的CJK包时,你要用一些额外的代码,如:

    \usepackage{CJK}  % Support chinese
    \CJKtilde
    \usepackage{CJKpunct} % Support chinese punctation\begin{CJK*}{GBK}{song}...\end{CJK*}

    而使用XeLaTeX时,你除了使用ctexart类外,上述代码都可以避免了,从而代码比较清晰。

  4. 在插入图形时,当你的图形有好多的空白,CJK包会自动去掉这些空白,在结果中正确显示。这就是CJK的黑客手段,在你不知道的情况下已经执行了某些操作。而XeLaTeX则不会这样,让你知道你的图片设计不好,重新再设计。这样你就不怕,其他人的latex系统不能正确显示图片的问题。举个例子,下面图片在cjk环境下能正确显示在正确的位置上,而在xelatex中则显示如下:
    这里写图片描述
    上面的图形显示在了2页间的中间部分,说明图片中有好多空白,需要对图片进行重新修整。

  5. 最后,就是采用CJK包搭配article类写出来的中文论文,排版的格式不美观,有些空格和缩进也不合理,比如上述代码片段只能显示宋体;而xelatex的ctexart则会自动显示不同的字体,即当你举例时,例子部分显示为不同于正文字体的其他中文字体。


  1. 刘海洋. LATEX 入门. 北京: 电子工业出版社, 2013. ↩

这篇关于我为什么不喜欢CTex套件中的CJK包及不再用CTex套件的原因的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/176676

相关文章

警告,恶意域名疯狂外联,原因竟然是……

前言    在某个风和日丽的下午,突然收到客户那边运维发过来的消息说我司的DTA设备在疯狂告警,说存在恶意域名外联,我急忙背上小背包前往客户现场,经过与客户协同排查,最终确定该事件为一起挖矿病毒引起的恶意域名外联事件。(因客户信息保密且为了保证文章逻辑完整性,部分截图为后期追加图) 事件分析 一看域名地址donate.v2.xmrig.com

javascript加密出问题原因

问题:js压缩和混淆都没问题,但是加密之后总是出问题,网上资料说加分号,我也加了。但是还是出问题。 参考办法: 后来我把所有if else语句里面的内容全部用{}大括号括起来并在if else语句最后加分号。然后再次加密,运行成功了。

访问网站时IP被屏蔽是什么原因?

在互联网使用中,有时我们可能会遇到访问某个网站时IP地址被屏蔽的情况。IP地址被网站屏蔽是一个相对常见的现象,而导致这种情况的原因多种多样,包括恶意行为、违规访问等。本文将解释IP地址被网站屏蔽的常见原因,同时,我们将提供用户解决IP屏蔽问题的解决方案 一、IP地址被网站屏蔽的常见原因 1、恶意行为: 恶意行为是导致IP地址被网站屏蔽的一大原因。这些行为包括但不限于大规模网络爬虫、DDoS攻

更改ip后还被封是ip质量的原因吗?

不同的代理IP的质量相同,一般来说可以根据以下几个因素来进行判断: 1.可用率 可用率就是提取的这些代理IP中可以正常使用的比率。假如我们无法使用某个代理IP请求目标网站或者请求超时,那么就代表这个代理不可用,一般来说免费代理的可用率普遍较低。 2.响应速度 响应速度可以用耗费时间来衡量,即计算使用这个代理请求网站一直到得到响应所耗费的时间。时间越短,证明代理的响应速度越快,用户在测试时可

【2024德国留学】签证被拒的十种原因.....

目录 2024德国留学签证被拒的常见原因 一、德语水平不足 二、录取考试未通过 三、签证申请中的其他问题 一、选择适合自己的签证类型 二、准备面签材料 1. 确认预约邮件 2. 签证申请表 3. 自备3张证件照 4. 护照原件和复印件 5. 动机信 6. 个人简历 7. 学历证及其德语翻译件 8. 托管协议(HA) 9. 邀请函 10. 足够的经济来源证明 11.

SD卡无法读取?原因分析与数据恢复策略

一、SD卡无法读取的困境 SD卡作为便携式的存储介质,广泛应用于手机、相机、平板等多种电子设备中。然而,在使用过程中,我们可能会遭遇SD卡无法读取的困扰。当我们将SD卡插入设备时,设备无法识别SD卡,或者虽然识别了SD卡但无法读取其中的数据,这都让我们感到焦虑和不安。面对这种情况,我们首先需要了解SD卡无法读取的原因,然后采取相应的措施进行解决。 SD卡无法读取?原因分析与数据恢复策略

龙芯教育派安装不了loongnix1.0原因

关键在于,教育派PMON向内核传递的参数与龙芯派有差别。教育派内核需要a2用于传memory_offset\cpu_offset\system_offset\irq_offset\interface_offset等参数,而longnix1.0内核需要a2寄存器传设备树加载到内存的地址(0x8f800000)。   内核读取a0~a3的地方在:arch/mips/kernel/head.S 教

Android不能调用java.awt的原因及解决办法和思考

android 里面不能使用awt,底层没有具体的实现awt android里面的窗口创建过程决定了界面只能是android里面的组建。 android的组件都是通过远程的IPC调用完成的,也就是说服务端有什么功能才能用什么功能。 不是所有用java写的程序都能在标准jvm中运行的。 android中的虚拟机是修改过的,跟标准的JVM不同,比如对一张图片的解析,android

error while loading shared libraries: xxx.so.x错误的原因和解决办法----笛风读书笔记系列

读书笔记系列之:error while loading shared libraries: xxx.so.x"错误的原因和解决办法

Cortex-M4 HardFault原因查找方法

Cortex-M4 HardFault原因查找方法 文章目录 Cortex-M4 HardFault原因查找方法写此博客背景思想简说我的做法Step 1:Step 2:Step 3:Step 4:Step 5:Step 5: 结果分析 写此博客背景 最近几日在Github上看到一个叫Armink的大神做了一个追踪Cortex-M系列的HardFault项目,具体连接:请点