LaTex基础语法记录

\(\LaTeX{}\)基础语法记录


一些关键词

\lipsum

\lipsum是宏包{lipsum}中的命令,用于生成随机的文本。一般用于模板的演示。

​ 对于宏包而言,可以使用\usepackage调用

倾斜与加粗

\emph{% text %}是将text变为斜体,但是\emph{}适合单行,\em ... \em回对两个成对的\em之间的所有字体(包括标题)进行斜体化。

\textbf是 文字粗体(text bold font)\(\textbf{Like: Test}\) <-> \(\text{Like: test}\)

\mathbf 是tex中的数学粗体,\(\text{vector }\mathbf{a,b,A}\)

\pmb 是粗斜体:\(\pmb{b}=\pmb{Ax}\)

其他常用操作

(1)字体大小更换 (定性) \[ \begin{align} &\tiny \text{\tiny font for the things I have written. 1234567890}\\ &\scriptsize \text{\scriptsize font for the things I have written. 1234567890}\\ &\small \text{\small font for the things I have written. 1234567890}\\ &\normalsize \text{\normalsize font for the things I have written. 1234567890}\\ &\large \text{\large font for the things I have written. 1234567890}\\ &\Large \text{\Large font for the things I have written. 1234567890}\\ &\LARGE \text{\LARGE font for the things I have written. 1234567890}\\ &\huge \text{\huge font. 1234567890}\\ &\Huge \text{\Huge font. 1234567890}\\ \end{align} \] ​ 使用一些常用的大小描述词即可。

(2)字体大小更换(定量)

\fontsize是可以调整字体大小的,但貌似不是很好用。对于公式\begin{align}以及\emph中的字体大小可以进行更改,但是对于\text内部的字体,无法很好地修改。

(3)字体切换: \[ \begin{align} \sf {\text{That is the most wonderful thing I know. \sf} } \\ \tt {\text{That is the most wonderful thing I know. \tt}} \\ \rm {\text{That is the most wonderful thing I know. \rm}} \end{align} \]\sf 为sans-serif字体集合,\tt为typewriter字体,\rm为罗马字体集。

(4)矩阵的书写

  • matrix: 无框matrix
  • pmatrix: 圆括号matrix
  • vmatrix: 行列式matrix
  • bmatrixBmatrix: 中括号matrix与大括号matrix

\[ \begin{pmatrix}\label{mats} 1,0,0\\ 0,1,0\\ 0,0,1 \end{pmatrix}, \begin{pmatrix} 1 & 0 & 0\\ 0 & 1 & 0\\ 0 & 0 & 1 \end{pmatrix}, \begin{matrix} 1 & 0 & 0\\ 0 & 1 & 0\\ 0 & 0 & 1 \end{matrix}, \begin{bmatrix} 1 & 0 & 0\\ 0 & 1 & 0\\ 0 & 0 & 1 \end{bmatrix}, \begin{vmatrix} 1 & 0 & 0\\ 0 & 1 & 0\\ 0 & 0 & 1 \end{vmatrix}, \begin{Bmatrix} 1 & 0 & 0\\ 0 & 1 & 0\\ 0 & 0 & 1 \end{Bmatrix} \]

(5)其他常用命令

命令 作用 示例
\newpage 直接换页(相当于html的 div always) markdown不支持
\item 分点,加小圆点 \begin{itemize} \item ... \item ... \end{itemize}
\section{name} 一级标题(1. ) \section{Header}
\subsection{name} 二级标题(1.1.) \subsection{Header}
\subsubsection{n} 三级标题(1.1.1.) \subsubsection{Header}
\begin{Lemma} 引理开始 \begin{Lemma} \label{name}... \end{Lemma}
\begin{Theorem} 定理开始 \begin{Theorem} \label{name}... \end{Theorem}
\eqref 公式引用,相当于设置内部链接 \(\eqref{mats}\)\eqref{mats}
\ref 非公式引用 \(\ref{mats}\)\ref{mats}
\url 链接 \url{http://www.latexstudio.net/}
\eqno 在非编号模式下,可以进行编号 \eqno{(1)}\eqno可以无视原有的标号,并且支持字符串
\vspace{} 插入竖直方向的空行 比如\vspace{\parskip},跳过的距离相当于两个段落之间的距离
\textcolor[rgb]{r,g,b} 修改字体颜色 \(\textcolor[rgb]{0,0,1}{1,2,3}\).$\textcolor[rgb]{0,0,1}{1,2,3}$
  • 对于引用而言,提到公式就需要进行\eqref,其他的如见figure x,也需要用到\ref

图片操作

1
2
3
4
5
\begin{figure}[h]		% 如果没有[h] LaTex可能会自动排版
\centering % 一般都是需要居中的
\includegrahics[width=xxcm]{name_of_the_pic.jpg}
\caption{test the fig} \label{fig:test1}
\end{figure}

​ 按照以上语法可以插入一张图片,并且,对于第三行的include graphics,会按照宽度自动横向,竖向编排。如果需要多图,可以多个\includegraphics,当然也可以使用子图:主要是minipage的使用与subfigure

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
% latex 竖排操作
\begin{figure}[h]
\centering
\subfigure[line1]{
\begin{minipage}[b]{0.23\linewidth}
\includegraphics[width=1\linewidth]{4.jpg}\vspace{4pt}
\includegraphics[width=1\linewidth]{4.jpg}\vspace{4pt}
\includegraphics[width=1\linewidth]{4.jpg}\vspace{4pt}
\includegraphics[width=1\linewidth]{4.jpg}\vspace{4pt}
\end{minipage}
}
\subfigure[line2]{
\begin{minipage}[b]{0.23\linewidth}
\includegraphics[width=1\linewidth]{4.jpg}\vspace{4pt}
\includegraphics[width=1\linewidth]{4.jpg}\vspace{4pt}
\includegraphics[width=1\linewidth]{4.jpg}\vspace{4pt}
\includegraphics[width=1\linewidth]{4.jpg}\vspace{4pt}
\end{minipage}
}
\subfigure[line3]{
\begin{minipage}[b]{0.23\linewidth}
\includegraphics[width=1\linewidth]{4.jpg}\vspace{4pt}
\includegraphics[width=1\linewidth]{4.jpg}\vspace{4pt}
\includegraphics[width=1\linewidth]{4.jpg}\vspace{4pt}
\includegraphics[width=1\linewidth]{4.jpg}\vspace{4pt}
\end{minipage}
}
\subfigure[line4]{
\begin{minipage}[b]{0.23\linewidth}
\includegraphics[width=1\linewidth]{4.jpg}\vspace{4pt}
\includegraphics[width=1\linewidth]{4.jpg}\vspace{4pt}
\includegraphics[width=1\linewidth]{4.jpg}\vspace{4pt}
\includegraphics[width=1\linewidth]{4.jpg}\vspace{4pt}
\end{minipage}
}
\caption{multiple dogs} \label{fig:dogs}
\end{figure}

显示的结果如下:

相关代码理解

\subfigure[name]{} 花括号内的内容与普通的\begin{figure}[xxx]内部的内容极其相似,甚至可以一样。比如说我不需要多图(上述代码是4*4 多图显示的情况),我只需要每列一张图片,那么minipage完全不需要使用(\minipage相当于将页面分割为更小的页面)。只需按照如下方式书写即可:

1
2
3
\subfigure[name]{
\includegraphics[width=xxxcm]{name.jpg}
}

​ 对于\minipage的设置,\begin{minipage}[b]{0.23\linewidth}其中[b]可能与位置设置有关,只要所有minipage的设置一致就不会出现图片错位的问题。而{0.23\linewidth}表示的是当前的【正文的,原page的】linewidth(行的宽度(跨度))的0.23倍。也就是设置这个minipage的宽度大小。由于4 * 4,所以设置约1/4,需要留一定余量。

​ 而由于在\minipage花括号之内,\linewidth将与定义的minipage一致,那么可以简单地写为:插入图片的宽度就为\linewidth,占满整个minipage行宽即可。

​ 图片的插入并非什么困难的问题,主要是图片的排版。排版的话,传统的\begin{figure}[htbp]用处不大,可以考虑:

1
2
\usepackage{float}		% 图片浮动宏包
\begin{figure}[H] % 图片定位在当前位置

显示效果如图所示:


表格的插入

1
2
3
4
5
6
7
8
9
10
11
12
\begin{table}  
\centering
\caption{table} \vspace{4pt}
\begin{tabular*}{12cm}{cccc}
\hline\vspace{1pt}
\textbf{Name} & \textbf{Gender} & \textbf{Current Address} & \textbf{Score}\vspace{1pt}\\
\hline\vspace{1pt}
Tobby & Male & 4 Avenue, Chicago, Illinois & 99\vspace{1pt}\\
Laura & Female & unknown town, Atlanta, Georgia & 98\vspace{1pt}\\
\hline\vspace{1pt}
\end{tabular*}
\end{table}

输出的结果如下图所示:

相关代码理解

- 为什么要用{tabular\*}?

{tabular\*}是可以进行线表宽度调整的,比如表格太小了,希望宽度方向能占更大的空间,需要使用语法:\begin{tabular*}{宽度}[位置]{对齐样式与列数}

​ 普通的{tabular}只需要:\begin{tabular}[位置]{对齐样式与列数}。这样的表格是根据内容自适应调整大小的。

​ 其中{cccc}表示4列,每列都是举中对齐。如果需要左边对齐,使用llll。

- 线表样式

\hline表示插入一根横向线,\vline可以在cell元素值内部使用,相当于竖线。

\vspace一般用于调整间距,& 用于分割。