本帖最后由 isea 于 2013-5-1 21:20 编辑
行文之前,感谢论坛和朋友,特别是kuing及hejoseph,先。
先引用一下,后面具体说明。其实我还是建议初玩可以用ctexart之类的文档类。
kuing 发表于 2013-4-18 23:48 至现在,我才明白,CTEX 套装,对系统字体的调用,我走了不少弯道。
对最简的这个而已
\documentclass{ctexart} %使用 ctexart 文档类型排版
begin{document}
%从这里输入正文,随便把字可打多点,查看效果
\end{document}
实际上,(这个最简)使用中文已经完全无障碍。从我使用过程,来聊一下,给全新新手一点点新的参考,网上的好多教程说法,一个好多是linux平台,二是,真的好多陈旧了,需要自己去筛选与鉴别。
先说ctex宏包
默认已经给了6种字体,宋体、仿宋、黑体、楷体、隶书、幼圆(在使用XeTEX 时只有前四种)最常见实用的六种;
对应的命令为 \songti 宋体 \heiti 黑体 \fangsong 仿宋 \kaishu 楷书 \lishu 隶书 \youyuan 幼圆。
对字号,已经设置了,小号字体在前面加负号表示,从大到小依次为
\begin{array}{|c|c|c|c|c|c|c|c|}
\hline
初号&小初&一号&小一&二号&小二&三号&小三&四号&小四&五号&小五&六号&小六&七号&八号\\
\hline
0& -0& 1 &-1& 2 &-2 &3& -3&4& -4& 5& -5& 6& -6& 7 &8\\
\hline
\end{array}
如五号,命令为 \zihao{5}。
然后,你要知道,$\LaTeX$排版效果是全自动的,再人为的加上一些:\\ 是手工换行,\par 是新起一段(或者两次或更多回车)
仅仅这些,然后加入宏包 \usepackage{amsmath,amssymb,amsthm} 就能达到论坛输入的效果了。
实际上更强一些,再了解一下数学模式与中文的混排,老帖一直在纠结LaTeX 数学模式 下的中文(完全解决于21楼),然后,用PDFLaTeX编出这样简短的附件效果(即原老帖3楼的效果
3.pdf (207.88 KB)
),虽然有些瑕疵,且第一次编译有些警告,但基本算是比较成熟了,这便是$\LaTeX$强大排版的功劳。
=======$\LaTeX$老手可以自动绕行,或者无视这些这最最基本东东========
下面说调用系统字体,也就是回到本文的开始,真正对 ctexart 类型文档的理解,也就是对宏包ctex的学习。(数学常用宏包,要干涉的太少,照打公式即可,不会有大多的障碍,对中学试卷而言,或少急切的应用)
不过,还是从 老帖 此区有个XeLaTeX 听说能直接调用系统字体——说开,相对而言,那时的我比第一帖略“成熟”一些,经过探索(我十分肯定,如果你也新学$\LaTeX$,一定会这样过程,那怕,我这里来说简洁之路),便有了 老帖 来来来 求围观 哈哈 5楼,正式的第一大型试卷,用的 默认 Adobe 宋体(打印效果,真心赞啊!!)。
但大家细看 98.tex 便知文档类用的 article 而非ctexart(其实写的时候用的ctexart,所以有 \newcommand{\heiti}{\CJKfamily{heiti}} 这样,很奇怪的自定义命令)为什么呢?因为xeCJK(且为UTF-8编码这个必须用XeLaTeX编译)与偶有些 ctexart 不和,总是有些字体信息警告,又怕 Adobe 宋体 被冲突了,否则这不是白忙了。
(下面的文字)这是后话(即后来才明白),上面提到,\newcommand{\heiti}{\CJKfamily{heiti}},可这个\heiti 在ctex 是已经存在的命令,无法通过XeLaTeX编译,当时又急着打印,又干脆换成 article ,唉,相安无事,达果效果,其它的先放一边。再表一枝,article,其实也好,至少不与xeJCK 冲突啊。
如果追求完美的话 article 也有些瑕疵,主要有三:一行字比较挤,首行缩进它不是两个中文字(象形文字)的距离,二是字号,这个还真自己再去定义一次。用 article 类型文档里已经成功统一风格,调用系统字体及字号。
那,用ctexart 到底怎么样才能最方便,且没什么字体警告,而通过 xeCJK 调用系统字体 + XeLaTeX 编译呢?还能直接默认设置,如\zihao,等等
其实非常的简单!在CTEX手册 使用帮助里已经说得非常明白了:2.1 使用CJK 或xeCJK
这是ctex 宏包的缺省设置。ctex 宏包会自动根据使用的TEX 引擎调用CJK 或者
xeCJK 宏包,你无需再自己调用。 只不过,那时偶看不懂,不知道具体说了什么东西。
那到底什么意思呢?
那就是,ctexart 会自动加载 ctex 宏包,而由上面知道,ctex 会自动调用CJK或者xeCJK!而xeCJK会自动加载fontspec。正是因为如此,此时,你完全不用担心中文下的$\LaTeX$排版,尽管打中文即可,除非你所用的字体不是那六种,且没有定义(或者说指定?指明?)新的字体,不能被$\LaTeX$识别才会出错(当然你一路回车,或者按个s回车,无视这些也成,只是没有你想要的字体而已)。
=======以上闲扯,下面才是标题的回应====ctexart类型文档,一点体会=======
具体如下(以调用系统字体华文彩云为例)(文后的附件smp)
\documentclass{ctexart}
\setCJKfamilyfont{caiy}{华文彩云} %含下一行,即把华文彩云简化定义为命令 \cy
\newcommand{\cy}{\CJKfamily{caiy}}
\begin{document}
注意:UTF-8编码,用XeLaTeX编译,调用系统字体,{\cy 这里示例为华文彩云},或者写全了,{\CJKfamily{caiy}不怕麻烦的话},看两处都是彩云。{\zihao{1} \heiti 把字调大还是黑}体。
对就是这么简单!
\end{document}
对,就是这么简单,其实,用了ctex 宏包,要用什么系统字体,自己随便加(导言区),要什么什么字号,自己加,附上源码及效果。
说得比较粗糙,如果有所启发,明白了,不需要此文,那我太高兴了
=======以上方法,下面是补充====xeCJK类型文档,一点体会=============
05.01.2013 增补\setCJKfamilyfont{caiy}{华文彩云} %含下一行,即把华文彩云简化定义为命令 \cy
\newcommand{\cy}{\CJKfamily{caiy}} 新版 xeCJK (默认安装CTEX 目前非新版,需升级宏包)简化命令(方便多了)\newCJKfontfamily[caiy]\cy{华文彩云} 其中,[caiy] 这个为可省选项,即,下面命令也调用华文彩云\newCJKfontfamily\cy{华文彩云} 这样一来,就和与偶看到hejoseph用的调用英文字体方法完全一致了\newfontfamily\CMU{CMU Serif} 查看系统字体列表:参阅老帖:http://kkkkuingggg.5d6d.net/viewthread.php?tid=411
|