用LaTeX写中文(包括支持中文显示和中文数字)

诸神缄默不语-个人CSDN博文目录

LaTeX的几个标准文档类(article / book)都是不支持直接显示中文的。所以如果需要显示中文,需要进行特殊的设置。目前最广泛也最靠谱的解决方案就是用CTeX宏集,除此以外也有一些其他解决方案。

由于很多中文字体没有内置,需要指定,所以我更推荐使用自定义的方式来指定字体文件,可参考LaTeX语法、工具及模板大全(持续更新ing…)中的字体一节。

1. 中文显示支持方案

1. CTeX宏集

CTeX官网:CTEX – 中文科技排版

CTeX宏集手册:https://mirrors.ibiblio.org/CTAN/language/chinese/ctex/ctex.pdf
包含更多本文未提及的进阶使用教程。我个人来说比较推荐有什么需求就来这里面翻翻应该怎么写。

所有源文件须保存为UTF-8编码。
推荐使用 XeLaTeX 或 LuaLaTeX 编译。

1. 直接使用CTeX文档类

在这里插入图片描述

以ctexart文档类为例,直接将article类改成ctexart类就能显示中文了,MRE见:https://github.com/PolarisRisingWar/learn-latex/blob/main/chinese_support/ctexart_example.tex

ctexbeamer的MRE:https://github.com/PolarisRisingWar/learn-latex/blob/main/chinese_support/ctexbeamer_example.tex

常用的特殊选项:

  1. 编码:指定文件的编码格式。ctex包默认使用UTF-8编码。
  2. 自动加粗AutoFakeBold=2,启用自动伪加粗功能,数字表示加粗的程度。这对于某些中文字体没有粗体版本时非常有用。

2. 使用宏包

在这里插入图片描述

一般情况下直接引入ctex包(\usepackage{ctex})即可,MRE见:https://github.com/PolarisRisingWar/learn-latex/blob/main/chinese_support/ctex.tex
在比如别人的英文论文模版下需要显示中文时一般不会需要开启heading,需要的话就:\usepackage[heading = true]{ctex}

3. 命令

  1. \ctexset
    \ctexset命令允许你对文档的中文格式进行详细的设置。这个命令非常强大,可以用来调整章节标题的格式、字体、间距等属性。
    \ctexset 的参数是一组由逗号分隔的选项列表,列表中的选项通常是一个 ⟨key⟩=⟨value⟩
    格式的定义。例如设置摘要与参考文献标题名称就可以使用:

2. cctart

不建议使用,已经非常古老了,overleaf似乎已经无法支持。如果模版里面用了cctart,建议改用ctexart

3. cctbase

略,待补。

4. CJKutf8宏包

支持pdflatex

\usepackage{CJKutf8}
然后用\begin{CJK*}{UTF8}{gbsn}\end{CJK*}包裹需要写中文的片段

2. 中文数字:zhnumber包

\usepackage{zhnumber}命令在LaTeX中用于引入zhnumber宏包。ctex宏集已经默认引入zhnumber包。

这个宏包主要用于将数字转换为中文数字表示,支持多种中文数字格式,包括简体中文、繁体中文,以及一些特殊的计数方式(如财务数字表示等)。这对于撰写中文文档时非常有用,尤其是当你需要在文档中以中文形式表示章节编号、页码、日期等信息时。

主要功能

  • 数字转换:将阿拉伯数字转换为中文数字。
  • 日期转换:将阿拉伯数字表示的日期转换为中文日期表示。
  • 计数器格式化:可以将LaTeX中的计数器(如章节编号、页码等)以中文形式显示。

使用示例

  1. 基本数字转换

    使用\zhnumber命令可以将数字转换为中文数字。例如:

    \usepackage{zhnumber}
    ...
    \zhnumber{123}
    

    这将输出“一二三”。

  2. 日期表示

    zhnumber宏包还提供了转换日期格式的命令,例如:

    \usepackage{zhnumber}
    ...
    \zhtoday
    

    假设今天是2024年2月17日,\zhtoday会输出“二〇二四年二月十七日”。

  3. 计数器格式化
    请参考我写的另一篇博文:LaTeX中的计数器counter

注意事项

  • 使用zhnumber宏包之前,需要确保你的LaTeX系统已经安装了该宏包。如果未安装,可以通过TeX发行版(如TeX Live、MiKTeX等)的包管理器进行安装。
  • zhnumber宏包在处理中文数字时非常灵活,但具体使用时可能需要根据文档的具体需求调整命令或参数。它提供了多种选项来满足不同的格式化需求。

通过使用zhnumber宏包,可以在LaTeX文档中更方便地处理中文数字表示,使文档看起来更贴合中文习惯。

  • 27
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

诸神缄默不语

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值