Latex使用小技巧

时间:2022-04-24 06:06:28

最近写文章用到Latex进行排版,遇到的一些问题和使用技巧在这里分享。


1. Latex创建表格

基本命令如下:

\begin{table}
\begin{tabular}
\end{tabular}
\capion{}
\end{table}

其中,\caption里面是表格的标题,要注意标题可放在表格上方也可放在下方,取决于调用\caption的位置,上述代码表示在表格下方;若想放在上方,在\begin{table}后调用该命令即可。

默认情况下,表格标题和表格之间距离很短,几乎紧贴着,并不是很美观,如果想要让标题和表格隔一定距离,可以采用\abovecaptionskip或者\belowcaptionskip命令,如果标题在表格的上方,采用\belowcaptionskip命令,反之采用\abovecaptionskip。然后后面跟上你想控制的距离,比如\belowcaptionskip=2cm, 表示标题表格之间距离为2cm.

如果要让表格局中,加上参数\centering。

如果想让表格中每一行的内容都居中,代码如下:

\begin{table}
\begin{tabular}{|c|c|c|c|c|}
\end{tabular}
\capion{}
\end{table}

其实也就是给tabular加上参数,{|c|c|c|c|c|},| 表示单元格的边框,c表示center居中,5个c表示有5列。


有的时候,由于每个单元格的内容不同,单元格的宽度也不同,严重影响美观,因此设置等宽的单元格非常重要:

\begin{table}
\begin{tabular}{|p{1.5cm}|p{1.5cm}|p{1.5cm}|p{1.5cm}|p{1.5cm}|}
\end{tabular}
\capion{}
\end{table}


1.5cm表示设置宽度为1.5厘米,也就是用p取代c。这样可设置等宽的单元格。但同时还带来一个问题,单元格内容不居中了,因为c已经没有了。因此如何设置等宽单元格的同时保证单元格内容居中:


\begin{table}
\begin{tabular}{|p{1.5cm}<{\centering}|p{1.5cm}<{\centering}|p{1.5cm}<{\centering}|p{1.5cm}<{\centering}|p{1.5cm}<{\centering}|}
\end{tabular}
\capion{}
\end{table}

也就是加上参数

<{\centering}

该参数,需要添加array包的支持:

\usepackage{array}


\multirow和\multicolumn也是用的非常频繁的命令,它们的作用是合并行或列

\multirow 表示合并行,\multirow{3}{*}{}表示合并3行。最后一个{}中是要填写的内容。以下是详细说明


\multirow{nrows}[bigstructs]{width}[fixup]{text}

nrows 设定所占用的行数。

bigstructs 此为可选项,主要是在你使用了 bigstruct 宏包时使用。

width 设定该栏文本的宽度。如果想让 LaTeX 自行决定文本的宽度,则用 * 即可。

fixup 此为可选项,主要用来调整文本的垂直位置。

text 所要排版的文本。可用 \\ 来强迫换行。


multicolumn用法与multirow类似。不详细展开。


如果你不想敲代码,可以利用网上自动生成的latex表格代码,这里给出一个网站可以根据你的要求自动生成latex表格代码:

http://www.tablesgenerator.com/



2. 创建项目符号,分点的内容一般需要项目符号进行排版,这里给出项目符号的代码:

\begin{itemize}
\item
\item
\item
\item
\item
\item
\end{itemize}


每一个\item表示一行项目符号,在后面添加你的内容即可。这是不带序号的,就是实心圆。如果要列出1、2、3、4序号,代码如下

\begin{enumerate}
\item good morning...
\item good morning....
\end{enumerate}

默认是1、2、3、4,你也可以修改,在\begin{enumrate}后加上参数比如{step 1},那么latex会自动识别该参数,并自动排序,step1、step2等。


3. 插入图片

\begin{figure}
\centering
\includegraphics[height=6.2cm]{4.JPG}
\caption{Network card workflow}
\label{fig:example}
\end{figure}

插入图片需要加上graphicx包的支持:

\usepackage{graphicx}


\includegraphics[height=6.2cm]{4.JPG}


参数height表示控制图片的大小,4.jpg是图片名称,这里图片的路径与该latex工程文件在同一文件夹下。不然找不到该图片。

graphicx包目前支持jpg, png, jpeg等主流图片的支持,但不支持eps等矢量图。如果要在latex中添加eps矢量图,需要改变包的支持。

\usepackage[dvips]{graphicx}


插入图片后进行编译时,不能直接PDFTexify编译,这样不会识别eps图片,虽然编译能通过,但图片无法显示。应该换成Latex进行编译,会生成DVI文件,然后利用dvi-> pdf进行编译,也就是Latex使用小技巧按钮,然后即可生成PDF。


如何生成eps文件呢,首先利用visio画图然后保存为PDF格式,利用Adobe  Acrobat进行剪裁,将空白部分去除,然后双击剪裁部分,勾选删除白边框,然后确定,保存为eps文件即可。


4.插入代码块或伪代码

\begin{verbatim}
function
{
xxx
}
\end{verbatim}

5.添加章节和子章节

\section{I章节}

\subsection{子章节}

{}中是章节的名字