大家好,欢迎来到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:某些发行版里是缺省设置a5paper,b5paper,executivepaper,legalpaper
- 3种标准字体高度:
10pt:缺省设置,11pt,12pt
纸张方向,缺省是竖向。
可以用
geometry包来设置更多的纸张大小以及页边距等更多排版格式。
\usepackage:使用包
- ctex:支持中文
\date是文章写作日期,这里使用\today来自动生成编译时的日期,也可以用其他固定的日期来填充,如:\date{2019-5-2}
\maketitle指令生成标题,对于article,标题和正文都在一页,book和report则会生成标题页,正文在下一页。
单列还是多列显示,可选项包括:
onecolumn:缺省,单列显示;twocolumn:双列显示
可以用multicol包来创建更复杂的多列显示文
公式显示选项,缺省是右对齐,公式编号在右边,可以设置下面的选项:
fleqn:公式左对齐,leqno:公式编号在公式左边
使用landscape 来设置横向,但是有点问题,显示时边距会过大,可以使用geometry包来更好解决这个问题。
单面还是双面打印,对于单面打印,每一页的边距都一样,对于双面打印,奇数页和偶数页的边距会不同,更适合装订。
对于article和report类型的文档,其缺省的选项是单面,即oneside;
对于book,其缺省的选项是双面,即twoside
文档的标题页设置
对于article,缺省是notitlepage,也就是标题之后就是正文,之间不分页;
对于report和book,缺省是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,可以用在book和report;
\section:节,深度:1,不能用在letter;
\subsection:小节,深度:2, 不能用在letter;
\subsubsection:小小节,深度:3,不能用在letter;
\paragraph:带标题的段落(用{ }),深度:5,不能用在letter;
\subparagraph:带标题的次级段落(用{ }),深度:6,不能用在letter;
一般,深度5、6的不会计入目录(contents)。
上面的格式一般都固定,重新修改会比较麻烦,可以使用ssection和sectsty包进行更好的设置。
注意,当设定标题(用{}包含的)时候,在插入目录时会自动编入,但是如果太长或有格式异常,可以通过设置可选标题(用[]来包含),在编入目录时如果有可选标题会自动选用,参考下例:
\section[编入目录的标题]{实际的太长的标题}
章节标题会自动编号,缺省设置如下:
对于part:采用罗马数字编号,如:Part I, Part II, ...;
对于chapter和section:采用 阿拉伯数字,如:Chapter 2,2.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]。你可以根据需要选择其他的风格,比如plain、unsrt等。
\bibliography{sample}:参考文献数据库的文件名。sample.bib 是一个 BibTeX 数据库文件(一种用于管理参考文献的工具)。
2 文字样式结构
2-1 字体
\textit 设置斜体文本
latex中采用的单位unit:
pt:一个点point相当于1/72.27inch,也就是大约0.0138inch或0.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





