LaTex学习

LaTex文章总览:

导言区 (Preamble)

导言区是在 \documentclass 命令和 \begin{document} 命令之间的部分。它通常用于设置文档的全局参数,如文档类别 (\documentclass{})、加载宏包 (\usepackage{})、定义命令和环境、设置页面布局、指定文档的标题、作者等信息。导言区中的内容对整个文档都起作用,它们定义了文档的基本结构和格式。

1.文档类别:

\documentclass{article}
%用于普通的学术文章、报告、短文等
\documentclass{report}
%适合长一些的报告、大论文,通常包含章节和章节层级。
\documentclass{book}
%用于书籍、书稿,支持更复杂的结构,如章节、目录、前言、附录等
\documentclass{proc}
%用于会议论文集或学术会议记录。

不同文章类别的作用,详细解释如下(建议大致看一下就好)

​不同的文档类别 (\documentclass{}) 在 LaTeX 中会影响到正文的结构和排版方式,具体影响如下:

article 文档类:
  适合撰写简短的学术文章、报告、短文等。常见的特点是不分章节,直接从标题开始,仅包含部分的节 (\section{}) 和子节 (\subsection{}) 级别的标题。不会有章 (\chapter{}) 这一级别的结构。

report 文档类:
  适合撰写较长的报告、学位论文等。这个文档类支持章节结构,即可以使用 \chapter{}、\section{}、\subsection{} 等命令来组织文档。每个章节有单独的页眉和页脚,章节标题会自动编号,通常包含目录、参考文献和可能的附录等部分。

book 文档类:
  适合撰写书籍或更复杂的文档。与 report 类似,但提供了更多的功能和更复杂的章节结构。书籍类文档支持更深层次的章节划分,例如可以有 \part{}、\chapter{}、\section{}、\subsection{} 等,每个部分有独立的页眉和页脚,同时会生成更详细的目录和索引。

proc 文档类:
  用于会议论文集或学术会议记录。这个文档类通常与会议论文的特定格式要求相匹配,可能包含特定的标题样式、作者信息格式、页眉页脚设置等,以符合会议出版的要求。
每种文档类别的选择会影响到文档的整体结构、章节层级、页面布局、标题样式、页眉页脚的设置等方面。因此,在选择文档类别时,应根据文档的具体需求来决定,以确保最终输出的文档符合预期的结构和格式要求。

​

2.宏包

宏包:用于扩展 LaTeX 文档功能的集合

语法:

\usepackage[option]{package}
%option是可选参数。
%package是加载的宏名。

有时候把[]省略是由于大多数宏包在加载时都有一组默认选项,如果不需要修改这些选项,可以直接省略 [options] 部分

\usepackage{package}

常见的宏包

1.geometry宏包

\usepackage[a4paper,left=10mm,right=10mm,top=15mm,bottom=15mm]{geometry}
%宏包 geometry 允许调整页面布局参数,例如页面尺寸和边距
  • a4paper:指定页面尺寸为 A4 纸大小。
  • left=10mm:左边距为 10mm。
  • right=10mm:右边距为 10mm。
  • top=15mm:上边距为 15mm。
  • bottom=15mm:下边距为 15mm。

2.amsmath宏包

\usepackage{amsmath}
% amsmath 宏包扩展了 LaTeX 的数学排版功能,提供了许多增强数学公式和环境的命令。通常在 LaTeX 文档中,数学公式的编写离不开这个宏包。

3.comment 宏包

\usepackage{comment}
%使用多行注释语法时候需要用到comment宏包


例如:
\usepackage{comment}
...
\begin{comment}
这里是需要注释的多行内容。
可以包括任意的 LaTeX 代码,这些内容将被完整地注释掉。
\end{comment}

4.hyperref宏包

\usepackage{hyperref}
\hypersetup{
    colorlinks=true,        % 使用彩色链接
    linkcolor=blue,         % 内部链接的颜色
    urlcolor=blue,          % URL 的颜色
    citecolor=blue          % 引用的颜色
}

5.ctex宏包

\usepackage[UTF8]{ctex}
%一个用于处理中文文档的宏包

3.文章标题

\title{Cryptography}
%文章标题为Cryptography

4.文章作者

\author{Killer}
%文章作者为killer

5.文章时间

\date{\today}
%表示文章的时间是今天
%\today 是 LaTeX 的内置命令,会自动显示当前的日期,格式为默认的本地日期格式(通常为年-月-日)

如果需要设置具体的日期而非当前日期,可以手动输入日期,例如 \date{2024-07-06}。

正文区 (Main Document)

正文区从 \begin{document} 开始到 \end{document} 结束。这部分包含了文档的实际内容,如段落、章节、列表、数学公式、表格、插图等。正文区是文档的核心部分,其中的内容决定了最终输出的文档内容。

\begin{document}
    这里面被包裹的部分都是正文区的内容

\end{document}

1.目录:

\renewcommand{\contentsname}{目录}
%用于设置目录的标题内容
%处于导言区

\renewcommand 是 LaTeX 中用于重新定义命令的命令。
\contentsname 是 LaTeX 默认用于生成目录标题的命令。通过使用 \renewcommand,我们将它的输出从默认的 "Contents" 修改为 "目录"。这样,在生成文档目录时,目录标题将显示为 "目录" 而不是默认的 "Contents"。

\tableofcontents
%用于定位目录生成的位置

当我们在latex正文区里面使用\tableofcontents命令时,会经历以下过程:

  1. 收集信息: 遍历整个文档,收集所有的章节标题(\section)、子标题(\subsection)和它们对应的页码等信息。

  2. 生成目录: 根据收集到的信息,会在这个命令出现的地方,生成一个结构化的目录,列出文档中的各个章节和子章节,每个条目通常包括章节标题和页码

2.大标题生成

生成标题使用\maketitle命令

\begin{document}
    \maketitle
%通常\maketitle紧跟在\begin{document}之后
\end{document}

%标题通常包括文档的标题、作者和日期等信息。\maketitle 命令会根据在文档中设置的标题信息,自动排版并
%生成标题部分。

一般而言,在 LaTeX 文档中使用 \maketitle 前需要通过一些命令设置文档的标题信息,比如:

  • \title{}:设置文档的标题。
  • \author{}:设置文档的作者。
  • \date{}:设置文档的日期
    用法类似目录

3.摘要

\begin{abstract}
		this is the abstract of the article,and I will introduce to you the basic thing of         
    the article to you. You can briefly read this part to have a totally view of this paper.
\end{abstract}

4.换行换段换页

换行

1.\\ :换行,一般在一行的最后写。
2.\\[offset] :换行,并且与下一行的行间距为原来行间距+offset,offset单位一般是empt

注:

em 是一个相对长度单位,等于当前字体的字母 'M' 的宽度;p 是一个绝对长度单位,等于点(即 1/72.271/72.27 英寸)

换段

1.代码与代码之间空一行即可进行换段。

2.也可以使用代码\par进行换段,应该在段落末尾使用。

换页

使用\newpage进行换页,在一页的最后写。

5.标题设置

\section{这是一个一级标题}
\subsection{这是一个二级标题}
\subsubsection{这是一个三级标题}

6.注释

单行注释:

%后面跟的内容默认都是注释

多行注释:

\begin{comment}
	This is Multi-line comments.
    这是一个多行注释
\end{comment}
%前提需要引入\usepackage{comment}

7.脚注:

\footnote[]{}

[]里面表示标注的符号,一般直接忽略,默认情况下使用阿拉伯数字。

{}表示标注的内容。

Cristiano Ronaldo dos Santos Aveiro\footnote{a famous football player}

效果图:

8.引用

\begin{quote}
    里面的内容通常被称为引用体
    {\sffamily Your love makes me strong,} your hate makes me unstoppable.
%{}通常用于限定一些命令的作用范围。例如上,前半部分是\sffamilly格式,后面则是默认格式
\end{quote}

9.文本内容设置

1.字体形式:

语法为:{\设置字体的形式 内容}
设置字体的形式:
常见中文有:
{\songti 宋体}
{\heiti 黑体}
{\fangsong 仿宋}
{\kaishu 楷书}
英文有:
{\rmfamily Times New Roman 是一种经典的衬线字体,适合于正式的文档和印刷品。}
{\sffamily Arial 是一种无衬线字体,清晰易读,常用于数字显示和屏幕阅读。}
{\ttfamily Courier New 是一种等宽字体,用于编程或排版需要对齐的文本。}

2.字体大小:

从小到大顺序依次为:
{\tiny 超级小} 
{\scriptsize 很小} 
{\footnotesize 较小} 
{\small 小} 
{\normalsize 中} 
{\large 大} 

3.字体颜色:

需要导入宏包\usepackage{xcolor}

用法一:

\textcolor{red}{这是红色的文本。}

用法二:

\definecolor{mycolor}{rgb}{0.2, 0.6, 0.9} % 自定义一个名为 mycolor 的颜色,RGB 值为 (0.2, 0.6, 0.9)

写在导言区

\textcolor{mycolor}{这是自定义颜色的文本。}

在正文区可以使用

10.链接与超链接

1.链接:

需要宏包:

\usepackage{url}

在文档正文区的任何位置,使用 \url{} 命令来插入链接。

\url{http://www.baidu.com}

2.超链接:

需要宏包:

\usepackage{hyperref}

在文档正文区中使用 \href{URL}{文本} 来创建超链接,其中 URL 是你要链接到的网址,文本 是你希望显示的内容。

\href{http://www.baidu.com}{点击这里访问百度}

11.图片

需要宏包:

\usepackage{graphicx}

插入图片:

\begin{figure}[htbp]
    \centering
    \includegraphics[width=0.6\linewidth]{example-image}
    \caption{这是示例图片}
    \label{fig:example}
\end{figure}

解释:

\begin{figure} 和 \end{figure} 之间的内容用来创建一个浮动体(floating element),即可以自动在页面上选择合适的位置放置图片、表格等内容。
[htbp] 是放置选项,指定了图片可以放置的位置优先级,依次是 here(当前位置)、top(页面顶部)、bottom(页面底部)、page(单独一页)。LaTeX 会根据文档整体布局自动选择最佳位置。
\centering 命令将后续内容居中放置。在 figure 环境中,这将图片和标题都居中显示。
\includegraphics[<选项>]{<图片文件路径>}
% \includegraphics 所处的位置表示要插入图片的位置
%<选项> 是可选的,用于设置图片的大小、旋转角度等参数。
%<图片文件路径> 是图片文件在计算机中的路径。

使用 width=<长度> 或 height=<长度> 可以指定图片的宽度或高度,长度可以是绝对尺寸(如 5cm)或相对尺寸(如 0.5\textwidth 表示文本宽度的一半)。

\caption{} 命令用于给图片添加标题。
{这是示例图片}:是图片的标题文本内容。标题会显示在图片的下方,并且可以自动编号(依赖于文档类的设置)。
\label{} 命令用于为图片添加标签,以便在文中引用这张图片。
{fig:example}:是图片的标签名称。可以使用 \ref{fig:example} 在文中引用该图片的编号。

例如:如图 \ref{fig:example} 所示,这是一个示例图片。

当编译文档时,LaTeX会将\ref{fig:example}替换为对应图片的编号,例如"1",从而显示为:"如图 1 所示,这是一个示例图片。"

12.表格

推荐使用:在线生成LaTeX表格https://www.tablesgenerator.com/可以从Excel里面粘贴或导入,可以实现单元格合并,而且会在合并行或合并列的时候提醒要引入对应的宏包。

13.数学(math):

需要宏:

\usepackage{amsmath}

推荐:

常用数学符号的LaTeX表示方法https://blog.csdn.net/lilongsy/article/details/79378620

或者使用在线网站进行公式编辑:

在线LaTeX公式编辑器-编辑器 (latexlive.com)https://www.latexlive.com/

14.代码块:

需要宏:

\usepackage{listings}

正文区域(python为例):

\begin{lstlisting}[language=Python]
def fun():
    print("Hello, world!")

fun()
\end{lstlisting}

15.脚注:

\footnote[]{}

[]里面表示标注的符号,一般直接忽略,默认情况下使用阿拉伯数字。

{}表示标注的内容。

Cristiano Ronaldo dos Santos Aveiro\footnote{a famous football player}

效果图:

16.参考文献的引用:

不好用图片等说明:推荐看一下这位博主的视频。

最容易的LaTeX插入参考文献方法---使用BibTex文件(TeXstudio演示)_哔哩哔哩_bilibili

\begin{document}

\section{Introduction}

密码学是研究编制密码和破译密码的技术科学 \cite{b1},在现代特别指对信息以及其传输的数学性研究,常被认为是数学和计算机科学的分支,和信息论也密切相关。 \cite{b2}。

\section{References}

% 参考文献列表
\bibliographystyle{plain}
\bibliography{reference.bib}

\end{document}

接下来需要创建一个名为 sample-bib.bib 的BibTeX文件,用于存储你的参考文献信息。

引用颜色的设置:

\usepackage[colorlinks,bookmarksopen,bookmarksnumbered,citecolor=green, linkcolor=red, urlcolor=blue]{hyperref}


% citecolor为参考文献颜色,linkcolor为图表和公式引用的颜色,urlcolor为超链接颜色。

15.标签

\label{} 
%是一个在LaTeX中用来标记某个位置或对象的命令。它通常与 \ref{} 或者 \pageref{} 结合使用,用于在文
%档中引用这些标签所标记的位置或对象。

	\section{Introduction}\label{sec:intro}
	这是一个简单的介绍部分。
	
	\section{Main Content}
	这里是主要内容部分。我们可以引用第 \ref{sec:intro} 节中的内容。

输出为:

相关推荐
南宫生4 小时前
力扣-图论-17【算法学习day.67】
java·学习·算法·leetcode·图论
sanguine__5 小时前
Web APIs学习 (操作DOM BOM)
学习
数据的世界017 小时前
.NET开发人员学习书籍推荐
学习·.net
四口鲸鱼爱吃盐7 小时前
CVPR2024 | 通过集成渐近正态分布学习实现强可迁移对抗攻击
学习
OopspoO9 小时前
qcow2镜像大小压缩
学习·性能优化
A懿轩A10 小时前
C/C++ 数据结构与算法【栈和队列】 栈+队列详细解析【日常学习,考研必备】带图+详细代码
c语言·数据结构·c++·学习·考研·算法·栈和队列
居居飒10 小时前
Android学习(四)-Kotlin编程语言-for循环
android·学习·kotlin
kkflash310 小时前
提升专业素养的实用指南
学习·职场和发展
1 9 J11 小时前
数据结构 C/C++(实验五:图)
c语言·数据结构·c++·学习·算法
6.9412 小时前
Scala——身份证号码查询籍贯
学习·scala