LaTeX 源文件的基本结构
LaTeX文档结构
-
导言区
主要进行全局设置
% 表示注释当前行 \documentclass{article} % book, report, letter % 可以通过更改文档类改变文档结构 % book类有封面 有内容 \title{My First Document} % 文档标题 \author{Name} % 文章作者 \date{\today} % 时间 \today命令获取今日日期
-
正文区(文稿区)
\begin{document} % ... %正文区中写了什么就显示什么 \maketitle % 使用 maketitle 命令输出标题 % 正文区可以用文本 用命令 用公式 构成文档 % 文本在文本模式中输入 % 数学公式在数学模式中输入 \end{document}
在tex源文件中增加一个空行 表示在输出pdf文件中换行
一个LaTex文件有且只能有一个Document环境
使用$表示数学模式
-
$符号
Let$F(x)$ be defined by the formula $f(x)=3x^2+x-1$ % 表示在行内显示公式 (行内公式)
在$ 之外的一般称为 “文本模式”
Let$F(x)$ be defined by the formula $$f(x)=3x^2+x-1$$ % 表示另起一行居中显示公式 (行间公式)
LaTeX中的中文处理办法
-
使用ctex
\usepackage{ctex}
-
设置中文字体
\title{\heiti 勾股定理}
使用中文需要在文档中使用utf-8编码格式
定义新命令
-
\newcommand
\newcommand\degree{^\circ}
\begin{document}
设有直角三角形 $ABC$,其中 $\angle C = 90\degree$
% 这句编译时显示 \degree 命令找不到 则需要使用 \newcommand 命令自定义
\end{document}
equation环境
用于产生带编号的行间公式
\begin{equation}
AB^2 = BC^2 + AC^2
\end{equation}
字体属性(LaTeX的字体字号设置)
在LaTeX中一个字体有五种属性
-
字体编码
正文字体编码:OT1、T1、EU1 等 数学字体编码:OML、OMS、OMX 等
-
字体族
罗马字体:笔画起始处有装饰 无衬线字体:笔画起始处无装饰 打字机字体:每个字符宽度相同,又称等宽字体
-
字体族设置方法
\textrm{Roman Family} % 设置字体族为罗马字体 ---------- 这个是命令 \rmfamily Roman Family % 声明后续字体为罗马字体 ---------- 这个是声明 作用于后续的文本(Roman Family是文本,不是声明的命令内容) \textsf{Sans Serif Family} % 无衬线字体 \sffamily Sans Serif Family % 无衬线字体 \texttt{Typewriter Family} % 打字机字体 \ttfamily Typewriter Family % 打字机字体
可以用大括号对字体声明进行分组从而限定声明的作用范围
{\ttfamily Typewriter Family}
-
-
字体系列
粗细 宽度
-
字体系列设置方法
\textmd{Medium Series} % 字体系列设置命令 \textbf{Boldface Series} \mdseries Medium Series % 字体系列设置声明 与字体族设置声明相同可以使用大括号限定作用域 \bfseries Boldface Series
-
-
字体形状
直立 斜体 伪斜体 小型大写
-
字体形状设置方法
% 命令 \textup{Upright Shape} % 直立 \textit{Italic Shape} % 斜体 \textsl{Slanted Shape} % 伪斜体 \textsc{Small Caps Shape} % 小型大写 % 声明 \upshape Upright Shape \itshape Italic Shape \slshape Slanted shape \scshape Small Caps Shape
-
中文字体
% 需要使用 ctex 包, 否则无法使用中文相关设置 {\songti 宋体} \quad {\heiti 黑体} \quad {\fangsong 仿宋} \quad {\kaishu 楷书} % \quad 是空格的意思
中文字体的粗体(Boldface)是用黑体表示的,斜体(Italic)是用楷书表示的
-
-
字体大小
% 字体大小是通过一系列声明实现的 而这些声明是与 normalsize相对的大小 % 而normalsize 大小由文档类的参数控制,文档类参数是可选参数可以在方括号中进行添加 \documentclass[10pt]{article} % 设置article文档类参数为10pt % 一般只有10 11 12 pt可选 不可想当然地认为有很多选项 {\tiny Hello}\\ {\scriptsize Hello}\\ {\footnotesize Hello}\\ {\small Hello}\\ {\normalsize Hello}\\ {\large Hello}\\ {\Large Hello}\\ {\LARGE Hello}\\ {\huge Hello}\\ {\Huge Hello}\\ % \\ 命令只是换行 并不会产生新的段落 首行不会产生缩进 % \par 命令可以产生新的段落 % 为了保证源文件的清晰可读性 分段使用空行实现 % 中文字号设置命令 \zihao{-0} 你好! % 参数 -0 表示小初号 \zihao{5} 你好! % 参数 5 表示 5号 ctex默认中文为5号 % 以上命令都可以在 cmd$ texdoc ctex 帮助文件中查看
使用自定义命令设置字体(字号等)
\newcommand{\myfont}{\textbf{\textsf{Fancy Text}}}
LaTeX的篇章结构
使用\section族命令构建文章提纲
\section{一级提纲}
\subsection{二级提纲}
\subsubsection{三级提纲}
% 没有四级提纲 !!!
插入到 \section 命令之间的正文并不受到 section 命令的影响
% 引入 ctexart 文档类可以使标题居中排版
\documentclass{ctexart} % ctexbook ctexrep
使用 \ctexset 命令设置标题格式
\ctexset{
section = {
format+ = \zihao{-4} \heiti \raggedright,
name = {,、},
number = \chinese{section},
beforeskip = 1.0ex plus 0.2ex minus .2ex,
afterskip = 1.0ex plus 0.2ex minus .2ex,
aftername = \hspace{0pt}
},
subsection = {
format+ = \zihao{5} \heiti \raggedright,
% name = {thesubsection、},
name = {,、},
number = \arabic{subsection},
beforeskip = 1.0ex plus 0.2ex minus .2ex, % 设置段前间距
afterskip = 1.0ex plus 0.2ex minus .2ex, % 设置段后间距
aftername = \hspace{0pt}
}
}
% ctexset 命令详情 可查看 ctex 宏包使用手册
使用\chapter命令产生带章节的大纲
需要使用 ctexbook 文档类
\documentclass{ctexbook}
\chapter{第一章}
% 使用 \chapter 命令产生章节大纲时 \subsubsection 命令不起作用
使用 \tableofcontents 命令产生文档目录
% 直接在文档区写入
\begin{document}
\tableofcontents
% ...
\end{document}
在 ctex 宏包手册中可以查阅 ctexset 命令的使用方法,在导言区进行格式的设置,将内容与格式分离,是latex排版的基本思想
LaTeX中的特殊字符
空白字符
英文中多个空格会被整合为一个,中文中空格会被忽略
空行分段,多个空行等同于一个空行
段落首行自动缩进,绝不可以用空格代替
汉字与其他字符的间距会自动由 XeLaTeX 处理
禁止使用中文全角空格
-
在段落中产生空白字符可以使用 \quad 命令实现
-
\quad 命令会产生一个 1em 宽度的空白字符 相当于当前字体中M的宽度
-
\qquad 命令将会产生一个 2em 宽度的空白字符
-
\, 命令或 \thinspace 将会产生约 1/6em 的空白字符
-
\enspace 命令产生一个 0.5em 的空白
-
\ 空格命令直接产生一个空格
-
~ 命令产生一个硬空格------即不能分割的空格
-
\kern 命令或 \hspace 命令产生指定宽度的空白 宽度由两端带有空格的宽度值决定 举例如下:
% 1pc = 12pt = 4.218mm a\kern 1pc b a\kern -1em b a\hskip 1em b
-
\hspace 命令根据参数指定的宽度来指定空白
-
\hphantom 命令根据参数产生的占位符宽度产生空白
a\hspace{35pt}b a\hphantom{zyx}b % 意思是在a和b之间有zyx三个字母所占宽度的空白
- \hfill 命令产生弹性长度空白
产生空白的宽度也可以使用负值
\hfill 命令用于撑满整个空间
-
控制符
\# \$ \% \{ \} \~{} \_{} \^{} \textbackslash \&
以上命令可以输出:
# $ % { } ~ _ ^ &
\textbackslash 命令可以输出 \
排版符号
\S \P \dag \ddag \copyright \pounds
以上命令可以输出:
§ ¶ † ‡ © £
标志符号
可以使用命令产生一些 latex 的标志符号
\TeX{} \LaTeX{} \LaTeXe{}
\XeLaTeX 命令需要引入 xltxtra 标志宏包
\usepackage{xltxtra} % 提供了针对 XeTeX 的改进并且加入了 XeTeX 的 Logo
引号
` ’ `` ‘’
` % (键盘反引号)表示左单引号
' % (键盘单引号)表示右单引号
`` % (键盘两个反引号)表示左双引号
'' % (键盘两个单引号)表示右双引号
连字符
- – —
- % 一个减号 短 连字符
-- % 两个减号 中 连字符
--- % 三个减号 长 连字符
非英文字符
\oe \OE \ae \AE \aa \AA \o \O \l \L \ss \SS !` ?`
重音符号(以o为例)
\`o \‘o ^o \’'o \~o =o \.o \u{o} \v{o} \H{o} \r{o} \t{o} \b{o} \c{o} \d{o}