latex入门笔记
1.latex环境的安装与配置
下载安装tex live和Tex studio,去这个网站:http://tug.org/texlive/
1.1 tex live安装
默认安装即可
检测texlive是否安装成功:
在cmd下测试tex -v,注意,中间有空格,同理也可以测试latex -v,以及xelatex -v,有显示则为成功。如tex -v的结果如下,其它两个类似:
1.2 texstudio安装
默认安装即可(安装路径可修改)
安装结束后,一开始的打开界面是英文的,这里我们可以切换成中文。
1.2.1设置中文界面
依次点击:Options—> Configure Texstudio —> General—> Language—> zh_CN
1.2.2设置默认编辑器
1.2.3添加行号
1.2.4测试tesstudio软件
启动TeXstudio,界面如下
在编辑框中,输入如下内容:
\documentclass{article}
% 这里是导言区
\begin{document}
Hello, world!
\end{document}
将文档保存在你希望的位置后,按下绿色的编译按钮
编译成功后,屏幕的右边就会出现编译之后结果。如下图:
2.latex源文件的基本结构
.tex文件分为导言区和正文区(文稿区),在.tex文件中,用%表示注释,%后的内容不解析。
导言区用\documentclass{article},article还可以用book、report、letter代替,不同类型代表不同类型的文档。
\title{First Tex File} %表示文档题目
\author{Andy} %作者
\date{\today} %日期,\today会获取今天的日期
%以上这些设置要在正文区添加\maketitle使其生效
正文区写在如下位置:
\begin{document}
\maketitle%使得导言区的设置生效
hello world!
%在生成的文档中增加换行,也需要在源码中换行
函数$f(x)$的定义如下:$f(x)=3x^2+x-1$
\end{document}
正文区的 f ( x ) f(x) f(x)表示数学公式,单对$ 表 示 行 内 公 式 , 即 公 式 和 前 后 内 容 连 着 , 双 对 表示行内公式,即公式和前后内容连着,双对 表示行内公式,即公式和前后内容连着,双对$ $$表示行间公式,和前后内容都换行隔开。
在生成的文档中增加换行,需要在源码中隔一行。或者在一行最后使用\
%整体文件:
%导言区
\documentclass{article}
\title{First Tex File}
\author{Andy}
\date{\today}
\usepackage{ctex}%正常显示中文
%正文区
\begin{document}
\maketitle%使得导言区的设置生效
hello world!
%在生成的文档中增加换行,需要在源码中隔一行
函数$f(x)$的定义如下:$f(x)=3x^2+x-1$
函数$f(x)$的定义如下:$$f(x)=3x^2+x-1$$
\end{document}
3.latex中的中文处理方法
latex代码:
%导言区
\documentclass{article}%自定义的新命令
\newcommand\degree{^\circ}%正文区使用了自定义的命令\degree
\title{\heiti 勾股定理}%指定黑体字体
\author{\kaishu 毕达哥拉斯}%指定楷书字体
\date{\today}
\usepackage{ctex}%显示中文需要添加该指令
%正文区
\begin{document}
\maketitle%使得导言区的设置生效
符号语言表述:设直角三角形$ABC$,其中$\angle C=90\degree$,则有:
\begin{equation} %表示带编号的行内公式
AB^2=BC^2+AC^2
\end{equation}
\end{document}
\begin{equation}
AB^2=BC^2+AC^2
\end{equation}
equation环境用于产生带编号的行间公式
4.latex字体字号设置
latex代码:
latex代码:
%字体字号设置
\documentclass[10pt]{article}%10磅是默认正常的字体大小,即下文中的normalsize
\usepackage{ctex}
\newcommand{\myfont}{\textbf{\textsf{Fancy Text}}}
%正文区
\begin{document}
%字体族设置(罗马字体、无衬线字体、打字机字体)
\textrm{Roman Family} \textsf{Scan Serif Family}\texttt{Typewriter Family}%\textrm等是字体命令,大括号里是作用到的文字
{\rmfamily Roman Family} {\sffamily Scan Serif Family}{\ttfamily Typewriter Family}%\rmfamily是字体声明,后面紧跟的文字是作用到的文字
{\sffamily Who are you?you find self on everyone around.take you as the same as others!}
{\ttfamily Are you aiser than others?}
%字体系列设置(粗细、宽度)
\textmd{Medium Series} \textbf{Boldface Series}%\textmd等是字体命令,大括号里是作用到的文字
{\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}
{\scshape Small Caps Shape}
%中文字体
{\songti 宋体} \quad{heiti 黑体}\quad{\fangsong 仿宋}\quad {\kaishu 楷书}%\quad表示空格
中文字体的\textbf{粗体}与\textit{斜体}
%字体大小
{\tiny Hello }\\
{\scriptsize Hello }\\
{\footnotesize Hello }\\
{\small Hello }\\
{\normalsize Hello }\\
{\large Hello }\\
{\Large Hello }\\
{\LARGE Hello }\\
{\huge Hello }\\
%中文字号设置命令
\zihao{5}你好!
\myfont%latex格式与内容分离
\end{document}
5.文档基本结构
\section{}表示小节,
\subsection{}构建子小节,
\subsubsection{}构建子子小节
latex代码
%文档基本结构
\documentclass{article}
\title{First Tex File}
\author{Andy}
\date{\today}
\usepackage{ctex}
%正文区
\begin{document}
\maketitle%使得导言区的设置生效
\section{引言}
中国人口模式的转变发生于民国时期 关于民国的进步,我只讲两个过去人们比较忽略的问题。 一是人口模式。如前所述,传统时代人口的增减是王朝兴衰的显示器。
中国人口模式的转变发生于民国时期 关于民国的进步,我只讲两个过去人们比较忽略的问题。 一是人口模式。如前所述,传统时代人口的增减是王朝兴衰的显示器。\par
中国人口模式的转变发生于民国时期 关于民国的进步,我只讲两个过去人们比较忽略的问题。 一是人口模式。如前所述,传统时代人口的增减是王朝兴衰的显示器。\\中国人口模式的转变发生于民国时期 关于民国的进步,我只讲两个过去人们比较忽略的问题。 一是人口模式。如前所述,传统时代人口的增减是王朝兴衰的显示器。
\section{实验方法}
\section{实验结果}
\subsection{数据}
\subsection{图表}
\subsubsection{实验过程}
\section{结论}
\section{致谢}
\end{document}
5.latex中的特殊字符
6.latex中的插图
为了可以插入图片,需要引入\usepackage{graphicx}宏指令,文本类型要设为\documentclass{ctexart},通过\graphicspath{{figures/}}指定待插入图片所在的文件夹,在正文区,导入图片,\includegraphics{two},two是figures文件夹下的文件(图像)名
latex代码
%文档基本结构
\documentclass{ctexart}
\title{First Tex File}
\author{Andy}
\date{\today}
\usepackage{ctex}
\usepackage{graphicx}
\graphicspath{{figures/}}%表示图片在当前目录下的figures目录
%正文区
\begin{document}
\LaTeX{}中的插图:
\includegraphics{one}
\includegraphics{two}
\includegraphics{three}%two是figures文件夹下的文件(图像)
\end{document}
7.latex中的表格
8.浮动体
\documentclass{ctexart}
\usepackage{graphicx}
\graphicspath{{figures/}}%表示图片在当前目录下的figures目录
\usepackage{ctex}
%正文区
\begin{document}
\LaTeX{}中\TeX 壁纸见图\ref{fig}
\begin{figure}[htbp]%[htbp]表示浮动体的排版位置
\centering%使得以下内容居中
\includegraphics[scale=0.1]{one.jpg}
%\label命令为浮动体设置标签,\ref引用该标签
\caption{\TeX 壁纸}\label{fig}
\end{figure}
在\LaTeX{}中也可以使用表\ref{tab-score}所示的表格
\begin{table}[htbp]
\centering
\caption{成绩单}\label{tab-score}
\begin{tabular}{|l| c| c| c| r|}%会有5列,指定每列的居中形式,|表示每列中间有竖线分开
\hline%每行之间由横线分开
姓名&语文&数学&外语&政治\\%\\表示换行
\hline
张三&87&120&25&36\\
\hline
张1&87&120&25&36\\
\hline
张2&87&120&25&36\\
\hline
\end{tabular}
\end{table}
\end{document}
9.latex数学公式初步
为了使用 AMS-LaTeX 提供的数学功能,我们需要在导言区加载amsmath
宏包:
\usepackage{amsmath}
-
数学模式
LaTeX 的数学模式有两种:行内模式 (inline) 和行间模式 (display)。前者在正文的行文中,插入数学公式;后者独立排列单独成行。
在行文中,使用
$ ... $
可以插入行内公式,使用\[ ... \]
可以插入行间公式,如果需要对行间公式进行编号,可以使用equation
环境: \begin{equaion} … \end{equation}行内公式也可以使用
\(...\)
来插入,略显麻烦。无编号的行间公式也可以使用$$ ... $$
来插入,但是这样做会改变行文的默认行间距,不推荐。
LaTeX的公式编辑可以说是其最为犀利的部分之一了,但其公式语法非常繁琐,不过令人高兴的是,这里有一个在线LaTeX公式编辑器,非常方便直观。
latex代码
%文档基本结构
\documentclass{article}
\title{First Tex File}
\author{Andy}
\date{\today}
\usepackage{ctex}
\usepackage{amsmath}
%正文区
\begin{document}
\maketitle%使得导言区的设置生效
\section{行内公式}
\subsection{美元符号}
交换律$a+b=b+a$,如$1+2=2+1$
\subsection{小括号}
交换律\(a+b=b+a\),如\(1+2=2+1\)
\subsection{math环境}
交换律\begin{math}
a+b=b+a
\end{math}
\section{上下标}
\subsection{上标}
$2x^2+3x+5=6$
\subsection{下标}
$a_0,a_1,a_{100}$
\section{希腊字母}
$\alpha$
$\beta$
$\gamma$
$\epsilon$
$\pi$
$\omega$
$\Gamma$
$\Delta$
$\Theta$
$\Pi$
$\Omega$
\section{数学函数}
$\log$
$\sin$
$\cos$
$\arccos$
$\arcsin$
$\ln$
$\sin^2x+\cos^2x=1$
$\sqrt{2}$
$\sqrt{x^2+y^2}$
$\sqrt{2+\sqrt{2}}$
$\sqrt[4]{x}$
\section{分式}
大约是原体积的$3/4$
大约是原体积的$\frac{3}{4}$
\section{行间公式}
\subsection{$$$$}
$$2x^2+5x+3=6$$
\subsection{displayment}
\begin{displaymath}
2x^2+5x+3=6
\end{displaymath}
\subsection{自动编号公式}
交换律见式\ref{eq:commutative}
\begin{equation}
a+b=b+a \label{eq:commutative}
\end{equation}
\subsection{不带自动编号公式}
\begin{equation*}%需要使用\usepackage{amsmath}
a+b=b+a
\end{equation*}
\end{document}
10.latex数学公式之矩阵
latex中的省略号用\dots(横向…)或\vdots(竖向…)或\ddots(斜着的…)
\frac {分子}{分母},也可以\frac 1 2,表示1/2,如果是1/20,需要\frac 1 20
latex代码
%矩阵
\documentclass{article}
\title{First Tex File}
\author{Andy}
\date{\today}
\usepackage{ctex}
\usepackage{amsmath}
%正文区
\begin{document}
\maketitle%使得导言区的设置生效
\[
\begin{matrix}%&分列 \\分行
0&1\\
1&0
\end{matrix}\quad
\]
\[\begin{pmatrix}%括号包裹的矩阵
0&1\\
1&0
\end{pmatrix}
\]
\[\begin{vmatrix}%长竖线包裹的矩阵
0&1\\
1&0
\end{vmatrix}
\]
\[\begin{bmatrix}%长中括号包裹的矩阵
0&1\\
1&0
\end{bmatrix}
\]
\[\begin{pmatrix}%括号包裹的矩阵
a_{11}^2&a_{12}^2&a_{13}^2\\
0&a_{22}&a_{33}
\end{pmatrix}
\]
\[\begin{bmatrix}%长中括号包裹的矩阵
a_{11}&\dots&a_{1n}\\
&\ddots&\vdots\\
\end{bmatrix}_{n \times n}
\]
\[\begin{pmatrix}%分块矩阵(矩阵嵌套)
\begin{matrix}
1&0\\0&1
\end{matrix}
& \text{\Large 0}\\
\text{\Large 0}&\begin{matrix}
1&0\\0&1
\end{matrix}
\end{pmatrix}
\]
\[\begin{pmatrix}%括号包裹的矩阵
a_{11}&a_{12}&\cdots&a_{ln}\\
&a_{22}&\cdots&a_{2n}\\
& &\dots &\vdots \\
\multicolumn{2}{c}{\raisebox{1.3ex}[0pt]{\Huge 0}}
& &a_{nn}
\end{pmatrix}
\]
\[\begin{pmatrix}%跨列的省略号:\hdotsfor{<列数>}
1&\frac 12 &\dots &\frac ln \\
\hdotsfor{4}\\
m&\frac m2& \dots &\frac mn
\end{pmatrix}
\]
%行内小矩阵(smallmatrix)环境
复数$z=(x,y)$也可以用矩阵
\begin{math}
\left(%需手动加上左括号
\begin{smallmatrix}
x& -y\\y&x
\end{smallmatrix}
\right)%需手动加上右括号
\end{math}来表示
%array环境(类似表格环境tabular)
\[
\begin{array}{r|r}
\frac 12&0\\
\hline
0& -\frac abc\\
\end{array}
\]
\end{document}
11.参考文献BibTex
排版参考文献有几个比较重要的命令:
- \bibliographystyle{<样式名>},定义文献引用格式,在导言区使用;
- \cite{<标签>} 系列命令,在行文中使用;依据需求不同会有不同的命令;
- \bibliography{<文献数据库名>},在排版参考文献处使用,添加文献列表;
latex代码
\documentclass{article}
\usepackage{ctex}
%正文区
\begin{document}
\maketitle%使得导言区的设置生效
引用一篇文章\cite{article1},引用一本书\cite{book1}
\begin{thebibliography}{99}
\bibitem{article1}马化腾,雷军,李彦宏,张一鸣.\emph{基于LaTex的Web数学公式提取方法研究}[J].计算机科学.2014(06)
\bibitem{book1}Andy H,Bob,Cat,\emph{what does the fox say}
\end{thebibliography}
\end{document}
一个更合理的方式是把参考文件单独处理,把该文件保存为后缀名为.bib的格式(test.bib),内容如下:
@BOOK{mittelbach2004,
title={腾讯传},
publisher={广东教育出版社},
year={2004},
author={Frank Mittelbach and Michel Goossens},
series={Tools and Techniques},
address={广东},
edition={First}
}
在原文中引用,
\documentclass{article}
\usepackage{ctex}
\bibliographystyle{plain}
\begin{document}
这是一个文献引用:\cite{mittelbach2004}
\bibliography{test}
\end{document}
编译过程
其基本流程就是:Latex->Bibtex->Latex->Latex。
1、第一步点击Latex编译,可以获得***.aux文件、*.dvi文件、*.log文件以及*.gz**文件;
2、第二步点击Bibtex编译,可以获得***.blg**(性能监视器文件)和***.bbl**文件;
3、第三步再次点击Latex编译,获得新的***.aux文件、*.dvi文件、*.log文件以及*.gz**文件;
4、第四步再次点击Latex编译。
那么这个过程中最有可能遇到什么样的问题呢?
就是常见的第二步Bibtex编译时,获得的*.bbl文件为空或者没有引用文献,如下所示:
begin{thebibliography}{}
end{thebibliography}
如果得到的***.bbl为上述内容,那么下一次Latex**编译时必将报错,报错信息如下:
(…*.bbl
! LaTeX Error: Something’s wrong–perhaps a missing item.
没错,这就是因为我们的***.bbl文件中少了bibitem{}**这条语句,那么如何才能出现这条语句呢,当然也可以手动加上这条语句,但是手动添加几十篇文献就不是一件容易的事情了啊!
那么如何改正这个报错呢?我们只要在文章正文中的任何地方加上cite{}这条语句,然后删除已经生成的bbl文件,重新按照上面说的四个步骤对tex文档进行编译,这样我们就会得到如下的***.bbl**:
\begin{thebibliography}{1}
\bibitem{mittelbach2004}
Frank Mittelbach and Michel Goossens.
\newblock {\em 腾讯传}.
\newblock Tools and Techniques. 广东教育出版社, 广东, first edition,
2004.
\end{thebibliography}
latex
begin{thebibliography}{}
end{thebibliography}
如果得到的***.bbl**为上述内容,那么下一次**Latex**编译时必将报错,报错信息如下:
**(...\*.bbl**
**! LaTeX Error: Something's wrong--perhaps a missing item.**
没错,这就是因为我们的***.bbl**文件中少了**bibitem{}**这条语句,那么如何才能出现这条语句呢,当然也可以手动加上这条语句,但是手动添加几十篇文献就不是一件容易的事情了啊!
那么如何改正这个报错呢?我们只要在文章正文中的任何地方加上**cite{}**这条语句,然后删除已经生成的**bbl**文件,重新按照上面说的四个步骤对**tex**文档进行编译,这样我们就会得到如下的***.bbl**:
```latex
\begin{thebibliography}{1}
\bibitem{mittelbach2004}
Frank Mittelbach and Michel Goossens.
\newblock {\em 腾讯传}.
\newblock Tools and Techniques. 广东教育出版社, 广东, first edition,
2004.
\end{thebibliography}