找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 175|回复: 6

中文LaTeX写作,但不是CTeX

[复制链接]

2

主题

12

回帖

24

积分

新手上路

积分
24
发表于 2023-2-2 16:03:21 | 显示全部楼层 |阅读模式
来历:知乎



1.31更新:说明一下,本文先容的方式主如果为领会决CTeX与其他宏包的兼容性题目。假如你没有碰到兼容性题目,我的倡议是间接利用CTeX。
说到中文LaTeX写作,我想很多人会第一秒想到CTeX:究竟CTeX是很是典范、易用的宏包(或是套装?),我之前也一向在用。但现在的题目是:作为一个第三方宏包,CTeX的职位本质上和其他宏包是一样的,而这就会致使兼容性题目:假如我们想在基于CTeX的中文写作中利用一些小众宏包,而这些宏包恰好又由于各种缘由与CTeX相抵触的话,全部文档的编译就会报错甚至解体。Overleaf里面也先容了关于中文写作的其他方式,我不喜好用的缘由同上。
本文先容一种不基于CTeX的中文写作方式。我的根基想法就是寻觅一种设备使得:

  • 可以实现中文写作,
  • 可扩大性强,兼容各类第三方包,
  • 尽能够简单。
先看代码:
1. 代码

平台:Overleaf(保举),桌面版Mac/Win/Linux(应当都行,没试过)
编译器:XeLaTeX(保举。XeTeX能够可以,我不清楚这俩具体什么区分。LaTeX和PdfLaTeX应当是不可的。LuaLaTeX和一些新的编译器能够也行。)
\documentclass{article}
% babel包首要控制说话
\usepackage{babel}
\babelprovide[main, import, script=CJK, language=Chinese Simplified]{chinese}
% fontspec包首要控制字体
\usepackage{fontspec}
\setmainfont{AR PL SungtiL GB} % AR PL SungtiL GB是某个字体的名字,可替换成任何可以用的字体
\begin{document}
你好
\end{document}结果以下图所示:

中文LaTeX写作,但不是CTeX-1.jpg

实在就是引入并设置了两个宏包,其他都用的最根本的设备

2. 道理

所谓道理实在就是XeLaTeX,babel和fontspec这三个工具。XeLaTeX可以读取你代码中UTF-8编码的内容(即汉字),以此确保你在代码(.tex文件)里可以写中文而不报错。babel保证编译器可以把你的代码转化成中文的、你想要的阿谁意义,但还不敷以把这个意义“写”(或说衬着?)出来,由于写出来还需要字体。fontspec望文生义就是字体指定。这三个工具合在一路便可以让你.tex文件里面的汉字被编译器“写”到PDF上了。由于babel和fontspec只是改说话和字体,任何格式上的宏包(应当)都是可以同时用上来的,是以可以从底子上上处理兼容性题目。
3. 进一步点窜

最使一些CTeX用户(比如我)头疼的工作莫过于调剂字体。抛开美妙性不谈,假如你经常需要在分歧操纵系统的终端上利用LaTeX来写工具,分歧适的字体设备很轻易让你两次编译出来的工具纷歧样,甚至间接编译不了。为处理此题目,我的想法就是把在网高低载的免费字体和TeX文件放在一路。具体操纵以下(以Overleaf为例):
首先在网高低载字体,本文用的是谷歌的免费字体Noto宋体简中(Serif Simplified Chinese)。下载解压后将文件夹里的内容上传至Overleaf项目目录下的子文件夹中(命名参考下图,只需要和代码中的Path对应即可。假如你不嫌乱的话也可以间接放在根目录,这样可以去掉Path那行代码)。

中文LaTeX写作,但不是CTeX-2.jpg

红色方框中左侧按键用于新建文件夹,右侧用于上传文件。

将第一个代码块中的
\setmainfont{AR PL SungtiL GB}这一段代码替换成下面这一段
\setmainfont{NotoSerifSC}[
    Path=./NotoSerifSC/, % 留意和文件夹中的名字一样,前后两个斜杠都要加
    Extension=.otf,
    UprightFont=*-Regular,
    BoldFont=*-Bold,
    ItalicFont=*-ExtraLight, % 斜体。由于Noto宋体简中字体里没有斜体,我这里用的是极细。你也可以把这个文件换成别的找的楷体。
    BoldItalicFont=*-Light % 同上
]即可完成更换字体更换。
假如你想做其他变动(如点窜页边距或把Table of Contents改成目录等),可以在各大论坛上搜索处理计划。这些计划常常五花八门,但只要反面babel或fontspec抵触(也根基不会抵触)便可以用。
Enjoy your writing!




原文地址:https://zhuanlan.zhihu.com/p/602050888
免责声明:
1、文章部分图片源于收集,均为表示图;
2、一切文章、图片、音频视频文件等材料版权归版权一切人一切;
3、因非原创文章及图片等内容没法和版权者联系,如原作者或编辑以为作品不宜上网供阅读,或不应无偿利用,请实时告诉我们,以敏捷采纳适当办法,避免给双方形成不需要的经济损失;
4、本页面内容由爬虫法式自动收集于互联网,如无意中加害了媒体或小我的常识产权,请电邮【E-Mail:cb@yoyodoc.com】告之,我们将于24小时内删除。

7

主题

15

回帖

47

积分

新手上路

积分
47
发表于 2023-2-2 16:03:41 | 显示全部楼层
你真的会用LaTeX么?第一个例子就错得离谱。

1

主题

14

回帖

27

积分

新手上路

积分
27
发表于 2023-2-2 16:04:10 | 显示全部楼层
没你会用

2

主题

13

回帖

21

积分

新手上路

积分
21
发表于 2023-2-2 16:04:51 | 显示全部楼层
这跟ctex包差远了,你只处置了字体题目,其他的比如中文换行,字间距,数字等等全都乱成一锅粥。

1

主题

21

回帖

34

积分

新手上路

积分
34
发表于 2023-2-2 16:05:03 | 显示全部楼层
这不就相当于实现了一个丐版CTeX吗。。。
等你把格式全调好了,就相当于重新造了一遍CTeX了。。。

6

主题

12

回帖

39

积分

新手上路

积分
39
发表于 2023-2-2 16:05:37 | 显示全部楼层
间接ctex宏包+xelatex编译就全处理中文题目了呀!那里要这么复杂

4

主题

16

回帖

38

积分

新手上路

积分
38
发表于 2023-2-2 16:05:54 | 显示全部楼层
Noto印刷结果底子不可,不如朴直宋楷仿黑。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|小悠文档创作分享社区 ( 粤ICP备11072215号 )|网站地图

GMT+8, 2025-1-19 16:13 , Processed in 0.173471 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表