目录
前言
1. LaTex命令和代码结构
1.1 LaTex 命令
环境
1.2 代码结构
2. 文档类
3. 宏包
4. LeTex文件
4.1 文件的组织方式
4.3 调试排查错误
5. 排版文字
5.1 中文文字
5.2 ctex宏包与文档类
5.3 空格与分段
5.4 特殊字符输入
5.5 标点符号
5.5.1 连字号和破折号
5.6 文字强调
5.7 断行和断页
6. 结构化文档
6.1 章节标题
6.2 目录
6.3 文档结构
7. 交叉引用
8. 脚注和编注
9.特殊环境
9.1 例表
学习《一份(不太)简短的 L ATEX2ε 介绍》的学习笔记
我开始学习书本之前,安装了CTex与TeXstudio。下面仅是对《一份(不太)简短的 L ATEX2ε 介绍》的学习内容与自己体会。我尝试采用模板做过幻灯片,错误很多,花了很多时间,最后效果还不错,也学到了一些东西。之所以决定系统的学些知识,原因有三。一是想自己做点东西却无从下手,最基本的处理,都是靠瞎猜、试错、搜索;其二,现在花点时间学,是为以后的节省时间与精力;最后,掌握一个能力;忙,隔断时间,会像向这里面加内容
开始使用:
\documentclass{article}
\begin{document}
‘‘Hello world!’’ from \LaTeX.
\end{document}
结果如下:
\documentclass{article}
\begin{document}
\TeX users or \TeX{ } users? %加了很多空格,视为一个空格
\end{document}
结果如下:
注意{}的用法;
使一些效果在局部生效,或是生成特殊的文档元素;
用法:
\begin{⟨环境名⟩}{⟨对应参数⟩}
...
\end{⟨环境名⟩}
环境可以嵌套使用;
三部分,开头、导言、正文。如下:
\documentclass{article} %开头,规定文档类
%导言区,定义全局设置与调用包
\usepackage{} %调用包,
\begin{document}
Hello! %正文区
\end{document}
下面来看看,开头与导言中的,宏包与文档类
规定所要生成的文档是什么,如普通文章、书籍、演示文稿、个人 简历....
格式:
\documentclass[<可选参数>]{⟨文档类名⟩}
文档类:
可选参数,规定全局的排版系数,如以下例子:
\documentclass[11pt,twoside,a4paper]{article}
字号 | 10pt(默认) 、11pt、12pt ..... | |
纸张大小 | letterpaper(默认)、a4paper,、 a5paper、b5paper、executivepaper 、legalpaper.......... | |
行间公式对齐方式 | 居中对齐(默认)、fleqn(左对齐) | |
单面/双面排版 | twoside, oneside (article 和 report 默认为 oneside,book 默认为 twoside。) | |
单栏/双栏排版 | onecolumn(默认)、twocolumn | |
标题 | titlepage, notitlepage 指定标题命令 \maketitle 是否生成单独的标题页。article 缺省为 notitlepage,report 和 book 缺省为 titlepage。 | |
排版方向 | landscape(横向)、默认纵向 | |
公式编号位置 | 默认右边、leqno(左边) | |
草稿/终稿模式 | draft, final(默认) (草稿模式下,断行不良的地方会在行尾添加一个黑色方块) |
如使用中文、插入图片....,都需要调用宏包,作为LaTex功能扩展;
格式:
\usepackage[⟨可选参数⟩]{⟨宏包名⟩}
格式与文档类相似,但可以一次调用多个宏包,之间用逗号隔开
使用模板时,会看到文件夹中由很多文件,看下有什么
LeTex模板中
.sty 宏包文件。宏包的名称与文件名一致。
.cls 文档类文件。文档类名称与文件名一致。
.bib BIBTEX 参考文献数据库文件。
.bst BIBTEX 用到的参考文献格式模板
编译过程生成
.log 排版引擎生成的日志文件,供排查错误使用。
.aux LATEX 生成的主辅助文件,记录交叉引用、目录、参考文献的引用等。
.toc LATEX 生成的目录记录文件。
.lof LATEX 生成的图片目录记录文件。
.lot LATEX 生成的表格目录记录文件。
.bbl BIBTEX 生成的参考文献记录文件。
.blg BIBTEX 生成的日志文件。
.idx LATEX 生成的供 makeindex 处理的索引记录文件。
.ind makeindex 处理 。
.idx 生成的用于排版的格式化索引文件。
.ilg makeindex 生成的日志文件。
.out hyperref 宏包生成的 PDF 书签记录文件。
源代码过多时,类比一本书容易理解,会将源代码分成若干文件(类比章节),下面看分开后的是怎么组织起来的
\include{⟨文件名⟩}
当编译的主文件与其它文件不在同一目录下时,则要告诉计算机位置,方式如下:
\include{chapters/a.tex} % 相对路径
\include{/home/Bob/file.tex} % Linux/macOS 绝对路径
\include{D:/file.tex} % Windows 绝对路径,用正斜线
%可以不带扩展名,默认为.tex
但上述方法,(类比章节)会另起一页,如果不需要这样,仅是紧随其后排版,方法:
\input{<文件名>}
可以一次性就把所有载入,方法如下:
\includeonly{⟨文件1⟩,⟨文件2⟩,...}
显然,需要上面代码,放在导言区
调试排查错误时,全部运行,太慢;则可在导言区加上,下面代码:
\usepackage{syntonly}
\syntaxonly
作用,通过不生成DIV与PDF文档,提升速度;生成文档,记得注释%掉
输入以下代码:
\documentclass{article}
\usepackage{}
\begin{document}
Hello!中文LeTex
\end{document}
结果如下:
中文不见了!看来只有扩展LaTex功能,使它体现中文,前面谈过扩展要调用包,方法如下:
\documentclass{article}
%支持中文
\usepackage{xeCJK}
\setCJKmainfont{SimSun} %字体
\begin{document}
中文\LaTeX{}排版。
\end{document}
结果如下:
调用了xeCJK宏包,使用 xelatex 命令编译,用其它编译器会出错:
TeXstudio中,在选项窗口中:
当然还有其他方法,如下。
如下,与前面比较:
\documentclass{ctexart}
\begin{document}
中文\LaTeX{}排版。
\end{document}
ctex 宏包和文档类是对 CJK 和 xeCJK 等宏包的进一步封装。ctex 文档类包括 ctexart / ctexrep / ctexbook,是对 LATEX 的三个标准文档类的封装,对 L ATEX 的排版样式做了许多调整, 以切合中文排版风格。书中原话。
注:
行开头空格被忽略
多个空格与一个回车,视为,一个空格
分段:\par或者两个回车,注意换行是\\
多个空行,视为,一个空行
以下几个:
# $ % & { } _ ^ ~ \
输入方法:
\documentclass{ctexart}
\begin{document}
\# \$ \% \& \{ \} \_ \^{} \~{} \textbackslash
\end{document}
结果:
注:
\\是手动换行命令,所以要输入\\,用\textbackslash代替
\^ 和 \~ 需要带参数,加一对花括号(空参数)
连字号 - 用来组成复合词;短破折号 – 将数字连接表示范围;长破折号 — 作为破折号使用
\documentclass{ctexart}
\begin{document}
daughter-in-law, X-rated\\
pages 13--67\\
yes---or no?
\end{document}
结果如下:
省略号
\documentclass{ctexart}
\begin{document}
one, two, three, \ldots one hundred.
\end{document}
结果如下:
波浪号
\documentclass{ctexart}
\begin{document}
1\~{}3 \qquad 1$\sim$2
\end{document}
结果如下:
加下划线
An \underline{underlined} text.
结果:
换行下划线,ulem 宏包,\uline 命令
\documentclass{ctexart}
\usepackage{ulem}
\begin{document}
An example of \uline{some \\
long and underlined words.}
\end{document}
结果:
斜体
\documentclass{ctexart}
\begin{document}
Some \emph{emphasized words, including
\emph{double-emphasized} words}, are shown here.
\end{document}
结果:
注意:斜体注释掉ulem 宏包
单词间距和断行
断行的位置尽可能选取在两个单词之间,也就是你输入到源文件中的“空格”。 一般情况下,这个“空格”生成一个间距,它会根据行宽和文字自动调整,文字密一些的地方, 单词间距就略窄,反之略宽。 我们可以使用字符 ~ 在合适的位置插入一个不会断行的空格(高德纳称之为 tie,“带子”), 通常用在英文人名、图表名称等场景:书中原话
Fig.~2a \\
Donale~E. Knuth
结果:
手动断行与断页
手动断行
\\[⟨length⟩]
%或者
\newline
注:
\\ 可以带可选参数 〈length〉,用于在换行的地方增加垂直间距
\\ 可在表格、公式等地方用于分行
断页
\newpage
%或者
\clearpage
断词
显然用于英文单词,LeTex自动找断词位置,手动使用 \- 命令指定断词的位置
三 个标准文档类 article、report 和 book的章节分割命令,如下:
\chapter{⟨title⟩}
\section{⟨title⟩}
\subsection{⟨title⟩}
\subsubsection{⟨title⟩}
\paragraph{⟨title⟩}
\subparagraph{⟨title⟩}
注:
article中没有\charpter
一般只设置三级,如article可设:\section{〈title〉} \subsection{〈title〉} \subsubsection{〈title〉}
上述命令能够自动编号
上述命令都有,下面两种格式:
\section[⟨short title⟩]{⟨title⟩}%在目录和页眉页脚中使用 ⟨short title⟩ 参数
\section*{⟨title⟩} %标题不带编号,也不生成目录项和页眉页脚
使用命令:
\tableofcontents
注:
想自己生成目录:
使用\chapter* 或 \section*,除去自动生成目录;
在标题命令后面使用: \addcontentsline{toc}{〈level〉}{〈title〉}
其中 〈level〉 为章节层次 chapter 或 section 等,〈title〉 为出现于目录项的章节标题
所有文档类:
\appendix
将正文与目录分隔开,最高一级章节改为使用拉丁字母编号,从 A 开始;
book文档类,提供了前言、正文、后记结构的划分:
\frontmatter 前言部分,页码为小写罗马字母格式;其后的 \chapter 不编号。
\mainmatter 正文部分,页码为阿拉伯数字格式,从 1 开始计数;其后的章节编号正常。
\backmatter 后记部分,页码格式不变,继续正常计数;其后的 \chapter 不编号。
%以上三个命令还可和 \appendix 命令结合,生成有前言、正文、附录、后记四部分的文档
标题页
\title{⟨title⟩}
\author{⟨author⟩}
\date{⟨date⟩} %可选
%在 \title、\author 等命令内可以使用 \thanks 命令生成标题页的脚注,用 \and 隔开多个人名
注:
在信息给定后,就可以使用 \maketitle 命令生成一个简单的标题页。
book类文档示例:
\documentclass[...]{book}
% 导言区,加载宏包和各项设置,包括参考文献、索引等
\usepackage{...}
\usepackage{makeidx}
\makeindex
\bibliographystyle{...}
\begin{document}
\frontmatter
\maketitle % 标题页
\include{preface} % 前言章节 preface.tex
\tableofcontents
\mainmatter
\include{chapter1} % 第一章 chapter1.tex
\include{chapter2} % 第二章 chapter2.tex
...
\appendix
\include{appendixA} % 附录 A appendixA.tex
... \backmatter
\include{prologue} % 后记 prologue.tex
\bibliography{...} % 利用 BibTeX 工具生成参考文献
\printindex % 利用 makeindex 工具生成索引
\end{document}
标题页:
\title{Test title}
\author{ Mary\thanks{E-mail:*****@***.com}
\and Ted\thanks{Corresponding author}
\and Louis}
\date{\today}
使用文档模板前一定要仔细阅读文档模板的帮助文档。
先看效果:
在被交叉引用的地方,使用命令:
\label{⟨label-name⟩}
在别的地方使用时,使用命令:
\ref{⟨label-name⟩} \pageref{⟨label-name⟩}
生成交叉引用的编号和页码
注:(原文)
为了生成正确的交叉引用,一般也需要多次编译源代码。 \label 命令可用于记录各种类型的交叉引用,使用位置分别为:
章节标题 在章节标题命令 \section 等之后紧接着使用。
行间公式 单行公式在公式内任意位置使用;多行公式在每一行公式的任意位置使用。
有序列表 在 enumerate 环境的每个 \item 命令之后、下一个 \item 命令之前任意位置使用。
图表标题 在图表标题命令 \caption 之后紧接着使用。
定理环境 在定理环境内部任意位置使用。
在使用不记编号的命令形式(\section*、\caption*、带可选参数的 \item 命令等)时不要使用 \label 命令,否则生成的引用编号不正确。
脚注
在页面底部生成一个脚注,使用命令:
\footnote{⟨footnote⟩}
注:
有些情况下(比如在表格环境、各种盒子内)使用 \footnote 并不能正确生成脚注。
处理方法,先使用 \footnotemark 为脚注计数,再在合适的位置用 \footnotetext 生成脚注。
例如:
\documentclass{ctexart}
\begin{document}
\begin{tabular}{l}
\hline
“天地玄黄,宇宙洪荒。日月盈昃,辰宿列张。”\footnotemark \\
\hline
\end{tabular}
\footnotetext{表格里的名句出自《千字文》。}
\end{document}
效果:
编注
边栏位置生成边注,使用命令:
\marginpar[⟨left-margin⟩]{⟨right-margin⟩}
注:
如果只给定了〈right-margin〉,那么边注在奇偶数页文字相同;
如果同时给定了〈left-margin〉,则偶数页使用 〈left-margin〉 的文字。
例子:
\marginpar{\footnotesize 边注较窄,不要写过多文字,最好设置较小的字号。}
LaTex提供了基本的有序和无序列表环境 enumerate 和 itemize,都用 \item 标明每个列表项。enumerate 环境会自动对列表项编号。
\documentclass{ctexart}
\begin{document}
\begin{enumerate}
\item An item.
\begin{enumerate}
\item A nested item.
\label{itref}
\item[*] A starred item.
\end{enumerate}
\item Reference(\ref{itref}).
\end{enumerate}
\end{document}
效果:
例表,使用命令:
\begin{enumerate}
\item ...
\end{enumerate}
%其中 \item 可带一个可选参数,将有序列表的计数或者无序列表的符号替换成自定义的符号。列表可以嵌套使用,最多嵌套四层。
例表内容多,不好记,打算用时再翻书,就不在这里记录了;
看效果;