LaTeX 板


LINE

首先要对板上的同好们说一声抱歉。上次回答完问题之後﹐就消失了很长时间。一方面是 课业繁重﹔一方面是 TeX Live 2014 就要出来了﹐手头几个宏包急着更新(希望能随 TeX Live 2014 发布)﹔一方面是手头在修一本书﹐关於 GRE 考试的填空教程﹐工程 比较浩大﹐不过好在今天完成了它手稿的的四分之三﹔另外是最近自己身体欠佳﹐去了几 次医院。 虽然有诸多理由﹐不过还是要对大家说一声抱歉。真的没想到一拖就拖了这麽久。 今天来详细说一说关於 TeX 处理中文字的一些事情﹐会比较长﹐希望大家做好心理准备。 下文中﹐一些术语的说法可能和台湾方面不大一样﹐尽我所能总结如下﹕ macro 宏 巨集 package 宏包 巨集套件 file 文件 档案 如果文章中有看不懂的术语﹐欢迎大家回复补充。 ## 关於 TeX 系统的一点基础知识 板上同好们水平较高﹐所以分不清发行版、宏包、格式、引擎这些概念的应该是少数﹐不 过这篇文章之後也会在大陆的知乎网上发布﹐为了统一﹐所以一并讲了吧。 TeX 家族是一个很庞大的概念﹐虽然 TeX 程序自己很小﹐庞大的原因﹐主要是後来人们 不断地对它的功能进行扩展导致的。 TeX 家族最开始的概念是引擎。Knuth 老爹开发出的 TeX 是用 WEB 语言写的﹐这是一 个文学编程的语言﹐需要用 Pascal 来编译──不过现在的 Pascal 编译器也是不能编 译它的﹐版本不匹配──比较的繁琐﹐效率也不够高。於是有人开发出了 WEB2C 这个小 工具来将 WEB 语言的代码转成 C 语言﹐这样能提高不少效率。 众所周知﹐TeX 最开始是 Knuth 老爹为了自己的 TAOCP (不知道的请上网爬文)的排 版而创作的﹐所以当 Knuth 老爹自己对 TeX 满意之後﹐就不乐意修改它了。然而尽管 TeX 是 Knuth 老爹和其他人(他的学生)一起做出来的东西﹐Knuth 老爹却坚持只有 自己才能修改名为 TeX 的东西。所以当 TeX 流传开来之後﹐大家发现 TeX 功能上有 不如人意的地方的时候﹐只能自己在 TeX 的基础上做一些增强版。比如﹐着名的 e-TeX, 还有大家熟悉的 pdfTeX, XeTeX, LuaTeX 等。不是所有的扩展版都包含了 T, E, X 这三个字母﹐比如以前有一个引擎叫做 Omega, 它支持 16 种文字顺序方向﹐ 十分神奇。每一个 TeX 引擎都有一套自己的原语﹐不过所有的增强版引擎﹐几乎都兼容 原始的 TeX 的原语──语法一致﹐但功能可能变强大了。 这些增强版﹐包括最原始的 TeX 在内﹐都被称为**引擎**。引擎是承担最终排版工作的 可执行程序。 让我们回到最开始的 TeX 上面来。众所周知﹐TeX 是一个引擎﹐同时也是一种宏编程语 言的名字。Knuth 老爹的原始版 TeX 一共有三百多个最原始的宏﹐我们把它们叫做 TeX 原语(TeX primitive)。其他所有的宏都是通过他们构建出来的﹐所以从理论上 说﹐只要掌握了这三百多个原语﹐就能让 TeX 帮我们解决一切问题了。不过最原始的东 西往往是强大的﹐但同时是不方便使用的。为了方便使用﹐我们就要在这些原语的基础上 为常用的功能编写宏。 有一些宏非常常用﹐所以如果每次都载入这些宏会繁琐且缓慢。所以 Knuth 老爹允许人 们将常用的宏编译成为格式(format, 扩展名为 fmt)。Knuth 老爹自己设计了一个格 式﹐称为 plain TeX, 加上原语﹐他一共有 900 多个命令。因为它太基础﹐用得非常 频繁﹐所以大多数时候人们讲到 TeX 语言的时候﹐指的是 plain TeX 构成的那些指令 集合﹐而不是 TeX primitives. TeX 是面向排版的﹐所以许多命令晦涩难懂──通常写文章的作者不需要知道这些细节﹐ 於是﹐刚刚获得图灵奖的 Leslie Lamport 博士在 plain TeX 的基础上又编写了一些 宏﹐并编译为格式﹐取名为 LaTeX. La 就是他姓氏的头两个字母﹐仿照中国古代的叫法 这就是所谓的莱氏 TeX. 所以你看﹐不管是中国人还是外国人﹐都想着光宗耀祖呢。 LaTeX 优秀之处在於﹐它将内容与格式分开﹐使得作者不需要﹐或者只需要知道很少的排 版细节就能排出漂亮的文章。 除掉 plain TeX 和 LaTeX, 常见的格式可能就只有 ConTeXt 了。 在格式的基础上﹐人们发现实现某一些特定的功能的时候﹐使用的宏命令总是一样的。所 以如果把它们打包起来﹐就会变得很方便。所以出现了宏包(package)这个东西。宏包 总是和格式对应﹐LaTeX 格式的宏包往往不能用於使用 plain TeX 格式书写的文章之 中。LaTeX 中最常用的几个宏包可能是﹕amsmath, geometry, hyperref, xcolor, graphicx, booktabs 等。 除掉这些东西﹐人们还开发了一些辅助工具。比如﹐名为 BibTeX 的工具﹐就是用来生 成参考文献的﹔名为 makeindex 的工具﹐就是用来生成索引的。另外对於引擎、格式、 宏包、工具﹐用户要使用它必须有一份说明文档来指引进步。所有这些东西﹐零零总总﹐ 加起来有成千上万个文件﹐如果让用户去一一下载安装﹐一则不方便﹐二则不方便控制 版本。所以就有人/组织/公司将他们全部打包在一起。比较着名的发行版有 Windows 系统下的 MikTeX, 跨平台的 TeX Live, 为中文做过优化的 CTeX (大陆吴凌云研究 员)﹐cwTeX (台湾吴聪敏教授)等。 至於 TeXworks, WinEdt, TeXstudio, TeXmaker 这些东西﹐只是编辑代码的工具﹐ 和 TeX 系统并没有直接的关系。 总的来说﹐引擎承担排版工作﹐对应一套原语﹔格式对应一套书写规则﹔宏包对应一定 的功能﹔发行版则是所有东西的大杂烩。如果用汽车来做比喻﹐那麽发行版是整个汽车﹐ 引擎是发动机和传动系统﹐格式是方向盘、刹车、离合器这些控制系统﹐宏包则是音响、 车窗之类的各种功能的小物件。 ## 说说字体 所谓排版﹐就是要把每一个东西摆在合适的区域﹐然後在这个区域上画出特定的形状。 理解了这个概念﹐我们就知道﹐不管是排版文字﹐还是排版图形﹐所做的工作都是一样 的﹐差别只在於最终画什麽。对於 TeX 来说﹐画出什麽样的形状其实是不重要的﹐毕 竟这个形状是给我们人类看的。所以 TeX 完全可以只关注什麽区域放什麽﹐至於这些 东西长什麽样﹐完全可以交给阅读器去处理。 因此﹐我们可以很容易地想到﹐一个字体应该可以分成两个部分﹕描述尺寸的和描述形 状的。前一个部分我们称之为 metrics, 後一个部分我们称之为 glyph. 对於 METAFONT 生成的字体﹐确实就是有这两个部分的﹐前一个部分扩展名是 tfm, 後一 个部分的扩展名是 pk. 不过并不是所有的字体格式都将两个部分分开﹐比如 OpenType 字体﹐字符的尺寸信息和形状信息全都保存在一个文件里面。 在 TeX 原语中﹐调用字体的命令是 \font. 这个命令是後续各种字体调用命令的基础﹐ 包括 xeCJK 的 \setCJKmainfont 等命令﹐都是在它的基础上建立起来的。 Knuth 老爹的 TeX 系统﹐限於当时的情况﹐只支持自家的 METAFONT 生成的 tfm 文件。什麽意思呢﹖(Knuth) TeX 的原语 \font 只认识 tfm 文件﹐别的什麽 ttf, otf 统统不认识。这无疑是不方便的﹐毕竟现代优秀的字体大都是 ttf 或者 otf 格式。於是 XeTeX 应运而生﹐它的原语 \font 认识 ttf, otf 这些格式﹐所以能够在 读取安装在系统上的这些格式的字体──只要想办法让它能够找到就行了。另一个支持 ttf, otf 字体的引擎是 LuaTeX, 不过继承自 pdfTeX 的 LuaTeX, 它的 \font 命令 也不能直接读取 ttf, otf 格式的字体文件﹐需要使用名为 callback 的库来间接调用。 这也就是为什麽使用 LuaTeX 处理字体会比 XeTeX 慢的缘故了﹐虽然 LuaTeX 相较 XeTeX 有不少优势﹐但是读取字体这一块﹐确实是比不上。 说完了单个字符﹐我们再来说说字符在字体里边的情况。 可以想象﹐字符在字体文件里边是按照某种顺序排列在一起的。那麽﹐假设你就是 TeX, 你想要获得 A 这个字符﹐你怎麽找到它在字体文件里的位置呢﹖没错﹐A 的 ASCII 编码 是 65, 如果字体文件是按照 ASCII 编码的顺序排列的﹐我们只需要找到第 66 个(从 0 开始)字符就可以了。 遗憾的是﹐事情并没有这麽简单。一则编码有许多种﹐字体里不一定要使用某一种特定的编 码﹔二则东亚文字有许许多多﹐各地区使用的编码也不尽相同﹐必须协调好各部分之间的关 系。於是 LaTeX 规定了名为 NFSS (新字体选择机制)的方案﹐字体属性分成五个方面﹕ 编码(encoding)﹐比如 TeX text, TeX extended text; 字族(family)﹐比如 Roman, Typewriter; 字重(series)﹐比如 bold, narrow, medium; 字形(shape)﹐比如 Italic, Small Caps; 字号(size)﹐比如 10pt, 11pt. 明确了这些﹐你才能精确地说明白你到底需要哪一个字形﹐如何才能找到特定的字符。这些 东西你可能不熟悉﹐但是如果你用过一段时间的 LaTeX, 几乎能说你肯定见过。LaTeX 的 关於溢出盒子的警告一般是这样写的﹕ Overfull \hbox (3.80855pt too wide) in paragraph at lines 314--318 []\OT1/cmr/m/n/10 Normally [] and [] will be iden-ti-cal, 其中的 \OT1/cmr/m/n/10 就表示这些内容。其中 OT1 是 encoding 部分﹐代表 TeX text 这种编码﹔cmr 是 family 部分﹐代表 Computer Modern Roman 这个字族﹔ m 是 series 部分﹐代表 medium; n 是 shape 部分﹐代表 normal; 10 是 size 部 分﹐默认单位是 pt. 关於这部分内容﹐太繁琐﹐如果想要详细了解他们﹐可以阅读﹕ texdoc fntguide texdoc fontenc 好了﹐现在假设你的 TeX 已经能够读到相应的字符数据了﹐也通过特定的算法将字符摆放 在相应的区域了。现在要做的事情﹐是让阅读器知道某个字符长什麽样。 对於原始的 TeX, 它读取 tfm 文件﹐然後将字体信息写入 dvi, 让 dvi 阅读器检索 tfm 文件对应的 pk 文件﹐然後把字形取出﹐画在 dvi 的特定位置。对於 dvips 这个驱动来 说﹐他发现 dvi 文件里提到需要 cmr 这个字体﹐於是就去到 config.ps 里面找到一个 map 文件﹐记载着 cmr10 字体对应着 cmr10.pfb (Type1 字体的字形部分), 於是就找 到这个文件备用。 对於 pdfTeX 和 LuaTeX 来说﹐他们能够直接生成 PDF 文件﹐并定义了特别的原语﹐用来 映射字体文件。比如 \pdfmapline{cmr10 CMR10 <cmr10.pfb} 表示﹐遇到 cmr10.tfm 这个字体尺寸文件之後﹐就将 cmr10.pfb 插入到 PDF 文件之中。 XeTeX 的情况﹐我不大清楚。 至此﹐我们已经知道 TeX 怎麽找到特定的字体尺寸文件﹐以及阅读器如何找到对应的字体形 状文件了。LaTeX 的 NFSS 机制特别细致﹐所以显得有些繁琐。所以对用户来说并不推荐使 用﹐但如果要使用新的字体﹐还是得好好读读相关的文档。好在为 XeTeX 和 LuaTeX 设计 的 fontspec 宏包出现了﹐这可是懒人的福音。xeCJK 和 LuaTeX-ja 分别对它的两个版本 做了一些扩展。 ## 中文的处理 最开始的 TeX 是 7 位的﹐只能处理 128 个 ASCII 字符﹔後来 Knuth 老爹将它扩展到了 8 位﹐可以处理 ISO8859-1 字符。这样处理拉丁字符游刃有余﹐但处理东亚文字就傻眼了。 TeX 默认一个字体文件最多只有 256 个字符﹐但是动辄上千上万的中文字体怎麽办呢﹖有问 题﹐找 Knuth 老爹。老爹说﹐这简单﹐既然我只认识 256 个字符﹐你就把成千上万个字符 分割成若干块﹐每一块都只有 256 个字符就好了。回头只要为不同的字符指定不同的块就能 解决问题了。这些块有一个名字﹐叫子字体。好吧﹐前辈们为这个吃尽了苦头。 我们来看一段 LaTeX 代码﹕ \documentclass{article} \usepackage{CJK} \begin{document} \begin{CJK*}{GBK}{song} 您好 \clearpage \end{CJK*} \end{document} 这几乎是使用 CJK 方式支持中文的最简单的代码了﹐用过 CJK 的同好应该都不难理解。其中 GBK 是大陆这边使用的编码(Big5 不熟悉呀﹐抱歉)﹐song 是宋体(台湾似乎叫做明体﹖)。 我们来看看 TeX 会对它做什麽。之前说到﹐需要为不同的字符指定不同的子字体。这个工作由 CJK(*) 环境来完成。比如说﹐CJK(*) 环境将汉字您转成了﹕ \C19/song/m/n/10/51 s 是不是有点熟悉﹖这里 C19 是编码﹐代表 GBK; song 是字族名字﹔m 是字族﹔n 是字形﹔10 是字号﹐51 指的是子字体的编号。这句话翻译过来就是﹕ 您 = GBK 编码﹐song 的字体﹐中等粗细﹐直立﹐10pt 字﹐51 号子字体中的 s 咦﹖s 是什麽﹖唔……这个子字体中的 s 这个字符﹐长得就是汉字“您”这个样子﹗ 结合之前提到的内容﹐你应该已经清楚 CJK 是如何工作的了。唔﹐至於某个字如何对应到子 字体中的字符﹐这个问题比较复杂﹐总之知道有一个一一对应的关系就好了。 这样的做法是可行的﹐但无疑是蹩脚的。不说那个恼人的“许盖功”问题﹐单是排错时候就够 你喝一壶。想想看﹐如果汉字您後面出错了﹐LaTeX 给出的错误应该类似﹕ ! <ERROR NAME> l.5 \C19/song/m/n/10/51 s ? 这种错误提示完全不可读﹐因为你不可能知道 \C19/song/m/n/10/51 s 到底是哪一个字。 也就无法定位出错的位置﹐更别说排错了。 ## xeCJK 和 luatexja-fontspec 曙光是 XeTeX 和 LuaTeX 带来的﹐它们支持 UTF-8 编码﹐许盖功问题就无影踪了﹔它们 能够使用 ttf 和 otf 字体﹐切割子字体、转换成奇怪的命令这些事情也就不存在了。 下面分别是使用 xeCJK + XeLaTeX 和 luatexja-fontspec + LuaLaTeX 的两个小例子。 \documentclass{article} \usepackage{xeCJK} \setCJKmainfont{SimSun} % 中易宋体 \newCJKfontfamily[hei]\heiti{SimHei} % 中易黑体 \begin{document} 大家好﹐这里是中易宋体。 {\bfseries 这里是中易宋体的粗体字}。 \heiti 可以很容易地切换到中易黑体。 \end{document} \documentclass{article} \usepackage{luatexja-fontspec} \setmainjfont{SimSun} % 中易宋体 \newjfontfamily[hei]\heiti{SimHei} % 中易黑体 \begin{document} 大家好﹐这里是中易宋体。 编译可能会卡在下面这个地方很久﹕ \begin{verbatim} luaotfload | db : Scanning TEXMF and OS fonts... \end{verbatim} 这是在刷新字库﹐如果是在 Windows 系统下编译﹐耗时可能会特别长﹐ 你可以去泡杯茶。 \heiti 切换到中易黑体一样容易。 \end{document} 二者的用法其实相似﹐都是保存为 UTF-8 编码﹐使用 XeLaTeX 或者 LuaLaTeX 编译 即可﹔语法上有一点差异﹐xeCJK 在 fontspec 的基础上﹐倾向於在命令中将 CJK 三 个字母添加在前面﹐而 luatexja-fontspec 在 fontspec 的基础上﹐倾向於将 j 添 加在後面。 luatexja-fontspec 没有对应的 \newmonojfamily 命令﹐因为流行的日文字体 基本都是等宽的。 luatexja-fontspec 中﹐\newmainjfont 修改的是 \mcfamily, \mewsansjfont 修改的是 \gtfamily, 这与 xeCJK 直接修改 \rmfamily 和 \sffamily 不同。这是因为﹐日系的 pTeX 系列引擎﹐将中文和英文完全分开处理﹐是 两套机制﹔LuaTeX-ja 项目的目的﹐是在 LuaTeX 引擎上实现 pTeX 的功能﹐所以也 沿用了这个特性。这样做有好处也有坏处﹐不过好处在 LaTeX 用户身上基本体现不出来﹐ 不说也罢﹔坏处就是让人稍稍有点不适应。 二者的说明文档分别可以通过下面的命令来调取﹕ texdoc xeCJK texdoc luatexja-en 前者是简体中文文档﹐後者是英文文档。 填在字体调用中的字体名﹐可以使用 fc-list 命令来查看──小心﹐列表可能会很长。 ## 标点压缩和禁则 对於东亚文字排版来说﹐逃不开的一个话题是标点压缩和禁则的处理。首先简单介绍一下 他们分别是什麽东西。 以中文为例。中文的标点符号多种多样﹐情形也有很大差别。我们来看引号和句号的组合。 “一句话的引用”。 “一段话的引用。” 第一种情况﹐引用一句话﹐句号放在引号的外边﹔第二种情况﹐引用一段话﹐句号放在引号 的里边。在第一种情况﹐句号和引号之间的空隙太大﹐不好看﹐需要缩小这个空隙﹕将句号 左边的间隔减小﹐将引号右边的间隔减小。在第二种情况﹐引号和句号必须留有一定的空隙 但也必须缩小一定的距离﹐且这个缩小的距离应该比第一种情况要短一些。 再有例子。 一句话。另一句话 一句话﹐另一句话。| 第二种情况的 | 表示到了行尾。对比两个情况下的句号﹐显然第二种情况下﹐句号右边的 空隙应该适当缩小﹐而第一种情况应该保留(作为断句)。 这两个都是标点压缩的例子。简单来说﹐标点压缩就是处理标点符号在不同情况下两端间距 的问题。 禁则就更容易理解了。比如﹕句号不能出现在行首﹐冒号引号连用不能出现在行尾。这些关 於标点符号位置的摆放﹐就是禁则。 这些情况在日语里也是存在的。比如日语的拗音﹐缩小的假名就不能出现在行首﹐这也是禁 则。 CJK 方式对标点禁则的处理﹐额﹐咱们就不说它了。以前使用 CJK 方式做标点处理﹐都是 使用 CJKpunct 这个辅助宏包来做的。它的作者是张林波(CCT 的作者)和孙文昌(xeCJK 的作者)。 xeCJK 和 LuaTeX-ja 的标点和禁则处理就要优秀得多了。不过他俩还略有差别。xeCJK 的 思路﹐是先让标点占满一个全角的位置﹐然後添加负距离“挤压”﹔LuaTeX-ja 的思路(实 际上是 pTeX 系的思路)是先让标点占据最小的位置(在 metrics 文件里做)﹐然後“撑 开”一定的距离。二者其实没有优劣之分。 ## 中文版式解决方案──ctex 宏包/文档类 中文能够输出了﹐你就满足了吗﹖其实距离 LaTeX 中文化的终点还有距离。 比如﹕ 1. 段首缩进两个字符﹐怎麽实现﹖ 2. 符合中文习惯的字号调整﹐如何处理(五号字﹐小五号字)﹖ 3. 图表目录的标题﹐怎麽改成中文的﹖ 这些问题﹐在板上同好的使用过程中﹐肯定已经有一些解决方案了。不过﹐一来想必是零碎的﹐ 二来﹐恐怕并不足够好。 举例说段首缩进两个字符的问题。这句话展开来讲﹐应该是﹕第一行的第一个字的左侧﹐与第二 行第三个字的左侧切齐。所以真实情况下﹐首行缩进的长度﹐应该是两个汉字的宽度﹐加上两倍 的汉字之间的间距。 诸如此类的一些细节﹐在 ctex 宏包/文档类中已经处理好了﹐欢迎使用。 一个最简的例子﹕ \documentclass[UTF8, nofonts]{ctexart} \setCJKmainfont{SimSun} \setCJKsansfont{KaiTi} \setCJKmonofont{FangSong} \begin{document} 这里是中文。 将文件保存为 UTF-8 编码﹐使用 XeLaTeX 编译。 \end{document} 如果使用的是简体中文的 Windows 系统﹐例子还能更简单﹕ \documentclass[UTF8]{ctexart} \begin{document} 这里是中文。 将文件保存为 UTF-8 编码﹐使用 XeLaTeX 编译。 \end{document} 几乎与 LaTeX 标准文档类没有使用上的差别。 ## 跋 跋就不写了﹐九千多个字大家估计已经看疲劳了。 好困…… 去睡觉了。 MC 2014-3-27 -- 来自萌气四溢的 M 君~ --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 183.216.61.143
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/LaTeX/M.1395854055.A.65F.html
1F:推 andrew43:不推对不起自己! 03/27 01:17
2F:推 aufbu:Great! Thank you! 03/27 02:26
3F:推 GirlInBlack:虽然我不写中文paper还是要给大推! 03/27 03:16
4F:推 hyperino:感谢原PO的用心 03/27 08:12
5F:推 kurt28:推!!!!! 03/27 11:34
6F:推 traintrain:推! 03/27 14:43
7F:推 springman:谢谢,我收集起来了。 03/27 20:45
8F:推 LINGZ:不推对不起自己! 03/28 11:53
9F:推 uranusjr:毫无疑问的优文 03/29 22:52
10F:推 TassTW:推 03/30 11:31
11F:推 descent:厉害 03/30 14:14
12F:推 a29788685:谢谢 04/09 19:27
13F:推 leo80042: 推 06/07 23:44







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灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP