LaTeX 入门学习4

简介: 实现中英文混排

实现中英文混排

关于 LaTeX 的中文支持,首先要说的是:在现在,一切教你使用 CJK 宏包的模板、人、网页、书,都是糟糕的、有害的、恼人的、邪恶的和应该摒弃的。

成功编译输出第一个文档之后,中国 TeX 用户面临的第二个普遍问题大概就是「实现中英文混排」了。众所周知,TeX 系统是高教授开发的。在 TeX 开发当初并没有考虑到亚洲文字的问题。因此早期的 TeX 系统并不能直接支持中文,必须要用其他工具先处理一下(或者是一些宏包之类的)。但是现在,XeTeX 原生支持 Unicode,并且可以方便地调用系统字体。可以说解决了困扰中国 TeX 使用者多年的大问题。至此,我们只需要使用几个简单的宏包,就能完成中文支持了。

所谓宏包,就是一系列控制序列的合集。这些控制序列太常用,以至于人们会觉得每次将他们写在导言区太过繁琐,于是将他们打包放在同一个文件中,成为所谓的宏包(台湾方面称之为「巨集套件」)。\usepackage{} 可以用来调用宏包。

除去中文支持,中文的版式处理和标点禁则也是不小的挑战。好在由吴凌云和江疆牵头,现在主要由刘海洋、李清和我维护的 CTeX 宏集一次性解决了这些问题。CTeX 宏集的优势在于,它能适配于多种编译方式;在内部处理好了中文和中文版式的支持,隐藏了这些细节;并且,提供了不少中文用户需要的功能接口。我们来看如何使用 CTeX 宏集来处理中英文混排的文档。

请注意,CTeX 宏集和 CTeX 套装是两个不同的东西。CTeX 宏集本质是 LaTeX 宏的集合,包含若干文档类(.cls 文件)和宏包(.sty 文件)。CTeX 套装是一个过时的 TeX 系统。

新版 CTeX 宏集的默认能够自动检测用户的操作系统,并为之配置合适的字库。对于 Windows 用户、Mac OS X 用户和 Linux 用户,都无需做任何配置,就能使用 CTeX 宏集来排版中文。[2015-05-20 更新]

在 TeXworks 编辑框中输入以下内容,以 UTF-8 编码保存,使用 XeLaTeX 编译

EC-mix.tex

1
2
3
4
\documentclass[UTF8]{ctexart}
\begin{document}
你好,world!
\end{document}

相较于之前的例子,这份代码只有细微的差异:

  1. 文档类从 article 变为 ctexart
  2. 增加了文档类选项 UTF8

你也可以直接使用 xeCJK 宏包来支持中英文混排。不过大多数情况是不推荐这样做的。因此,如果你能抑制住你小小的好奇心,可以暂时略过这一段,回头再看不迟。:)

在 TeXworks 编辑框中输入以下内容,保存,使用 XeLaTeX 编译:

xeCJK-demo.tex

1
2
3
4
5
6
\documentclass{article}
\usepackage{xeCJK}%调用 xeCJK 宏包
\setCJKmainfont{SimSun}%设置 CJK 主字体为 SimSun (宋体)
\begin{document}
你好,world!
\end{document}
相关文章
|
小程序
微信小程序wx.navigateTo从子页面跳回父页面,页面如何刷新
要理解微信小程序的页面刷新问题,首先需要理解页面的生命周期,所以以下两个页面必须多看几遍页面生命周期页面路由 关于页面生命周期,重点在于理解onLoad,onShow. 从以上的第一个链接文档可以看到,页面create后,依次执行onLoad,onShow,onReady,但onLoad和onR.
4225 0
|
6月前
|
传感器 人工智能 安全
物联网
万物互联,智启未来。物联网通过连接人、物、环境,重塑生活、城市与产业。从智能家居到智慧城市,从工业互联网到精准农业,数据驱动智能化变革。融合AI、5G等技术,构建高效、安全、可持续的智能世界,开启人类社会新篇章。(238字)
|
8月前
|
存储 人工智能 API
传统AI单点能力突出,为何面对复杂任务却远不及智能体?揭晓智能体的本质与核心优势
AI产品专家三桥君认为智能体作为新一代AI形态,正在重塑企业数字化运营模式。相比传统AI的单任务处理局限,智能体具备自主规划、工具调用、记忆存储和行动执行等核心能力,可完成从客户服务到订单处理的全流程业务自动化。作为企业IT技术演进的革命性突破,智能体通过智能编排微服务实现复杂流程调度,成为数字化转型的关键驱动力。未来,随着技术成熟,智能体将在更多领域释放降本增效价值,推动AI技术从单点突破走向系统化落地。
1419 0
|
机器学习/深度学习 存储 算法
深度学习500问——Chapter03:深度学习基础(2)
深度学习500问——Chapter03:深度学习基础(2)
518 0
|
9月前
|
人工智能 JSON 自然语言处理
让数据查询又快又准,瓴羊Dataphin MCP保姆级教程来啦!
在AI Agent快速发展的背景下,优质数据资产成为提升AI生产力的核心。瓴羊Dataphin通过MCP(Model Context Protocol)服务助力企业高效挖掘数据价值。MCP采用SSE协议,提供listDataServiceAPI与invokeDataServiceAPI两种工具,简化数据集成与调用流程。例如,结合大模型可快速构建“智能查询助手”,实现自然语言查询数据功能。未来,Dataphin将持续迭代工具集,支持更多数据研发与治理场景。
395 0
|
11月前
|
JavaScript 程序员 UED
如何快速搭建自己的个人网站?Hexo、VuePress 和 WordPress 大比拼!
晚枫和你聊聊程序员必备的个人网站!它是技术名片,能秀实力、记笔记、当博主、搞品牌。搭建工具有三种:Hexo简单快速,适合技术博客;VuePress功能丰富,可玩转动态交互;WordPress强大全面,适合复杂项目但维护成本高。根据需求选择工具,像选女朋友一样慎重哦!快来分享你的想法,一起探讨吧!记得点赞收藏不迷路~
477 17
|
Ubuntu PHP
ubuntu php libzip安装 ./configure报错 checking for libzip... not found configure
ubuntu php libzip安装 ./configure报错 checking for libzip... not found configure
408 1
|
JSON Java API
jjwt使用说明-笔记
这篇文章介绍了如何使用jjwt库在Java中生成和验证JSON Web Tokens (JWT)。文章提供了在Maven项目中添加jjwt依赖的步骤,生成token的方法,以及如何验证token的示例代码。此外,还包含了一些关于token标准载荷和自定义载荷的说明,以及如何处理token验证过程中可能遇到的异常。
jjwt使用说明-笔记
|
Oracle Java 关系型数据库
Linux 如何从网上下载文件
Linux 如何从网上下载文件
777 0

热门文章

最新文章