LaTeX 板


LINE

※ 引述《laicc0225 (laicc)》之铭言: : 各位tex玩家好....我想问一下怎样可以排版日文呢?? : 我想以tex的功能应该可以吧...最好是同时能排版日文及中文和英文这三种... : 需不需要额外抓其他套件呢?? : 我目前在chitex测试是无法显示出来...但是不会发生error... : 另外winedt(不确定正确名称)我这一两天在适应中...不确定有没有... : 所以请版上的人帮忙回答一下我的问题...谢谢.... 哎﹐我挖一下坟啊﹐这个问题原 po 和底下的推文都没有解决﹐我就稍微详细地说一下 好了。 TeX 本身只有 8 位(最早是 7 位﹐後来扩展到 8 位)﹐所以原生的 TeX (通常称为 Knuth TeX)是不能直接支持除掉英文之外的字符的。所以﹐如果想要在 TeX 文档中输 出非英文字符﹐就必须做两件事情﹕ 1. 选择合适的编码(比如中国大陆地区的 GBK, 中国台湾地区的 Big5)让 TeX 能读懂 2. 选择包含有所需字符的字体 对於非东亚文字﹐这其实也算不上复杂。毕竟拼音文字也就那麽一些字母﹐多少不会超过 2**8=256 个字符。所以对於非东亚文字来说﹐这个工作基本上由 inputenc 等几个套件 就能解决了。 但是东亚文字太多﹐比如汉语常用字就有三千多﹐远远超出了 2**8 的范畴﹐更别说还有 不少不常用的字了。 因此我们陷入了困境﹐而走出困境唯有两个办法﹕ 1. 让 TeX 能读懂更多的字符 2. 把字体文件分为若干区块﹐每个区块只有 256 个字符﹐再让 TeX 懂的如何寻找区块 和区块中间的字符 Knuth 老爹当时的建议是采用第二个方法(毕竟它不希望自己的 TeX 做改动)﹐当时中 文 TeX 社区使用的也就是这个方法。比如 CCT (中科院张林波)﹐又比如天元(华东 师范大学陈志杰)﹐以及各位可能很熟悉的 CJK (德国人)。 这种解决方案我们用了很多年﹐各位想必对他们也有无数的怨念。弊端是很明显的﹕ * 可能需要在编译之前进行预处理 * 一旦编译出错﹐出错信息变得完全不可读 * 字体分区安装极为复杂 以上是中文的情况﹐实际上日语韩语泰国语的情况也大致相仿。 CCT 和天元我不熟悉﹐但是 CJK 还有一个并不显而易见的弊端﹕ CJK 并没有将编码和语言区分开来(比如使用 GBK 就是中文简体﹐使用 Big5 就是中文 正体)﹐这样一来﹐一旦指定编码﹐语言也就指定了。於是﹐如果有人像原 Po 那样希望 同时排版中文和日文﹐CJK 就只能干瞪眼了。 Knuth 老爹也不是万能的﹐这些弊端他并没有完全预见到──毕竟他不适用这些文字。索 性﹐终於有 TeX 引擎尝试走第一条路﹐他们是 XeTeX 和 LuaTeX. 这两个引擎都直接支 持 Unicode 编码﹐并能够直接使用系统中的字体文件。於是之前说的那些弊端都消失。 ----------------------- 我们回到中日文混排上来 ----------------------- 前面说了﹐要让 TeX 排除东亚文字﹐一是要让 TeX 能认识相应编码﹐二是要选择合适的 字体。编码问题引擎已经帮我们解决﹐一个 Unicode 编码能覆盖所有东亚文字。剩下的 就是解决字体问题。 前文说过﹐XeTeX 和 LuaTeX 都能直接调用系统字体。於是就有人开发了相关套件 * xeCJK for XeTeX * LuaTeX-ja for LuaTeX 我们能使用这些套件方便地切换字体。於是剩下的工作就是为他们挑选合适的字体了。 简体中文 Windows 系统下安装的中易宋体(SimSun.ttf)内就包含有日文字符﹐因此我 们选用这个字体即可(正体中文系统我没有使用过﹐所以很抱歉我不能给出一个直接的 例子)。 这是 XeTeX + LaTeX + xeCJK 的一个例子﹕ \documentclass{minimal} \usepackage{xeCJK} \setCJKmainfont{SimSun} \begin{document} 这里是中文。 □□□日本□ \end{document} 【抱歉﹐日语假名貌似显示不出来】 然而﹐xeCJK 是中国大陆的孙文昌教授开发的(现在的维护者是刘海洋和李清)﹐他们对 日语并不太了解。所以有关日语的禁则、标点压缩等工作﹐xeCJK 做得并不太好。所以﹐ 如果要排版日语﹐我更推荐日本 TeX 社区的 LuaTeX-ja. 不过因为这个套件是基於 LuaTeX 的﹐而 LuaTeX 在 Windows 系统下运行非常缓慢(字体太多的缘故)﹐所以请慎 重使用。 \documentclass{minimal} \usepackage{luatexja-fontspec} \setmainjfont{SimSun} \begin{document} 这里是中文。 □□□日本□ \end{document} 以上两份代码保存为 UTF-8 编码之後﹐分别使用 XeLaTeX 和 LuaLaTeX 编译即可得到 结果。 ---------------------- 再来一个题外话 ---------------------- 中国和日本﹐很多古籍都是使用竖排进行书写的。TeX 对此的支持并不好。解决这个问题 的方法同样有两个 1. 选择一个直接支持竖排的引擎(比如日本的 e-upTeX) 2. 构造一个合适的套件 我在 XeTeX + LaTeX + xeCJK 的支持下﹐有过竖排的一些经验﹐并且实现了所谓割注。 然而﹐这一技术还不成熟﹐所以如果有感兴趣的同好﹐我们另开帖子交流吧。 : ) -- 来自萌气四溢的 M 君~ --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 183.217.24.14







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP