刚开始学习 LaTeX,CJK 宏包的设置有点问题,如何解决?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了刚开始学习 LaTeX,CJK 宏包的设置有点问题,如何解决?相关的知识,希望对你有一定的参考价值。

我用的是Texlive2010+Texworks 但是一段简单的设置中文的代码都没法成功。
比如:
\documentclassarticle
\usepackageCJK
\begindocument
\beginCJKGBKsong
您好!
\endCJK
\enddocument
用PDFlatex没法编译成功。用XeLatex虽然成功了但是什么都没显示。新手求教。

还用这么古老的东西? 2016到要出来了还在用2010啊?放弃古老的CJK宏包吧, 中文支持最简单的是使用ctex宏包或ctex文档类, 具体用法查看ctex宏包文档就行了 参考技术A 保存文本时需要是GBK编码。

LaTex学习LaTex文档类与宏包

认识LaTex

在这里插入图片描述

LaTeX 处理一个包含文本的文件,文件中散布着描述文本格式的命令。 它至少产生三个文件作为输出

.dvi文件:这包含可以用于各种输出命令。 之所以可以使用各种程序查看LaTeX的输出,是因为这些程序实际上使用了 .dvi文件。

.log文件。包含输入文件中发现的错误摘要和诊断信息。

.aux文件。LaTeX 自己用,用于诸如切片之类的处理。

LaTex的命令主要结构是\\[]{},以命令名称开头,命令名称后要么跟一串字母,要么跟单个非字母的东西组成。 方括号中的参数是可选的,而大括号中的参数是必需的。注意LaTeX 区分大小写,除非明确说明了,否则以小写形式输入所有命令。

\\documentclass{article}

保留字符

LaTex中有一种特殊的符号,它们在LaTex中有着特殊的定义成。在生成文档时候不能直接输出

#		%自定义命令时,表明参数序号
$		%数学环境命令符,用于输入数学表达式,进入或者退出数学环境
%		%注释符
^		%数学上标命令符
&		%表格跳列符
_		%数学下标命令符
{		%标记命令
}		%标记命令
\\		%开始LaTex命令

但是如果在使用中你明确要将这些符号作为文本输出。可以在它们前面加上\\转义。类似于C语言中的转义。可以这样理解。

\\的转义就比较麻烦。

可以使用

\\texttt{\\char92}

92是\\的ASCII码

或者

\\texttt{\\char`\\\\}

char`后跟字符的方式输出,对于保留字要多加一个 \\ 进行转义

LaTex环境

LaTex的环境是指让一些效果在局部生效,或者生成特殊的文档元素的标记

主要使用方法是使用\\begin\\end

\\begin{document}
...
\\end{document}

以上示例说明的是document环境的开始与结束。环境可以嵌套用。

导言区

LaTex的文本框架一般是这样的

\\documentclass[options]{...}	%...为文档类型输入点
% 导言区
\\begin{document}
% 正文区
\\end{document}

\\documentclass[options]{doc-class}\\begin{document}之前的内容就是导言区。这个区域可以留空,也可以进行文档前的配置工作。

提醒一下%后的是注释,类似于python中的#注释符

文档类

顾名思义,文档类就是标记文档的类型。文档类的定义必须在文档开头就注明。格式如下:

\\documentclass[⟨options⟩]{⟨class-name⟩}

class-name为文档类的名称。article, book, report为最基本的三个文档类,因此常常称为这三个为 标准文档类
注意派生出的支持中文的文档类常见的有ctexartctexbookctexrep

名称说明
article文章格式的文档类,广泛用于科技论文、报告、说明文档等。
report长篇报告格式的文档类,具有章节结构,用于综述、长篇论文、简单的书籍等
book书籍文档类,包含章节结构和前言、正文、后记等结构
proc基于 article 文档类的一个简单的学术文档模板
slides幻灯片格式的文档类,使用无衬线字体
minimal一个极其精简的文档类,只设定了纸张大小和基本字号,用作代码测试的最小工作示例(Minimal Working Example)

options为文档类可选项,规定一些排版的参数,如字号、纸张大小、单双面等等

对于标准文档类的可选项有

名称说明
10pt, 11pt, 12pt指定文档的基本字号。默认为 10pt。
a4paper, letterpaper,a5paper,b5paper,executivepaper 和 legalpaper指定纸张大小,默认为美式信纸 letterpaper (8.5 × 11 英寸)
twoside, oneside指定单面/双面排版。双面排版时,奇偶页的页眉页脚、页边距不同。article和 report 默认为 oneside,book 默认为 twoside。
onecolumn, twocolumn指定单栏/双栏排版。默认为 onecolumn。
openright, openany指定新的一章 \\chapter 是在奇数页(右侧)开始,还是直接紧跟着上一页开始。report 默认为 openany,book 默认为 openright。对 article 无效
landscape指定横向排版。默认为纵向。
titlepage, notitlepage指定标题命令 \\maketitle 是否生成单独的标题页。article 默认为notitlepage,report 和 book 默认为 titlepage
fleqn令行间公式左对齐。默认为居中对齐。
leqno将公式编号放在左边。默认为右边。
draft, final指定草稿/终稿模式。草稿模式下,断行不良的地方会在行尾添加一个黑色方块。默认为 final。

宏包

在使用Latex时,就像Python一样,会有许多第三方强大的模块。宏包就是这样的一个东西,用来增强LaTex的功能。

宏包的定义格式如下:

\\usepackage[⟨options⟩]{⟨package-name⟩}

\\usepackage 可以一次性调用多个宏包,在 ⟨package-name⟩中用逗号隔开。这种用法一般不要指定选项。因为如果使用多个宏包时指定选项,相当于给每个宏包指定同样的选项。如果正好有某个宏包不能识别指定的选项,就会出错了。

% 一次性调用三个排版表格常用的宏包
\\usepackage{tabularx, makecell, multirow}

注意,在调用宏包的时候,就像使用python那样,要确认你已经安装了它

当你不熟悉某个宏包的时候,在windows CMD终端输入

texdoc pkg-name

pkg-name 用包的名字替代一下

常用宏包

不需要记忆,需要时候查阅即可。

文字、公式和符号

amsmath			%AMS 数学公式扩展。
mathtools		%数学公式扩展宏包,提供了公式编号定制和更多的符号、矩阵等。
amsfonts		%AMS 扩展符号的基础字体支持。
amssymb			%在 amsfonts 基础上将 AMS 扩展符号定义成命令。
bm				%提供将数学符号加粗的命令 \\bm。
siunitx			%以国际单位规范排版物理量的单位。
mhchem			%排版化学式和方程式。
tipa			%排版国际音标。

排版元素

ulem			%提供排版可断行下划线的命令 \\uline 以及其它装饰文字的命令。
endnote			%排版尾注。
marginnote		%改善的边注排版功能。
multicol		%提供将内容自由分栏的 multicols 环境。
multitoc		%生成多栏排版的目录。
minitoc			%为章节生成独立的小目录。
glossaries		%生成词汇表。
verbatim		%对原始的 verbatim 环境的改善。提供了命令 \\verbatiminput 调用源文件。
fancyvrb		%提供了代码排版环境 Verbatim 以及对版式的自定义。
listings		%提供了排版关键字高亮的代码环境 lstlisting 以及对版式的自定义。类似宏包有minted。
algorithmic		%一个简单的实现算法排版的宏包。如果要生成浮动体的话,需要搭配 algorithm 宏包使用。
algorithm2e		%较为复杂的、可定制的算法排版宏包。类似宏包有 algorithmicx 等。
ntheorem		%定制定理环境。类似宏包包括 theorem、thmtools、amsthm 等。
mdframed		%排版可自动断页的带边框文字段落,提供边框样式的定制功能。
tcolorbox		%以TikZ为基础提供排版样式丰富的彩色盒子的功能。

图表和浮动体

booktabs		%排版三线表。
array			%对表格列格式的扩展。
tabularx		%提供 tabularx 环境排版定宽表格,支持自动计算宽度的 X 列格式。
arydshln		%支持排版虚线表格线。
colortbl		%支持修改表格的行、列、单元格的颜色。
multirow		%支持合并多行单元格。
makecell		%支持在单元格里排版多行内容(嵌套一个单列的小表格)。
diagbox			%排版斜线表头。
longtable		%提供排版跨页长表格的 longtable 环境。
ltxtable		%跨页长表格可使用 tabularx 的 X 列格式。
tabu			%提供排版复杂格式表格的 tabu 环境。与 longtable 一同调用时,提供排版复杂格式跨页长表格的 longtabu 环境。
graphicx		%支持插图。
bmpsize			%latex + dvipdfmx 命令下支持 BMP/JPG/PNG 等格式的位图。
epstopdf		%pdflatex 命令下支持 EPS 格式的矢量图。
wrapfig			%支持简单的文字在图片周围的绕排。
subfig			%提供子图表和子标题的排版。类似宏包有 subfigure 和 subcaption 等。
caption			%控制浮动体标题的格式。
bicaption		%生成双语浮动体标题。
float			%为浮动体提供不浮动的 H 模式;提供自定义浮动体结构的功能。

修改版式

geometry		%修改页面尺寸、页边距、页眉页脚等参数。
fancyhdr		%修改页眉页脚格式,令页眉页脚可以左对齐、居中、右对齐。
titlesec		%修改章节标题 \\chapter、\\section 等的格式。
titletoc		%修改目录中各条目的格式。
tocloft			%类似 titletoc 的修改目录条目格式的宏包。
tocbibind		%支持将目录、参考文献、索引本身写入目录项。
footmisc		%修改脚注 \\footnote 的格式。
indentfirst		%令章节标题后的第一段首行缩进。
enumerate		%提供简单的自定义标签格式的 enumerate 环境。
enumitem		%修改列表环境 enumerate 和 itemize 等的格式。
lettrine		%生成段落首字母大写的效果。

参考资料

Characters and Control Sequences (tcd.ie)

CTAN: Package lshort-zh-cn

尾言

以上是这一篇LaTex的主要内容。后期的更新,敬请期待!

以上是关于刚开始学习 LaTeX,CJK 宏包的设置有点问题,如何解决?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Mac OS X 上装设 LaTeX 以及 CJK 套件

LaTeX + CJK 无可用字体

latex2

有谁用过CTEX的编辑器WinEdt 6.0的,请教一个问题:

CJK字体设置

Latex幻灯片使用总结