发布时间 : 星期三 文章latex教程更新完毕开始阅读
cct test latex test
patchdvi -r600x600 -b test.dvi temp.dvi del test.dvi
ren temp.dvi test.dvi
dvips test
新版的CCT 除了保留原来的处理方式以外,增加了两种新的处理方式。第一种是用TEX 的处理来代替原来的cct.exe 的预处理。这种方式的源文件和老的文件相同,但是不用再存成.ctx 为后缀的文件,也不用 cct 命令进行预处理。除此之外,其余和老的处理方式基本相同。
第二种处理方式是采用CJK 的中文字库,需要在系统中安装好CJK 字库。与第一种方式的主要区别就在于去掉了patchdvi 处理DVI 文件的需要。使用上,是在\\documentclass 命令中加上参数CJK 。具体的例子如下:
\\documentclass[CJK]{cctart} \\begin{document}
\\kaishu
这是中文楷体字。 \\end{document}
这个例子可以象英文文档一样的编译得到正确的输出。 ?
TY: 华东师大肖刚、陈志杰等教授开发。
1.8.2 CJK
由德国W. Lemberg开发,可以同时处理中、日、韩三国文字。
在安装好CJK 的系统中,下面这个例子可以象英文文档一样的编译得到正确的输出。
\\documentclass{article} \%usepackage{CJK} \\begin{document}
\\begin{CJK*}{GBK}{kai} 这是中文楷体字。 \\end{CJK*}
\\end{document}
CJK 宏包有两种不同的处理方式。一个是 \\begin{CJK}.... ... \\end{CJK}
称为CJK 模式;另一个是
12
\\begin{CJK*}.... ...
\\end{CJK*}
称为CJK* 模式。两个模式的区别在于CJK* 会忽略CJK 字符之间的空格,这是我们中文的习惯。而CJK 则使用英文的习惯,即词之间保留空格,当然如果空格多于一个,TEX 也会忽略多余的空格。
1.9 大型文档
当处理大型文档时,最好将文档分割成为几部分。LATEX 有两个命令可以帮助你完成这项工作。
\\include{filename}
你可以使用该命令将名为filename.tex 的文档内容插入到当前文档中。需要注意的是,在处理插入的filename.tex 文档前,LATEX 会另起一页。
第二个命令只能在导言区使用。它可以让LATEX 仅读入某些\\include 文件。
\\includeonly{filename,filename,. . . }
这条命令在文档的导言区执行后,在所有的\\include 命令中,只有文档名出现在\\includeonly 的命令参数中的文档才会被导入。注意文档名和逗号之间不能有空格。
\\include 命令会在新的一页上排版载入的文本。当使用\\includeonly 命令时会很有帮助,因为即使一些载入的文本被忽略,分页处也不会发生变化。有些时候可能不希望在新的一页上排版载入的文本,这时可以使用命令
\\input{filename}
\\input 命令只是简单的载入指定的文本,没有其他限制。
如果想让LATEX 快速的检查文档中的错误,可以使用syntonly 宏包。它可以使LATEX 浏览整个文档,检查语法错误和使用的命令,但并不生成DVI 输出。在这种模式下,LATEX 运行速度很快,可以为你节省宝贵的时间。syntonly 宏包的使用非常简单: \%usepackage{syntonly} \\syntaxonly
如果想产生分页,只要注释掉第二行即可(在前面加上一个百分号%)。
13
第二章 文本排版
阅读了前一章之后,应该了解关于如何创建一个LATEX 文档的基本知识了。在这一章里,将补充其余部分,使你能够生成实际文档。
2.1 断行和分页
2.1.1 对齐段落
通常书籍是用等长的行来排版的。为了优化整个段落的内容,LATEX 在单词之间插入必要的断行点(line break) 和间隙。如果一行的单词排不下,LATEX 也会进行必要的断词。段落如何排版依赖于文档类别。通常,每一段的第一行有缩进,在两段之间没有额外的间隔。更多的内容请参考第6.3.2 节。
在特殊情形下,有必要命令LATEX 断行
\\\\ or \\newline 另起一行,而不另起一段。 \\\\* 在强制断行后,还禁止分页。 \\newpage 另起一页。
\\linebreak[n], \\nolinebreak[n], \\pagebreak[n], \\nopagebreak[n]
上述命令的效果可以从它们的名称看出来。通过可选参量n,作者可以影响这些命令的效果。n可以取为0和4之间的数。如果命令的效果看起来非常差,把n取为小于4的数,可以让LATEX 在排版效果不佳的时候选择忽略这个命令。不要把这些“break” 命令与“new” 命令混淆。即使你给出了“break” 命令,LATEX 仍然试图对齐页面的右边界。
LATEX 总是尽可能产生最好的断行效果。如果断行无法达到LATEX 的高标准,就让这一行在段落的右侧溢出。然后在处理源文件的同时,报告溢出的消息(“overfull hbox”)。这最有可能发生在LATEX 找不到合适的地方断词的时候。你可以使用\\sloppy 命令, 告诉LATEX 降低一点儿标准。它通过增加单词之间的间隔,以防止出现过长的行,虽然最终的输出结果不是最优的。在这种情况下给出警告(“underfull hbox”)。在大多数情况下得到的结果看起来不会非常好。\\fussy 命令把LATEX 恢复为缺省状态。
14
2.1.2 断词
必要时LATEX 就会断词。如果断词算法不能确定正确的断词点,可以使用如下命令告诉TEX 如何弥补这个缺憾。
命令
\\hyphenation{word list}
使列于参量中的单词仅在注有“-” 的地方断词。命令的参量仅由正常字 母构成的单词,或由LATEX 视为正常字母的符号组成。当断词命令出现时, 根据正在使用的语言,断词的提示就已经被存好待选了。这意味着如果你在文档导言中设置了断词命令,它将影响英文的断词。如果断词命令置于\\begin{document} 后面,而且你正使用比方babel 的国际语言支持宏包,那么断词提示在由babel 激活的语言中就处于活动状态。
下面的例子允许对“hyphenation” 和“Hyphenation” 进行断词, 却根本不允许“FORTRAN”, “Fortran” 和“fortran” 进行断词。在参量中不允许出现特殊的字符和符号。
例子:
\\hyphenation{FORTRAN Hy-phen-a-tion} 命令\\- 在单词中插入一个自主的断词点。它也就成为这个单词中允许出现 的唯一断词点。对于包含特殊字符(例如:注音字符)的单词,这个命令是特别有用的,因为对于他们,LATEX 不会自动断词。 I think this is: su\\-per\\-cal\\-% i\\-frag\\-i\\-lis\\-tic\\-ex\\-pi\\-% al\\-i\\-do\\-cious 命令
\\mbox{text}
保证把几个单词排在同一行上。在任何情况下,这个命令把它的参量排在一起。
My phone number will change soon. It will be \\mbox{0116 291 2319}. The parameter \\mbox{\\emph{filename}} should contain the name of the file. 命令\\fbox 和\\mbox 类似,此外它还能围绕内容画一个框。
15