LaTex使用教程(持续更新中~)

LaTex使用教程(持续更新中~)这里指定文档类型 可用的类型包括 文档类型的属性选项 需要写在里面 纸张 3 种标准字体高度 使用包是文章写作日期 这里使用来自动生成编译时的日期 也可以用其他固定的日期来填充 如 指令生成标题

大家好,欢迎来到IT知识分享网。

Latex使用教程

1 文档结构

% 指定文档类型,以%开头的行是注释行 \documentclass[a4paper,12pt]{article} % 使用包,支持中文 \usepackage{ctex} % 创建标题页的内容 \title{C语言程序设计} \author{ldc} \date{2019-5-1} % 开始文档 \begin{document} % 生成标题 \maketitle % 文档内容 A sentence of text. 你好! % 结束文档 \end{document} 

\documentclass: 这里指定文档类型 ,可用的类型包括:

  • article:适合短篇的文档,比如论文,短篇报告等;
  • report:适合长篇带有章节(chapter)的文档,比如博士论文等;
  • book:带有章节的书籍等;
  • slides:生成演示文档

文档类型的属性选项options,需要写在[ ]里面:

  • 纸张:
    • a4paper:缺省设置;
    • letterpaper:某些发行版里是缺省设置
    • a5paperb5paperexecutivepaperlegalpaper
  • 3种标准字体高度:
    • 10pt:缺省设置,11pt12pt

纸张方向,缺省是竖向。

可以用geometry包来设置更多的纸张大小以及页边距等更多排版格式。

\usepackage:使用包

  • ctex:支持中文

\date是文章写作日期,这里使用\today来自动生成编译时的日期,也可以用其他固定的日期来填充,如:\date{2019-5-2}

\maketitle指令生成标题,对于article,标题和正文都在一页,bookreport则会生成标题页,正文在下一页。


单列还是多列显示,可选项包括:

onecolumn:缺省,单列显示;twocolumn:双列显示

可以用multicol包来创建更复杂的多列显示文

公式显示选项,缺省是右对齐,公式编号在右边,可以设置下面的选项:

fleqn:公式左对齐,leqno:公式编号在公式左边

使用landscape 来设置横向,但是有点问题,显示时边距会过大,可以使用geometry包来更好解决这个问题。

单面还是双面打印,对于单面打印,每一页的边距都一样,对于双面打印,奇数页和偶数页的边距会不同,更适合装订。

对于articlereport类型的文档,其缺省的选项是单面,即oneside

对于book,其缺省的选项是双面,即twoside

文档的标题页设置

对于article,缺省是notitlepage,也就是标题之后就是正文,之间不分页;

对于reportbook,缺省是titlepage,标题页之后会分页,正文在下一页。

每章是否新开页

对于report,缺省是openany,也就是新章可以在左边或者右边页面;

对于book,缺省是openright,也就是新章页面必须在右边页,如果有需要,会在左边页插入一页空白。


1-1 目录、页码

\begin{document} % 生成目录 \tableofcontents % 插入新页 \newpage % 设置页码格式是阿拉伯数字 \pagenumbering{arabic} \end{document} 

\newpage:插入新页

\pagenumbering:设置页码格式

  • arabic:阿拉伯数字
  • roman:罗马数字

\tableofcontents:插入目录

1-2 摘要

\begin{abstract} Your abstract. \end{abstract} 

1-3 章节

\begin{document} % 正文 \section{概述} \section{算法} \subsection{算法的定义} % 附录 \appendix \section{Proofs} \section{Additional Experiments} \end{document} 

\section\subsection创建章、节,可用的段落有:

\part: 部,深度:-1,不能用在letter

\chapter:章,深度:0,可以用在bookreport

\section:节,深度:1,不能用在letter;

\subsection:小节,深度:2, 不能用在letter;

\subsubsection:小小节,深度:3,不能用在letter;

\paragraph:带标题的段落(用{ }),深度:5,不能用在letter;

\subparagraph:带标题的次级段落(用{ }),深度:6,不能用在letter;

一般,深度5、6的不会计入目录(contents)。

上面的格式一般都固定,重新修改会比较麻烦,可以使用ssectionsectsty包进行更好的设置。

注意,当设定标题(用{}包含的)时候,在插入目录时会自动编入,但是如果太长或有格式异常,可以通过设置可选标题(用[]来包含),在编入目录时如果有可选标题会自动选用,参考下例:

\section[编入目录的标题]{实际的太长的标题} 

章节标题会自动编号,缺省设置如下:

对于part:采用罗马数字编号,如:Part I, Part II, ...

对于chaptersection:采用 阿拉伯数字,如:Chapter 22.1 xxx等;

对于附录Appendix:采用拉丁字母,如:Appendix A, Appendix B, ...等;

可以设置下面两个参数来设定哪一级标题使用编号,以及目录采用哪一级的标题,如下设置只到section(级别为1):

\setcounter{secnumdepth}{1} \setcounter{tocdepth}{1} 

若某级标题不需要进行编号(也就意味不会加入目录),可以加上*,如下例:

\sebsection*{本小节不进行编号} 

1-4 标签、引用

\label{sec11} 根据 第\pageref{sec11}页\ref{sec11}对算法的描述,可以归纳出三种基本算法结构,这些都有C语言的对应控制结构。 

\label:创建一个标签

\pageref :交叉引用得到标签所在的页码

\ref:交叉引用

  • 在章节中,得到这个标签所在的章、节编号???
  • {fig:fat_boxplot}在图片中,被替换为与标签相关联的图表的编号。

1-5 引用

\cite{greenwade93} 

\bibliographystyle{alpha}:文献引用风格

  • 这里是使用了 alpha 风格,这种风格会用作者名字和出版年份的首字母进行标记,如 [ABC01]。你可以根据需要选择其他的风格,比如 plainunsrt 等。

\bibliography{sample}:参考文献数据库的文件名。sample.bib 是一个 BibTeX 数据库文件(一种用于管理参考文献的工具)。

2 文字样式结构

2-1 字体

\textit 设置斜体文本

latex中采用的单位unit:

pt:一个点point相当于1/72.27inch,也就是大约0.0138inch0.3515mm

mm:毫米; cm:厘米; in:英寸;

ex:约等于当前字体中字母x(小写)的高度;

em:约等于当前字体中字母M(大写)的宽度;

mu:当前采用的数学字体为参考的em,则1mu=1/18em

2-2 标点 空格 特殊字符

\dots … \dots

\cdots ⋯ \cdots

\chi^{2} χ 2 \chi^{2} χ2

\author{数据212\ \ 尹思凡} \author{数据212~尹思凡} 

\ \ 表示一个标准的空格,而 ~ 表示一个不会被断行的空格。

\quad 
\verb|.bib| % 输出.bib 

\verb 是用来显示原始文本的命令,通常用于显示代码、文件名等内容,它会直接将其内容以原始形式输出,而不对其中的特殊字符进行解释或格式化。

2-3 列表

无序

\begin{itemize} \item xxx1 \item xxx2 \begin{itemize} \item yxxx1 \item yxxx1 \begin{itemize} \item zxxx1 \item zxxx2 \begin{itemize} \item mxxx1 \item mxxx2 \end{itemize} \end{itemize} \end{itemize} \end{itemize} 

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

有序

\begin{enumerate} \item xxx1 \item xxx2 \end{enumerate} 

\begin{enumerate}[label=(\alph*)]:小写字母

\begin{enumerate}[lable=(\arabic*)]:阿拉伯数字

2-4 表格

LaTeX Table Editor and Generator – Table Convert Online

\begin{table}[H] \begin{center} \caption{} \label{table:2} \begin{tabular}{|c|c|c|c|c|} \hline & $L_2$ & $L_1$ & $L_{max}$ & cos(x, $x_i$) \\ \hline $d_1$ & 0.14 & 0.2 & 0.1 & 1.000\\ \hline $d_2$ & 0.67 & 0.9 & 0.6 & 0.996\\ \hline $d_3$ & 0.28 & 0.4 & 0.2 & 0.997\\ \hline $d_4$ & 0.22 & 0.3 & 0.2 & 0.998\\ \hline $d_5$ & 0.61 & 0.7 & 0.6 & 0.965\\ \hline \end{tabular} \end{center} \end{table} 

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

\begin{table}[!ht] \begin{tabular}{ p{6cm}p{4cm}p{3cm} } % |表示表格线,p表示表格宽(3cm) \hline % 水平线 \multicolumn{3}{c}{Country List} \\ % 设置多列合并,c表示中间对齐,l表示左对齐,r表示右对齐 \hline Country Name or Area Name& ISO ALPHA 2 Code &ISO ALPHA 3 \\ % \\ 表示换行 \hline Afghanistan & AF &AFG \\ Aland Islands & AX & ALA \\ Albania &AL & ALB \\ Algeria &DZ & DZA \\ American Samoa & AS & ASM \\ Andorra & AD & AND \\ Angola & AO & AGO \\ \hline \end{tabular} \end{table} 

在Typora中,LaTeX的对齐需要使用\begin{}...\end{}环境来实现。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

\begin{table} \begin{tabular}{ |p{6cm}|p{4cm}|p{3cm}| } % |表示表格线,p表示表格宽(3cm) \hline % 水平线 \multicolumn{3}{|c|}{Country List} \\ % 设置多列合并,c表示中间对齐,l表示左对齐,r表示右对齐 \hline Country Name or Area Name& ISO ALPHA 2 Code &ISO ALPHA 3 \\ % \\ 表示换行 \hline Afghanistan & AF &AFG \\ Aland Islands & AX & ALA \\ Albania &AL & ALB \\ Algeria &DZ & DZA \\ American Samoa & AS & ASM \\ Andorra & AD & AND \\ Angola & AO & AGO \\ \hline \end{tabular} \end{table} 

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2-5 链接

\href{https://www.overleaf.com/learn}{help library} \href{https://www.overleaf.com/user/subscription/plans}{choose your plan}. \url{https://www.overleaf.com/contact} 

3 算法

3-1 伪代码

这两个宏包是被设计成同时一起使用的,但也可以根据用户的特殊需要分开使用。其中 algorithm 宏包主要是为算法提供一个浮动体环境,也就是说,在 LaTeX 中算法和图像,表一样,都是浮动体。algorithmic 宏包主要是用来完成算法的描述功能,该宏包提供了我们描述算法常用的几种结构命令,如条件结构、循环结构等,但也可以客制化流程。

\usepackage{algorithm} \usepackage{algorithmic} 
\begin{algorithm} \caption{Algorithm Title} \begin{algorithmic} \REQUIRE $n \geq 1$ %输入条件 \ENSURE $Sum = 1 + \cdots + n$ %输出 \STATE $Sum \leftarrow 0$ %\STATE 命名演示 \IF {$n < 1$} %条件语句 \PRINT {Input Error} %打印语句 \ELSE \FOR {$i = 0$ to n} %FOR循环结构 \STATE $Sum = Sum + i$\\ \STATE $i = i + 1$ \ENDFOR \ENDIF \RETURN Sum \end{algorithmic} \end{algorithm} 

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

\begin{algorithm} \caption{Calculate $y = x^n$} \label{alg3} \begin{algorithmic} \REQUIRE $n \geq 0 \vee x \neq 0$ \ENSURE $y = x^n$ \STATE $y \gets 1$ \IF{$n < 0$} \STATE $X \gets 1 / x$ \STATE $N \gets -n$ \ELSE \STATE $X \gets x$ \STATE $N \gets n$ \ENDIF \WHILE{$N \neq 0$} \IF{$N$ is even} \STATE $X \gets X \times X$ \STATE $N \gets N / 2$ \ELSE[$N$ is odd] \STATE $y \gets y \times X$ \STATE $N \gets N - 1$ \ENDIF \ENDWHILE \end{algorithmic} \end{algorithm} 

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3-2 代码块

\usepackage{listings} \begin{lstlisting}[ % 进行参数设置 language=Python, % 设置语言 numbers=left, % 在左侧显示行号 basicstyle=\small\ttfamily, % 设置字体族 breaklines=true, % 自动换行 [frame=none] %无框 [frame=leftline,topline,rightline, bottomline] %分别对应只在左侧,上方,右侧,下方有竖线 [frame=trb] %t-top,r-right,b-bottom,l-left. 这是为框架只在上,右,下方 [frame=trBL] %大写表示双重线 columns=flexible %单词间隔调整 ] def anagramSolution1(s1, s2): alist = list(s2) pos1 = 0 stillOK = True while pos1 < len(s1) and stillOK: pos2 = 0 found = False while pos2 < len(alist) and not found: if s1[pos1] == alist[pos2]: found = True else: pos2 = pos2 + 1 if found: alist[pos2] = None else: stillOK = False pos1 = pos1 + 1 return stillOK \end{lstlisting} 

4 公式

$$ % 正常在此处编写公式即可 $$ 

4-1 方程式

\usepackage{amsmath} % 自定义编号\begin{equation} \begin{equation} newguess=\frac{1}{2}×(oldguess+\frac{n}{oldguess}) \tag{2} \end{equation} 

4-2 公式组

\begin{aligned}:用于排版多行公式并对齐。通常用 & 符号来指示对齐的位置。

\begin{array}{l}:默认居中。{l}表示左对齐

\usepackage{amsmath} % 使用 amsmath 宏包以排版数学公式 \[ \begin{array}{l} \text{我们已知}\mathbf{w}^* = (\mathbf X^\top \mathbf X)^{-1}\mathbf X^\top \mathbf{y}.\\ \end{array} \] 

使用了\[ \] 数学环境来包裹数学公式,同时使用\text{}命令将汉字包裹在数学环境之外,这样汉字不会引发错误。

5 格式

如果你希望参数在整个文档中生效,通常会将命令放在导言区(即 \begin{document} 之前)。

如果你希望设置的长度参数只在文档的某个特定部分生效,那么可以将命令放在该部分的开始处。

5-1 间距

行间距?

\usepackage{setspace} \begin{spacing}{1.0} \end{spacing} 

\hfill:在排版多个元素时,用来平均分配它们之间的空间,从而使它们在一行中均匀分布,而不是紧凑在一起。

5-2 缩进

% 设置每段第一行的缩进 \setlength{\parindent}{4em} % 用于在当前位置插入一个标准的缩进量,即与当前段落的缩进量相同。(在段落的中间位置手动插入一个额外的缩进,它会在当前位置插入一个新的缩进,而不另起一个新的段落。注意,\\换行后不属于下一段,而是段内。) \indent 

5-3 长度参数

\textwidth : 表示当前文本区域的宽度。它通常用于设置图像或表格的宽度,以确保它们适应当前文本的布局。在一个页面中,\textwidth 是指除去页边距之外的可用文本区域的宽度。在单栏文档中,它等于页面宽度减去左右页边距的总和。在双栏文档中,\textwidth 则是两栏的宽度之一。

段落之间的宽度:

\setlength{\parskip}{1cm} 

可以用下面的命令来设置段落每行之间的间距(下面设置为1.5倍行距):

\renewcommand{\baselinestretch}{1.5} 

可以用\pagestyle{style}设置每页的页眉(\header)和页脚(\footer)的设置,style的可选项是:

\plain:缺省,页码打印在页脚中间;

\headings:页码,每章标题打印在页眉,页脚留空;

\empty:设置页眉页脚为空。

对特定页可以用:\ thispagestyle{style}可以设置 独立的页码页眉设置。

6 图片

\usepackage{graphicx} \begin{figure}[htbp] \centering \includegraphics[scale=0.4]{img/后序表达式.png} \caption{向右移动运算符,以得到后序表达式} \label{figure} \end{figure} 

\centering 将图片居中显示;

\includegraphics{} 插入一张图片,花括号 {} 内就是图片的名称,方括号 [] 内同样是控制参数,但这里控制的是图片的显示大小;

\caption{} 图例信息;

\label{} 图的标签,在写论文时可以在正文中引用;

二者可以像下面一样写在一起:

\caption{\label{fig:frog}This frog was uploaded via the file-tree menu.} 

图片位置控制参数:\begin{figure}[htbp]

  • [h] 表示当前位置(here),也就是说图片将放在你设置的当前位置,但是如果这一页的空间不足以放下这个图片,此时图片会转到下一页;
  • [t] 顶端(top),此时优先将图片放置在页面的顶部;
  • [b] 底部(bottom)此时优先将图片放置在页面底部;
  • [p] 将图片设置为浮动状态,系统会自动排版图片的位置;
  • 一般推荐这几个参数结合使用,比如:[ht]、[htbp],此时这几种位置具有优先级。
\usepackage{algorithm} \usepackage{algorithmic} \begin{figure}[H] % 强制将浮动对象(如图表)放置在当前位置 

图片大小控制参数:\includegraphics[scale=0.2]{girl.eps}

  • [scale],表示按原图比例缩放,比如 scale=0.2 表示将原图缩小 5 倍,如果要放大只需要将 scale 设置为大于 1 即可;
  • [height = 1cm, width = 2cm]:直接设置图片宽高。

6-1 subfigure子图

\usepackage{subcaption} \begin{figure}[htbp] \centering \begin{subfigure}{0.45\textwidth} % 子图的宽度为当前文本区域宽度的 45% \centering \includegraphics[width=\textwidth]{img/age盒图.png} \caption{age盒图} \label{fig:age_boxplot} \end{subfigure} \hfill \begin{subfigure}{0.45\textwidth} \centering \includegraphics[width=\textwidth]{img/fat盒图.png} \caption{\%fat盒图} \label{fig:fat_boxplot} \end{subfigure} \caption{age和\%fat的盒图} \label{fig:boxplots} \end{figure} 

6-2 minipage

\begin{figure} \centering \begin{minipage}{0.48\textwidth} \centering \includegraphics[width=\textwidth]{img/age盒图.png} \caption{age盒图} \label{fig:age_boxplot} \end{minipage} \hfill \begin{minipage}{0.48\textwidth} \centering \includegraphics[width=\textwidth]{img/fat盒图.png} \caption{\%fat盒图} \label{fig:fat_boxplot} \end{minipage} \caption{并排放置的盒图} % 这两行不要就不算做一个大图 \label{fig:boxplots} % 这两行不要就不算做一个大图 \end{figure} 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/113089.html

(0)
上一篇 2026-01-14 13:00
下一篇 2026-01-14 13:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信