1. xspace
\usepackage{xspace}
命令\xspace
可以自动生成一个空格, 除非其后是标点。LaTeX pifont 宏包 符号列表如下:
2. pifont
\usepackage{pifont}
LaTeX pifont 宏包 符号列表如下:
用法
\ding{172} \ding{173} \ding{174}
编译结果如下:
3. xcolor
\usepackage{xcolor}
默认提供了19种颜色,供用户使用,常见的三种用法:
更改文字颜色,更改文字背景色。
%设置文字颜色的宏包,使用自定义和预定义的颜色
\textcolor{red}{change text color}
%改变文字的背景色
\colorbox{blue}{change background color}
%产生一个红色背景色,蓝色边框的效果
\fcolorbox{blue}{red}{red background, blue box}
编译结果:
4. listing
\usepackage{listings}
利用 listing 宏包的相关设置可以大幅美化代码。
可以使用 \lstset 命令在 LaTeX 源文档的导言区设定好 lstlisting 环境所用的公共参数,如下
注意,要使用 listings 宏包提供的语法高亮,需要 xcolor 宏包支持。
\lstset{
xleftmargin=2em,
xrightmargin=1em,
columns=fixed,
numbers=left, % 在左侧显示行号
numberstyle=\tiny\color{gray},
% 设定行号格式
numbersep=5pt,
frame=shadowbox, % 不显示背景边框
basicstyle=\scriptsize\tt,
identifierstyle=\color{blue},
backgroundcolor=\color[RGB]{240,240,240}, % 设定背景颜色
keywordstyle=\color[RGB]{40,40,255}, % 设定关键字颜色
numberstyle=\footnotesize\color{darkgray},
commentstyle=\it\color[RGB]{0,96,96}, % 设置代码注释的格式
stringstyle=\rmfamily\slshape\color[RGB]{128,0,0}, % 设置字符串格式
showstringspaces=false, % 不显示字符串中的空格
language=python, % 设置语言
}
代码测试如下:
\begin{lstlisting}
#code Segment
Listing 1
import numpy as np
import pandas as pd
def printHL():
print("Hello World!")
if __name__ == "__main__":
printHL()
\end{lstlisting}
编译结果如下:
5. textcomp
\usepackage{textcomp}
这是 LaTeX 的标准宏包之一,它提供了许多 TS1 编码的可直接在文本中使用的常见数理单位和货币符号。例如命令 \textperthousand 可得到“‰”,等等。
%千分之五
5\textperthousand
编译结果:
6. graphicx
\usepackage{graphicx}
插图功能需要graphicx宏包的引入。
代码如下:
\begin{figure}[t!]
\centering
\includegraphics[width=0.3\linewidth]{p30Pro.jpg}
\caption{This is Huawei P30 pro.}
\label{fig:p30}
\end{figure}
编译结果如下:
-
代码解释
\begin{figure}
和\end{figure}
共同构造了一个浮动体的插图环境。
浮动体:这里的浮动体主要是针对图表而言,比如论文中的插图和表格。图表往往能更加直观地表达信息,在学术论文中最为常见,因此图表的排版显得非常重要。
[t]
代表浮动体可以出现在环境周围的文本的上方(top)。\centering
代表图片居中。\caption{}
自动给插图加上标题。- [width=0.3\linewidth]表示宽度占本页的30%。
\label
为图片贴上标签,方便未来引用。
-
注意事项
这段代码非常格式化,几乎可以用于所有论文写作的插图。
7. algorithm,algorithmic
\usepackage{algorithm}
\usepackage{algorithmic}
algorithm包来编写伪代码,同时使用:
- algorithmic是第一代算法排版环境
- algorithmicx是第二代算法排版环境
- algorithm2e是第三版算法排版环境
以上三种算法排版环境中algorithmic比较老了,现在用的较多的是algorithmicx和algorithm2e排版环境。并且这三种排版环境不能混用。
\begin{algorithm}[t]
\caption{PARTITION$(A,p,r)$}%算法标题
\begin{algorithmic}[1]%一行一个标行号
\STATE $i=p$
\FOR{$j=p$ to $r$}
\IF{$A[j]<=0$}
\STATE $swap(A[i],A[j])$
\STATE $i=i+1$
\ENDIF
\ENDFOR
\end{algorithmic}
\end{algorithm}
编译的结果如下:
8. amsmath,amssymb,amsfonts
\usepackage{amsmath,amssymb,amsfonts}
amssymbamssymb是宏包套件 AMSFonts 中的一个宏包,它定义了 amsfonts 宏包里 msam 和 mabm 字库中全部数学符号的命令。当调用该宏包时,amsfonts 宏包也同时被加载了。
amsmath,amssymb,amsfonts是常用宏包,主要实现一些特殊符号,数学公式以及一些命令。
代码:
$\angle$
编译结果:
9. ulem
\usepackage{ulem}
ulem宏包可以提供各种各样的标记线(可以用于数学公式环境中),这里记录一些简单常用的命令。
This is \emph{emph}. %强调
This is \uline{uline} %单下划线
This is \uuline{uuline} %双下划线
This is \uwave{uwave} %波浪线
This is \sout{sout} %正中删除线
This is \dotuline{dotuline} %点线
This is \dashuline{dashuline} %虚线
This is \xout{xout}\par %斜删除线
编译结果:
在latex中,强调可以以斜体形式展现出来。那么强调命令是如何体现的呢:
\emph{内容}
在引入ulem宏包的情况下,emph命令显示的不再是斜体字而是下划线了。无特殊需求,我们一般是不希望这种情况发生的,而在官方文档中我们可以找到解决方法,即
In LATEX, ulem normally replaces italics with underlining in text emphasized by \emph, and to some extent by \em. A declaration of \normalem or the \usepackage option [normalem] disables this feature.
直接在导言区中设置,将原来的引入宏包改为
\usepackage[normalem]{ulem}
即可解决\emph带来的冲突。
更改前的编译结果为:
更改后的编译结果为,\emph充当斜体的作用。