• Latex 入门教程


    Latex 入门教程

    学习途径:LaTex入门_哔哩哔哩_bilibili

    运行环境:texlive2021、texstudio-4.1.2-win-qt6

    1. 基本结构

    整个 Latex 文件分为两个部分,第一个部分为导言区,第二个部分为正文区。具体内容如下

    % 导言区
    \documentclass{article}  %book, report, letter
    
    \title{数字孪生}
    \author{xiaxiang}
    \date{\today}
    % 显示中文包
    \usepackage{ctex}
    
    % 正文区 有且只有一个 document 环境
    \begin{document}
    	% 让 title 显示出来
    	\maketitle
    	
    	第一小节
    \end{document}
    

    第一节课

    2. 中文处理

    1. 设置编辑器,查看 选项-》设置-》构建-》默认编辑器-》XeLaTex
    2. 确保 Latex 源文件为 UTF-8 格式,才能支持中文,选项在 Texstudio 编辑器右下角

    第二节课1

    1. 导入中文宏包,\usepackage{ctex}

    查看各类相关文档 texdoc xxx

    • texdoc ctex
    • texdoc lshort-zh这份资料是 Latex 中文的入门教程,很不错

    3. 字体设置

    在 Latex 中,一个字体有五种属性,字体编码,字体族,字体系列,字体形状,字体大小

    相关设置如下

    % 一般只有 10-12 磅,[12pt] 代表正常字体的大小
    \documentclass{article}[12pt]  %book, report, letter
    
    \usepackage{ctex}
    
    % 推荐使用字体方式为 自定义字体,而非使用系统字体
    \newcommand{\myfont}{\textrm{\textmd}}
    
    % 有且只有一个 document 环境
    \begin{document}
    	
    	% 字体系列 (罗马字体,无衬线字体、打字机字体)
    	\textrm{Roman Family} \textsf{Sans Serif Family} \texttt{Typewriter Family}
    	
    	% 字体作用域
    	{\rmfamily Roman Family} {\sffamily Sans Serif Family} {\ttfamily Typewriter Family}
    	\sffamily Hello global 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} {\scshapeSmall Caps Shape }
    	
    	% 中文字体
    	{\songti 宋体} \quad {\heiti 黑体}  \quad {\fangsong 仿宋}  \quad {\kaishu 楷书}
    	
    	% 字体大小 tiny scriptsize footnotesize small normalsize large Large LARGE huge Huge
    	{\tiny Hello}
    	{\zihao{5} 你好}
    \end{document}
    

    更加详细的文档可以参考 texdoc ctex。其中需要注意的是在

    1. documentclass 处可以设置 normal font size
    2. 在使用时一般自定义字体,而不是直接使用系统字体

    4. 篇章结构

    1. section、subsection、subsubsection 构成篇章结构,\tableofcontents构成目录
    \begin{document}
    		% 目录
    	\tableofcontents
    	
    	% \chapter{绪论}
    	\section{引言}
    	
    	% \par 分段 \\ 换行 通常使用空行
    	\section{实验方法}
    	\section{实验结果}
    	\subsection{数据}
    	\subsection{图表}
    	\subsubsection{实验条件}
    	\subsubsection{实验过程}
    	\subsection{结果分析}
    	\section{结论}
    	\section{致谢}
    	
    \end{document}
    

    空行可以进行分段;\par也可以进行分段,开头会空两格;\\ 不会分段,只会换行,开头不会空两格

    第四节1

    1. 使用\chapter也可以分章节,但是这时候文档类别得设置成 book,在这种情况下 subsubsection会无效
    2. 如果想自定义标题样式,可以设置 \ctexset,具体实现方法见 texdoc ctex

    5. 特殊字符

    1. 空白符合
    % 空行分段,多个空行等同一个
    % 自动缩进,绝对不能使用空格代替
    % 英文中多个空格处理为一个空格,中文中空格将被忽略
    % 汉字与其他字符的间距会自动由 XeLaTeX 处理
    % 禁止使用中文全角空格
    
    \quad % 1em
    \qquad % 2em
    \,  \thinspace % 1/6em
    \enspace % 0.5em
    \  % 空格
    ~  % 硬空格(不能分割得空格)
    \kern 1pc % 1pc=12pt=4.218mm 自定义长度得空格
    \kern -1em % 使用负号长度
    \\hskip 1em % 自定义
    \hspace{35pt} % 自定义
    \hphantom{xyz} % 占位宽度
    \hfill % 弹性长度空白
    
    1. 控制符
    % 转义这些符合
    \# \$ \% \{ \} \~{} \_{} \^{} \&
    \textbackslash % 转义 \\,原因 \\ 代表换行
    
    1. 排版符号,\S \P \dag \ddag \copyright \pounds

    2. 标识符号,\Tex{} \LaTeX{} \LaTeXe{}

    3. 引号

    % 左边的单引号和双引号
    ` ``
    % 右边的单引号和双引号
    ' ''
    
    1. 连字符 - -- ---

    2. 非英文字符 \oe \OE \ae \AE \aa \AA \o \O \l \L \ss \SS !

    3. 重音符号,以 o 为例

    \`o \'o \^o \''o \~o \=o \.o \u{o} \v{o} \H{o} \r{o} \t{o} \b{o} \c{o} \d{o}
    

    6. 插图

    使用插图先安装宏包,在引入图片路径,最后引用

    1. 使用宏包和引入图片路径
    % 引入图片宏包
    \usepackage{graphicx}
    % 可以指定多个路径
    \graphicspath{{figures/}, {pics/}}
    
    1. 插入图片,使用图片时可不用写图片后缀,支持 EPS,PDF,PNG,JPEG,BMP
    \includegraphics{img2.jpg}
    % 不带后缀也可以
    \includegraphics{tiger}
    % 缩放旋转
    \includegraphics[scale=0.3]{tiger}
    

    第6节

    第六节2

    命令细节 texdoc graphicx

    7. 表格

    表格有专门的环境:tabular

    \begin{document}
    	% | 表示表格竖线 || 双竖线
    	\begin{tabular}{|| l | c || c | c | p{1.5cm} ||}
    		% hline 表示一条横线,两个为双横线
    		\hline
    		姓名 & 语义 & 数学 & 外语 & 备注 \\
    		\hline \hline
    		张三 & 15 & 10 & 20 & 好 \\
    		李四 & 20 & 5 & 8 & 及格 \\
    		王五 & 15 & 10 & 20 & 好 \\
    	\end{tabular}
    
    \end{document}
    

    第七节

    需要注意的是这些符号

    • l c r p:l 表示左对齐,c 表示中心对齐,r 表示右对齐,p表示指定宽度
    • \hline 表示一条横线,连续两个为双横线。 | 表示竖线,|| 表示双竖线
    • & 分割一行中的每项数据
    • \\ 表示换行

    详细细节可以看texdoc booktab, texdoc longtab, texdoc tabu

    8. 浮动体

    举两个例子,图像和表格,分别有自己的浮动环境

    % 一般只有 10-12 磅
    \documentclass{article}[12pt]  %book, report, letter
    
    \usepackage{graphicx}
    \graphicspath{{figures/}}
    \usepackage{ctex}
    
    % 有且只有一个 document 环境
    \begin{document}
    	
    	这是一只可爱的猫(图\ref{fig-tiger})
    	
    	\begin{figure}[htbp]
    		\centering
    		\includegraphics[scale=0.3]{tiger}
    		\caption{tiger} \label{fig-tiger}
    	\end{figure}
    
    	图像学基础(图\ref{fig-graphics})
    
    	\begin{figure}[htbp]
    		\centering
    		\includegraphics[scale=0.3]{img2}
    		\caption{tiger} \label{fig-graphics}
    	\end{figure}
    
    	这是三年级五班的成绩(表\ref{tab-score})
    		
    	\begin{table}[h]
    		\centering
    		\caption{考试成绩单} \label{tab-score}
    		\begin{tabular}{|| l | c || c | c | p{1.5cm} ||}
    			% hline 表格恒星,两个为双横线
    			\hline
    			姓名 & 语义 & 数学 & 外语 & 备注 \\
    			\hline \hline
    			张三 & 15 & 10 & 20 & 好 \\
    			李四 & 20 & 5 & 8 & 及格 \\
    			王五 & 15 & 10 & 20 & 好 \\
    			\hline
    		\end{tabular}
    	\end{table}
    \end{document}
    

    第8节

    解释下其中代码含义

    • figure 和 table 分别是表格和图像的浮动布局,用来设置两种元素的位置
    • [htbp] 表示允许的位置,h,此处;t,页顶;b,页底;p,独立一页;默认tbp
    • \centering 表示横向剧中
    • \caption 表示标题
    • \label 表示当前图的表示,可以在其他地方引用,达到交叉引用的效果

    图和表分别计算,从 1 自动往后递增。扩展:标题控制(caption,bicaption等)、并排与子图表(subcaption、subfig、floatrow等)、绕排(picinpar、wrapfig等)

    9. 数学公式

    排版内容分为文本模式和数学模式。文本模式用于普通文本排版,数学模式用于数学公式排版

    \begin{document}
    	
    	\section{简介}
    	
    	排版内容分为文本模式和数学模式。文本模式用于普通文本排版,数学模式用于数学公式排版。
    	
    	\section{行内公式}
    	\subsection{美元符号}
    	$a+b=c=d+f=e$
    	\subsection{小括号}
    	\(a+b=c=d+f=e\)
    	\subsection{math环境}
    	\begin{math}
    		a+b=c=d+f=e
    	\end{math}
    
    	\section{上下标}
    	$x^3_1 + 3x^2_2 + 2x_{11} + 9 = 0$
    	
    	\section{希腊字母}
    	$\alpha$ $\beta$ $\gamma$ $\epsilon$ $\pi$ $\omega$ $\Gamma$ $\Delta$ $\Theta$ $\Pi$
    	
    	$\alpha^2 + \beta^2 +\gamma^2 = 1$
    	
    	\section{数学函数}
    	$\log$ $\sin$ $\cos$ $\arcsin$ $\arccos$ $\ln$
    	
    	$ y=\log_2{n} + \sqrt[3]{m} + \sin^-1$
    	
    	\section{分式}
    	$a/b \frac{3}{8}$
    	
    	\section{行公式}
    	\subsection{美元符号}
    	$$
    		y=\log_2{n} + \sqrt[3]{m} + \frac{3}{8}
    	$$
    	
    	\subsection{中括号}
    	\[	y=\log_2{n} + \sqrt[3]{m} + \frac{3}{8}\]
    	
    	\subsection{displaymath}
    	\begin{displaymath}
    		y=\log_2{n} + \sqrt[3]{m} + \frac{3}{8}
    	\end{displaymath}
    	\subsection{自动编号公式equation环境(如公式\ref{eq:y1})}
    	\begin{equation}
    		y=\log_2{n} + \sqrt[3]{m} + \frac{3}{8}
    		\label{eq:y1}
    	\end{equation}
    
    \end{document}
    

    第9节

    第9节2

    注意解释的只有最后一个自动编号公式,该公式可以提取出当前公式序号,达到交叉引用的效果

    10. 矩阵排版

    矩阵运算需要有数学公式的环境,因此可以用到第 9 节的行外公式,首先介绍各种矩阵

    	$
    	\begin{matrix}
    		0 & 0 \\
    		1 & 1
    	\end{matrix}
    	$ \ 
    	$
    	\begin{pmatrix}
    		0 & 0 \\
    		1 & 1
    	\end{pmatrix}
    	$ \ 
    	$
    	\begin{bmatrix}
    		0 & 0 \\
    		1 & 1
    	\end{bmatrix}
    	$ \ 
    	$
    	\begin{Bmatrix}
    		0 & 0 \\
    		1 & 1
    	\end{Bmatrix}
    	$ \ 
    	$
    	\begin{vmatrix}
    		0 & 0 \\
    		1 & 1
    	\end{vmatrix}
    	$ \ 
    	$
    	\begin{Vmatrix}
    		0 & 0 \\
    		1 & 1
    	\end{Vmatrix}
    	$
    

    第10节

    上述分别为各种矩阵的环境,矩阵内同样可以进行各种计算

    	$$
    	\begin{bmatrix}
    		a^2_{11} & a^2_{12} & a^2_{13} \\
    		0 & a^2_{22} & a^2_{23} \\
    		0 & 0 & a^2_{33} \\
    	\end{bmatrix}
    	$$
    

    第10节1

    也可以写各种省略符号

    	\newcommand{\adots}{\mathinner{\mkern2mu%
    		\raisebox{0.1em}{.}\mkern2mu\raisebox{0.4em}{.}%
    		\mkern2mu\raisebox{0.7em}{.}\mkern1mu}}
    	
    	$$
    	A = \begin{bmatrix}
    		a^2_{11} & \dots & a^2_{1n} \\
    		 \adots & \ddots & \vdots \\
    		 &  & a^2_{nn} \\
    	\end{bmatrix}_{n \times n}
    	$$
    

    第10节2

    结合分块矩阵和长省略号可得

    	$$
    	\begin{bmatrix}
    		a_{11} & a_{12} & \dots & a_{1n} \\
    		\hdotsfor{4} \\
    		& & \ddots & \vdots \\
    		\multicolumn{2}{c}{\raisebox{1.3ex}[0pt]{\Huge 0}}  &  & a^2_{nn} \\
    	\end{bmatrix}
    	$$
    

    第10节4

    使用 array 可以表示更为复杂的矩阵

    $$
    	\begin{array}{c@{\hspace{-5pt}}l}
    		\left(
    			\begin{array}{ccc|ccc}
    					a & \cdots & a & b & \cdots & b \\
    					 & \ddots & \vdots & \vdots & \adots \\
    					 & 		  & a & b \\
    					 &		  &   & c & \cdots & c \\
    					 &		  &	  & \vdots & & \vdots \\
    					 \multicolumn{3}{c}{\raisebox{2ex}[0pt]{\Huge 0}} & c & \cdots & c
    			\end{array}
    		\right)
    		&
    		\begin{array}{l}
    			\left.\rule{0mm}{7mm} \right\}p\\
    			\\
    			\left. \rule{0mm}{7mm} \right\}q
    		\end{array}
    		\\[-5pt]
    		% 第二行
    		\begin{array}{cc}
    			\underbrace{\rule{17mm}{0mm}}_m &
    			\underbrace{\rule{17mm}{0mm}}_m
    		\end{array}
    	\end{array}
    	$$
    

    第10节3

    解析这个表达式

    1. 最外层套了一个 array,它包括矩阵、pq 和两个 m。大框架就已经确定了
    2. 矩阵为一个 array,它包括 a、b、0 和 c
    3. 只要把整体结构把握好,还是比较容易看出拼凑的逻辑

    11. 多行数学公式

    多行公式的环境有,gather|gather*, alig|align*, split, case

    % 有且只有一个 document 环境
    \begin{document}
    	% 带编号的公式
    	\begin{gather}
    		a+b=b+a \notag \\
    		ab = ba
    	\end{gather}
    
    	% 不带编号
    	\begin{gather*}
    		a+b=b+a \\
    		ab = ba
    	\end{gather*}
    
    	% align 环境带编号
    	\begin{align}
    		x & = a + \cos(b) + \sin(c) \\
    		y & = 1 \\
    		z & = \frac{20}{79} \times 987
    	\end{align}
    
    	\begin{align*}
    		x &= t &  x &= \cos y \\
    		y &= u &  y &= \sin (u+1)
    	\end{align*}
    	
    	% split 对齐方式与 align 一致,但整体属于一个公式
    	\begin{equation}
    	\begin{split}
    		\cos 2x &= \cos^2 x - \sin^2 x \\
    		 &= 2\cos^2 x -1
    	\end{split}
    	\end{equation}
    
    	\begin{equation}
    	D(x) = \begin{cases}
    		1, & \text{如果} x \in \mathbb{Q} \\
    		2, & \text{如果} x \in \mathbb{R} \setminus \mathbb{Q}
    	\end{cases}
    	\end{equation}
    \end{document}
    

    第11节

    注意点:

    1. 带星号是不带编号的数学公式
    2. 在 gather 环境中,\notag 表示当前行没有公式
    3. 在 align 环境中,可以用 & 进行对其操作
    4. 在 split 环境中,也可以使用 & 进行对齐,并且整体属于一个公式
    5. 在 cases 环境中,整体属于一个公式
    6. 在数学公式中不能输入文字,但是可以通过 \text 的方式输入文本

    12. 参考文献

    参考文献排版分为多类,如果只是单次使用,直接用 thebibliography 环境即可,使用 \cite 进行引用;如果想进行单次管理多次使用,可以将参考文献使用另外的文件定义

    第12节

    1. 单次使用
    	引用第一篇文章 \cite{article1},引用第二篇书籍 \cite{book1} 等等
    	
    	% 参考文献排版
    	% 一次管理,一次使用,99为编号样本
    	\begin{thebibliography}{99}
    		\bibitem{article1} 引用\emph{重点}文章1
    		\bibitem{book1} 引用书籍1
    	\end{thebibliography}
    
    1. 多次使用

    新建一个 bib 格式的文件,text.bib,数据来源,谷歌学术,知网

    @article{陶飞2018数字孪生及其应用探索,
    	title={数字孪生及其应用探索},
    	author={陶飞 and 刘蔚然 and 刘检华 and 刘晓军 and 刘强 and 屈挺 and 胡天亮 and 张执南 and 向峰 and 徐文君 and others},
    	journal={计算机集成制造系统},
    	volume={24},
    	number={1},
    	pages={1--18},
    	year={2018}
    }
    
    @article{rego20153dmol,
    	title={3Dmol. js: molecular visualization with WebGL},
    	author={Rego, Nicholas and Koes, David},
    	journal={Bioinformatics},
    	volume={31},
    	number={8},
    	pages={1322--1324},
    	year={2015},
    	publisher={Oxford University Press}
    }
    

    第12节1

    先点击引用,后点击 BibTeX 将得到需要的数据,复制粘贴进我们创建的 bib 文件中即可使用

    使用方法

    % 1 设置参考文献样式
    \bibliographystyle{plain} % plain unsrt alpha abbrv
    
    \begin{document}
    
    	% \cite 后面的参数是 bib 单个数据中的第一个头信息
    	这是引用来自知网的参考文献 \cite{__2021}
    
    	% \citep{} \citet{}
    	这是引用的 bib 文件下的参考文献 \cite{陶飞2018数字孪生及其应用探索} 便于探索
    
    	\nocite{*}
    	\bibliography{text, zote}
    	 
    \end{document}
    
    • \nocite{*} 表示将没有引用的文献也罗列出来
    • \bibliography{text, zote} 表示导入 bib 数据库,这里有两个数据库
    1. 导入知网中的文献,下载 zotero 以及 google 的扩展工具,进入知网的搜索页面,点击扩展工具,可以获得当前页面的所有文献信息。这些信息可以通过 zotero 导出成 bib 文件供我们使用,也可以把这个文件中的信息复制出来统一放在一个 bib 文件中

    第12节2

    第12节3

    1. 新参考文献排版引擎 BibLaTeX 使用较麻烦,有兴趣可以自行搜索

    13. 定义新命令和环境

    可以定义新命令使用、

    % 一般只有 10-12 磅
    \documentclass{article}[12pt]  %book, report, letter
    
    \usepackage{ctex}
    
    \newcommand{\newMessage}{这是一个新的命令字符串}
    
    \newcommand{\loves}[2]{#1 喜欢 #2}
    
    \newcommand{\lovess}[3]{#1 喜欢 #2, #2 喜欢 #3,#3 喜欢 #1}
    
    % 第一个参数为可选参数,默认为喜欢
    \newcommand{\defaultLove}[3][喜欢]{#2 #1 #3}
    
    % \renewcommand{cmd}{def} 与 newcommand 使用方法
    % \newenvironment{envname}{begdef}{enddef} 与 newcommand 用法一致,具体见文档
    
    % 有且只有一个 document 环境
    \begin{document}
    	 \newMessage
    	 
    	 \loves{猫儿}{小鱼}
    	 
    	 \lovess{猫儿}{狗儿}{羊儿}
    	 
    	 \defaultLove{小花}{小明}
    	 
    	 \defaultLove[讨厌]{小花}{小明}
    \end{document}
    

    第13节

    • 注意可以用默认参数
    • 自定义命令可以是输出指定字符串
    • 重定义环境看相关文档
    希望读者在看完后能提出意见, 点个赞, 鼓励一下, 我们一起进步. 加油 !!
  • 相关阅读:
    IO多路复用 IO异步
    你没听说过的协程
    事件驱动和IO操作
    堡垒机前戏——paramiko
    听说过的多进程,多线程到底是什么鬼
    socket套接字
    看见就烦的异常
    struts2值栈内部数据结构详解
    hibernate一级缓存的源码初窥
    使用自定义标签模拟jstl的<c:for each>标签
  • 原文地址:https://www.cnblogs.com/xiaxiangx/p/15753048.html
Copyright © 2020-2023  润新知