latex进阶

latex基础入门这篇文章已经介绍了latex的基本结构,下面将以类似本科论文的形式介绍latex语法

1 页面布局

一般使用geometry 宏包进行页面布局(包括页边距、纸张大小等)。
推荐使用 geometry 宏包:简单易用,功能强大。
如果需要更精细的控制,可以结合 \setlength 和 fancyhdr 宏包。
调整段落缩进和行距可以让文档排版更加美观。

1.1 纸张/页边距

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
\documentclass[UTF8,a4paper,12pt]{article} 
% 设置编码为UTF-8 a4纸张 字体为12pt
\usepackage{fancyhdr}
\usepackage{geometry}
\usepackage{setspace}

\setlength{\parindent}{2em} % 段落首行缩进
\setstretch{1.5} % 设置行距
\geometry{
papersize={宽度,高度}, % 自定义纸张大小
left=3cm, % 左边距 3cm
right=3cm, % 右边距 3cm
top=3.6cm, % 上边距 3.6cm
bottom=2.5cm % 下边距 2.5cm
}

1.2 页眉页脚

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
% 设置页眉页脚
\pagestyle{fancy} % 使用 fancy 页面样式
\fancyhf{} % 清空默认的页眉和页脚
\fancyhead[L]{左边页眉} % 在页眉左侧显示内容
\fancyhead[R]{右边页眉} % 在页眉右侧显示内容
\fancyfoot[C]{\thepage} % 在页脚居中显示页码

% \fancyhead[位置]{内容}:设置页眉内容。
% \fancyfoot[位置]{内容}:设置页脚内容。
% \thepage:当前页码。
% \leftmark:当前章节标题。
% \rightmark:当前小节标题。

% 动态页眉
\fancyhead[L]{\leftmark} % 页眉左侧显示章节标题
\fancyhead[R]{\rightmark} % 页眉右侧显示小节标题
% 双线页眉
\renewcommand{\headrulewidth}{0.4pt} % 页眉线宽度
\renewcommand{\footrulewidth}{0.4pt} % 页脚线宽度
% 奇偶页设置
\fancyhead[LE,RO]{奇数页和偶数页的不同页眉}
\fancyfoot[LE,RO]{\thepage}
\fancyhead[LE,RO]{\leftmark} % 偶数页左侧显示章节标题,奇数页右侧显示章节标题
\fancyhead[RE,LO]{\rightmark} % 偶数页右侧显示小节标题,奇数页左侧显示小节标题
\fancyfoot[C]{\thepage} % 页脚居中显示页码
\thispagestyle{empty}:%清除当前页的页眉和页脚。
\renewcommand{\headrulewidth}{0pt}:%清除页眉的横线(如果使用了 fancyhdr 宏包)。

2 样式排版

2.1 字体

常用字体样式命令

语法作用描述
\textrm{}将文本设置为罗马字体(Serif)。
\rmfamily声明命令,将其后的文本设置为罗马字体,直到作用域结束。
\textsf{}将文本设置为无衬线字体(Sans Serif)。
\sffamily声明命令,将其后的文本设置为无衬线字体,直到作用域结束。
\texttt{}将文本设置为等宽字体(Monospace)。
\ttfamily声明命令,将其后的文本设置为等宽字体,直到作用域结束。
\textup{}将文本设置为正常字体形状(非斜体、非小型大写字母)。
\upshape声明命令,将其后的文本设置为正常字体形状,直到作用域结束。
\textit{}将文本设置为斜体。
\itshape声明命令,将其后的文本设置为斜体,直到作用域结束。
\textsc{}将文本设置为小型大写字母。
\scshape声明命令,将其后的文本设置为小型大写字母,直到作用域结束。
\textmd{}将文本设置为正常粗细(非加粗)。
\mdseries声明命令,将其后的文本设置为正常粗细,直到作用域结束。
\textbf{}将文本设置为加粗。
\bfseries声明命令,将其后的文本设置为加粗,直到作用域结束。
\textnormal{}将文本重置为默认字体族、形状和粗细。
\normalfont声明命令,将其后的文本重置为默认字体族、形状和粗细,直到作用域结束。
\emph{}将文本设置为强调格式(通常是斜体,但具体效果取决于文档类)。
\underline{}为文本添加下划线。
\textsuperscript{}将文本设置为上标。
\textsubscript{}将文本设置为下标。
\fontfamily{<family>}设置字体族为指定的 <family>(如 cmr 表示 Computer Modern Roman)。
\fontseries{<series>}设置字体粗细为指定的 <series>(如 m 表示中等,b 表示加粗)。
\fontshape{<shape>}设置字体形状为指定的 <shape>(如 n 表示正常,it 表示斜体)。
\selectfont应用当前设置的字体族、粗细和形状。
\usefont{<enc>}{<family>}{<series>}{<shape>}直接使用指定的编码、字体族、粗细和形状。
\DeclareFixedFont{<cmd>}{<enc>}{<family>}{<series>}{<shape>}{<size>}定义一个固定字体命令 <cmd>
\mathnormal{}将数学模式中的文本设置为默认数学字体。
\mathrm{}将数学模式中的文本设置为罗马字体。
\mathbf{}将数学模式中的文本设置为加粗字体。
\mathsf{}将数学模式中的文本设置为无衬线字体。
\mathtt{}将数学模式中的文本设置为等宽字体。
\mathit{}将数学模式中的文本设置为斜体。
\mathcal{}将数学模式中的文本设置为花体(Calligraphic)。
\mathbb{}将数学模式中的文本设置为黑板粗体(Blackboard Bold)。
\mathfrak{}将数学模式中的文本设置为哥特体(Fraktur)。
\mathscr{}将数学模式中的文本设置为手写体(Script)。
\oldstylenums{}将数字设置为旧式数字(Old Style Numbers)。

2.2 字号

常用的快捷设置字号的命令:
LaTeX还提供了一个基础命令来设置任意大小的字号:

1
\fontsize{字号}{基础行距}

LaTeX 命令说明具体磅值(pt)对应 Word 字号
\tiny极小5 pt八号
\scriptsize脚注大小7 pt小六
\footnotesize脚注大小8 pt六号
\small小号9 pt小五
\normalsize正常大小(默认)10 pt五号
\large大号12 pt小四
\Large更大号14.4 pt四号

2.2.1 字号和磅值对应表

字号(Word 中显示)实际磅值(pt)
初号42 pt
小初36 pt
一号26 pt
小一24 pt
二号22 pt
小二18 pt
三号16 pt
小三15 pt
四号14 pt
小四12 pt
五号10.5 pt
小五9 pt
六号7.5 pt
小六6.5 pt
七号5.5 pt
八号5 pt

2.3 段落

2.3.1 首行缩进

在 LaTeX 中,段落的首行缩进是默认行为,通常不需要额外设置。但如果需要手动控制首行缩进,或者取消首行缩进,可以使用以下方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
\noindent这是第二段的内容。这是第二段的第二行。% 如果不需要首行缩进,可以使用 `\noindent` 命令。

\setlength{\parindent}{2em}

这是第一段的内容。这是第一段的第二行。

这是第二段的内容。这是第二段的第二行。
% 每个段落的第一行会缩进 2em。


\documentclass{article}
% 全局取消首行缩进
\setlength{\parindent}{0pt}

\begin{document}

2.3.2 悬挂缩进

如果需要实现悬挂缩进(即第一行不缩进,后续行缩进),可以使用 以下 命令。

1
2
3
\hangindent=2em \hangafter=1
这是一个悬挂缩进的段落。这是第一行,从第二行开始会缩进 2em。

2.3.3 行距

LaTeX 的默认行距是 1.2 倍字体高度(即 1.2 倍行距)。

  • 使用 \linespread 设置全局行距
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    \documentclass{article}
    % 设置全局行距为 1.5 倍
    % \linespread{⟨倍数⟩}
    % 如果使用 \linespread,建议在导言区(`\begin{document}` 之前)设置。

    \linespread{1.5}

    \begin{document}
    这是第一段的内容。这是第一段的第二行。

    这是第二段的内容。这是第二段的第二行。
    \end{document}

  • 使用 setspace 包设置行距
    setspace包提供了更灵活的行距设置方式,支持单倍、1.5 倍和双倍行距。
    1
    2
    3
    4
    5
    6
    \begin{spacing}{1.0}
    这是单倍行距的内容。这是第一段的第二行。
    \end{spacing}
    \begin{spacing}{1.5}
    这是 1.5 倍行距的内容。这是第一段的第二行。
    \end{spacing}
    后续更新!!!