之前安装了Texlive,怎么用怎么不顺手,CJK没有预装,搜索了半天也不知道怎么安装CJK,结果选择卸载texlive换成另外一个发行版MiKTeX,结果安装过程中出现各种错误。
我服了,LaTeX这个东西真是折磨人。
因此我在这里记录一下 $\LaTeX$ 常用的代码以及排版手段
一、文档的设置
中文支持 - ctex宏包的安装和使用
建议使用MiKTeX + TeXStudio的方式联合编辑Tex文档,MiKTeX默认没有安装相关的ctex宏包,但是texlive默认是安装的。
MiKTeX 和 TeXStudio直接去官网下载就好,安装耗时大概1h。
关于ctex的安装我就不重复造轮子了,可以参考百度经验:https://jingyan.baidu.com/article/ff411625e229d512e482379c.html
载入ctex宏包的方式,可以选择两种方式:
1 2 3 4
| \documentclass[<参数>]{article} \usepackage{ctex} 或者 \documentclass[<参数>]{ctexart}
|
相关的较为细节的ctex使用方式请参考安装目录的pdf文件,下文只摘录常用的一些操作。
Document Classes
代码格式:
1
| \documentclass[<args>]{DocumentClass}
|
举例:
1
| \documentclass[a4paper, 12pt, portrait, oneside,UTF8]{article}
|
1. 文档类的相关设定
- article 排版科技期刊、短报告、程序文档、邀请函等。
- report 排版多章节的长报告、短篇的书籍、博士论文等。
- book 排版书籍。
- slides 排版幻灯片。其中使用了较大的 sans serif 字体。也可以考虑使用 FoilTEX 来得到相同的效果。
- ctexart 中文文档
- ctexbeamer 中文演示文稿
2. 文档类的选项参数
- 纸张大小(a4paper,a5paper,b4paper,letterpaper,legalpaper,executivepaper):默认的letterpaper 纸张常见于美国,和国内常用的A4 纸张的大小稍有差别,建议自己指定。
- 字体大小(10pt,11pt,12pt):默认为10pt。
- 纸张方向(portrait,landscape):默认为portrait(纵向),在屏幕阅读也许landscape(横向)更方便。
- 草稿定稿(draft,final):默认为final(定稿);如果是draft(草稿),页面内容有溢出时会显示粗黑条。
- 单面双面(oneside,twoside):对于article 和report 文档类,默认设置为单面,页码总是在右边;对于book 文档类,默认设置为双面,奇数页页码在右边,偶数页页码在左边,这样双面打印时页码总在外侧。
- 新章开始(openright,openany):仅对book 文档类有效,默认值为openright,即每章都从奇数页开始;如果设置为openany,则每章仅从新的一页开始,不管奇偶页。
- 字符编码:可以选择UTF8或者GBK等,但是GBK可能出现某些兼容性错误,建议使用UTF8
宏包相关的设定
使用宏包的时候,默认的形式是
1
| \usepackage[<参数>]{package_name}
|
1. ctex宏包的一些特殊设定
ctex包对中文文档有一些适应性支持,具体方式是通过\ctexset,例:
1 2 3 4
| \ctexset{ abstractname = {本文概要}, bibname = {文\quad 献} }
|
文章的导言区
在文章的导言区需要设置的一些基本信息包括:title,author,date等等,但是这些如果要显示在文档正文页面的话,需要在文档的主环境里调用\maketitle函数生成标题,标题的内容格式为content contain \title \author \date
举例:
1 2 3 4 5 6 7
| \title{这是标题} \author{这是作者} \date{2020/07/05}
\begin{document} \maketitle \end{document}
|
二、文档的排版与输入
此部分参考了JINGWHALE的文章:https://www.cnblogs.com/jingwhale/p/4250296.html
摘要
摘要的加入需要新建一个环境,典型使用方法为:
1 2 3 4 5 6 7 8 9
| \begin{doocument}
\maketitle \tableofcontents \begin{abstract} 这是摘要 \end{abstract}
\end{document}
|
注意由于ctex宏包的一些特殊设定,对中文文档做了一些适配,因此Abstract显示为“本文概要”。需要更改的话,就在\ctexset里面更改
因此我们得到了一个中文文档的最简单模板,即:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| \documentclass[]{article} \usepackage{ctex}
\ctexset{ abstractname = {本文概要}, bibname = {文\quad 献} }
\title{这是标题} \author{这是作者} \date{2020/07/05}
\begin{document}
\maketitle \tableofcontents \begin{abstract} 这是摘要 \end{abstract}
\end{document}
|
如果需要更自由地进行标题的编辑,则可以不生成标题 (不进行\maketitle),在document的环境内使用文本对齐来自行进行设计:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| \documentclass[a4paper, 12pt, portrait, oneside,UTF8]{article} \usepackage{ctex} \ctexset{ bibname = {文\quad 献} }
\begin{document}
\rule{\textwidth}{0.35mm} \begin{center} 姓名:aaa \par 学号:12345678 \par 课程:bbb\par 时间:2020/07/13\par \end{center} \rule{\textwidth}{0.35mm}
\end{document}
|
章节、段落与章
1. 默认格式
默认文档可以插入三级章节
1 2 3 4 5 6
| \section{这是一级章节}
\subsection{这是二级章节}
\subsubsection{这是三级章节}
|
默认文档可以插入二级段落
1 2 3 4 5
| \paragraph{这是一个段落} 这是一个段落的内容
\subparagraph{这是一个次级段落} 这是一个次级段落的内容
|
效果:

如果文档的类型是book,则提供了插入章节的方法
2. 自定义格式调整
要调整章节标题在目录页中的格式,可以用titletoc宏包。该宏包的基本命令参数如下:
1 2 3 4 5
| \usepackage{titletoc}
···
\titlecontents{标题层次}[左间距]{整体格式}{标题序号}{标题内容}{指引线和页码}[下间距]
|
换行与首行缩进
latex中文的ctex默认了有两个中文字符的首行缩进。
换行的时候可以通过一个空行或者\par来实现换行,这种情况下会有默认的首行缩进。
同时,也可以通过\\或者\newline的方式换行,这种情况下没有默认的首行缩进。
\\ 和 \newline 不能直接使用,需要放在文本的末尾,如:
1 2
| 文本文本文本。\newline 文本文本文本。\\
|
在第一行的首行缩进可能有些特殊,下面是如何在第一行使用首行缩进以及在文本中如何自由缩进:
1 2 3
| \setlength{\parindent}{2em} \indent \hspace{1.7em}
|
例:
1 2 3
| \hspace{1.7em}文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本 \indent 文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本 \setlength{\parindent}{2em}文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本
|
列表
列表环境有三种:无序列表(itemize)、有序列表(enumerate)和描述列表(description)。
- 使用Description类型的时候,适用于生成代码。
代码例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| \begin{document}
\begin{itemize} \item cell \item organ \item body \end{itemize}
\begin{enumerate} \item cell \item organ \item body \end{enumerate}
\begin{description} \item[python] print('hello world') \item[java] println('hello world') \item[r] vector <- c(data.xlsx) \end{description}
\end{document}
|
效果:

分割线
画一条横着的分割线需要用到\rule命令:
1 2 3 4
| \rule[水平高度]{长度}{粗细}
\rule[-10pt]{14.3cm}{0.05em} \rule{\textwidth}{0.35mm}
|
文本对齐
1. 一行对齐
1 2 3
| \leftline{左对齐} \centerline{居中} \rightline{右对齐}
|
2. 多行对齐
1 2 3
| \begin{flushleft}...\end{flushleft} \begin{center}...\end{center} \begin{flushright}...\end{flushright}
|
字体、格式及大小
1. 文本大小
| Command |
Nominal Point Size |
Exact Point Size |
| \tiny |
5 |
5 |
| \scriptsize |
7 |
7 |
| \footnotesize |
8 |
8 |
| \small |
9 |
9 |
| \normalsize |
10 |
10 |
| \large |
12 |
12 |
| \Large |
14 |
14.40 |
| \LARGE |
18 |
17.28 |
| \huge |
20 |
20.74 |
| \Huge |
24 |
24.88 |
使用举例:
1 2
| \Large 文本文本文本 \normalsize
|
2. 文本格式
字体颜色
1 2 3 4 5 6 7 8 9 10 11 12
| \usepackage{color}
\textcolor{color}{text} \textcolor[rgb]{r,g,b}{text} \textcolor[RGB]{R,G,B}{text} \color{color}{} ----------------
\textcolor{red/blue/green/black/white/cyan/magenta/yellow}{text}
\definecolor{ColorName}{rgb}{r,g,b} \definecolor{ColorName}{RGB}{R,G,B}
|
使用举例:
1 2 3 4
| \usepackage{xcolor} ··· \textcolor{blue}{Hello World} \textcolor[RGB]{255,0,255}{Hello World}
|
文字格式
1 2 3 4 5 6 7 8 9 10 11 12 13
| 显示直立文本: \textup{文本} 意大利斜体: \textit{文本} slanted斜体: \textsl{文本} 显示小体大写文本: \textsc{文本} 中等权重: \textmd{文本} 加粗命令: \textbf{文本} 默认值: \textnormal{文本} 下划线: \underline{文本} ----------------------------
(未解决)
|
利用宏包ulem可以实现其他的标记:
1 2 3 4 5 6 7
| \usepackage{ulem}
\uline{text} \uuline{text} \uwave{text} \sout{text} \xout{text}
|
上下标与引用文献
1. 正常地引用文献的方法
使用bibtex
2. 结合endnote使用文献的方法
我不太喜欢latex管理文献的方式,而且平常使用endnote管理文献,文献一多的话,latex就显得力不从心了。
因此我喜欢直接在word里面打草稿,并且直接使用endnote引用文献,最后copy到texstudio里面排版。
文献的上下标,可以直接使用公式格式:
在文章的末尾直接使用:
1
| \setlength{\parindent}{0em}\textbf{\Large \leftline{参考文献}} \newline
|
来标注参考文献