[论文工具] LaTeX论文撰写常见用法及实战技巧归纳(持续更新)

news2025/1/21 9:41:15

祝大家中秋国庆双节快乐!
回过头来,我们在编程过程中,经常会遇到各种各样的问题。然而,很多问题都无法解决,网上夹杂着各种冗余的回答,也缺乏系统的实战技巧归纳。为更好地从事科学研究和编程学习,后续将总结各类常见实战技巧,希望对您有所帮助。

本文主要介绍LaTeX论文撰写的常见用法和实战技巧总结,包括论文的基本结构、算法、图片、表格、公式、特殊符号、参考文献、序号等方法。全文将持续更新,一方面作为自己的学习笔记,另一方面希望能帮助初学者解决实际问题,且看且珍惜!

文章目录

  • 基本论文结构
    • 什么是LaTeX
    • 基本结构
    • 篇章结构
  • 算法
    • algorithm
    • algorithm2e
  • 图片
    • 基本用法
    • 双栏显示
    • 双图显示
  • 表格
    • 基本用法
    • 含注释的表格
    • 复杂表格合并multirow
    • 解决自动换行
  • 公式
  • 特殊符号
    • 圆圈数字
    • 半圆
    • 勾叉
    • 纸牌
  • 参考文献
  • 序号
  • 总结


基本论文结构

什么是LaTeX

LaTeX是一种基于ΤΕΧ的排版系统,由美国计算机学家莱斯利·兰伯特在20世纪80年代初期开发,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由TeX所提供的强大功能,能在几天、甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。

LaTeX的工作方式类似网页,它们都是由源文件(.tex or .html)经由引擎(TeX or browser)渲染产生最终效果,从而得到PDF文件或生成页面。两者极其神似,包括语法规则与工作方式。

在这里插入图片描述

官方下载地址如下:

  • Tex Live下载地址:http://www.tug.org/texlive/
  • 清华大学镜像地址:https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/Images/
  • Tex studio下载地址:http://www.texstudio.org/

强烈推荐大家直接下载LaTex模块进行修改,这篇文章更多是告诉大家基本语法,安装过程请大家下来去尝试,希望对您有所帮助!


基本结构

LaTeX文档分为导言区和正文区(文稿区),在导言区我们可以使用documentclass命令引入一个文档类,也可以有book类、report类、letter类,其中百分号表示注释,不参与文档编译且不作为输出。在正文区用begin和end输入一个环境,如下图所示:

在这里插入图片描述

接着将环境的名称设置为document,一个LaTeX文件有且只能有一个document文件,添加正文内容再编译文档。

在这里插入图片描述

导言区主要用于全局设置,比如文档标题、作者、日期,再通过maketitle显示标题。

% 导言区
\documentclass{article}

\title{My First Document}
\author{Eastmount}
\date{\today}

% 正文区
\begin{document}
	\maketitle
	Hello World!
\end{document}

显示如下图所示:

在这里插入图片描述


篇章结构

学术论文通常包括两种结构,如下图所示,左边表示理论型,右边表示实验型。

在这里插入图片描述

在LaTeX中我们可以通过section定义小结,也可以用subsection定义子小结。同时更推荐大家下载IEEE结构进行修改,后面我也会讲到。

  • \section{Section title}
  • \label{sec:mysection}
  • \subsection{title}
  • \subsubsection{title}
  • \section*{} unnumbered section
  • \appendix

举个示例:

% 导言区
\documentclass{article}
\usepackage{ctex}

\title{My First Document}
\author{Eastmount}
\date{\today}

% 正文区
\begin{document}
	\maketitle
	
	% 构建文章小结
	\section{Introduction}
	\section{Related Work}
	\section{System Model}
	\section{Mathematics and algorithms}
	\section{Experiments}
	\subsection{Datasets}
	\subsubsection{实验条件}
	\subsubsection{评价指标}
	\subsection{Results}
	\section{Acknowledgment}
	
\end{document}

输出结果如下图所示:

在这里插入图片描述


算法

通常采用两种方法进行算法的编写,包括:

  • 使用algorithm、algorithmic宏包
  • 使用algorithm2e宏包

algorithm

导入包:

\usepackage{algorithm}
\usepackage{algorithmic}

算法代码:

\begin{algorithm}[!ht]
	\caption{Feature extraction based on abstract syntax tree.}
	
	\begin{algorithmic}[1]
	
	\REQUIRE {$X=\left\{x_1,x_2,...,x_n\right\}$, where $x_i$ is the $i^{th}$ PowerShell script.}
	\ENSURE {$V^{(ast)}=\left\{v_1,v_2,...,v_n\right\}$, where $v_i$ is the $i^{th}$ sequence vector generated by AST-based feature extraction method (i.e., AST2Vec).}
	\STATE $V^{(ast)} \leftarrow \emptyset$ , $S \leftarrow \emptyset$, $F \leftarrow \emptyset$, $W \leftarrow \emptyset$ 
	
	\FOR{$i \leftarrow 1$ {\bf to} $n$}
		\STATE $t_i = ExtractAstSequences( x_i )$ 
		\STATE $s_i = PostorderTraversal( t_i )$ 
		\STATE $S.append( s_i )$
	\ENDFOR
	\STATE $F = BuildFeatureSetFromAst(S) $
	\STATE $//$ Count all distinct features of AST sequences.
	\FOR{each $f_k \in F$}
		\STATE $w_k = CalculateWordVectors( f_k )$ 
		\STATE $W.append( w_k )$
	\ENDFOR
	\STATE $//$ Calculate word vectors for each AST node.
	\FOR{each $s_i \in S$}
		\STATE $v_i = GenerateAstEmbedding( s_i )$ 
		\STATE $V^{(ast)}.append( v_i )$
	\ENDFOR
	\STATE {\bf return} {$V^{(ast)}$}  
\end{algorithmic}
\label{algorithm1}
\end{algorithm}

运行结果如下图所示:

在这里插入图片描述


algorithm2e

导入包:

\usepackage{algorithm}
\usepackage[algo2e]{algorithm2e}

算法代码:

\begin{algorithm}[!ht]
	\caption{Feature extraction based on abstract syntax tree.}
	\label{algorithm1}
	\SetAlgoLined
	\SetKwInOut{Input}{Input}
	\SetKwInOut{Output}{Output}
	
	\Input{$X=\left\{x_1,x_2,...,x_n\right\}$, where $x_i$ is the $i^{th}$ PowerShell script.}
	\Output{$V^{(ast)}=\left\{v_1,v_2,...,v_n\right\}$, where $v_i$ is the $i^{th}$ sequence vector generated by AST-based feature extraction method (i.e., AST2Vec).}
	
	Initialization: $V^{(ast)} \leftarrow \emptyset$ , $S \leftarrow \emptyset$, $F \leftarrow \emptyset$, $W \leftarrow \emptyset$ 
	
	\For{$i \leftarrow 1$ \KwTo $n$}{
		$t_i = ExtractAstSequences( x_i )$ 
		$s_i = PostorderTraversal( t_i )$ 
		$S.append( s_i )$
	}
	$F = BuildFeatureSetFromAst(S) $
	\tcc{Count all distinct features of AST sequences}
	\For{$f_k \in F$}{
		$w_k = CalculateWordVectors( f_k )$ 
		$W.append( w_k )$
	}
	\tcc{Calculate word vectors for each AST node}
	\For{$s_i \in S$}{
		$v_i = GenerateAstEmbedding( s_i )$ 
		$V^{(ast)}.append( v_i )$
	}
	\Return{$V^{(ast)}$}  
\end{algorithm}

运行结果如下图所示:

在这里插入图片描述


图片

基本用法

在LaTeX中插入图片的基本语法如下:

  • 导言区插入:\usepackage{graphicx}
  • 语法:\includegraphics[ < 选项 > ] { < 文件名 > }
  • 格式:EPS、PDF、PNG、JPEG、BMP

在这里插入图片描述

下面举例说明:

% 导言区
\documentclass{article}
\usepackage{ctex}
\usepackage{graphicx}

% 指定图片在当前目录下figures目录下
\graphicspath{{figures/}}

% 正文区
\begin{document}
	% 插入图片
	\includegraphics{fig1}
	% 缩放比例
	\includegraphics[scale=0.5]{fig1}
	% 固定图像高度
	\includegraphics[height=2cm]{fig1.png}
	% 固定图像宽度
	\includegraphics[width=2cm]{fig1.png}
	% 图像高度和宽度基于
	\includegraphics[height=0.2\textheight]{fig1.png}
	\includegraphics[width=0.2\textwidth]{fig1.png}
	% 指定多个参数
	\includegraphics[angle=-45,width=0.5\textwidth]{fig1.png}
\end{document}

显示结果如下图所示,scale=0.5是将图片大小缩小为真实大小的一半,[width=0.2\textwidth] 将图形缩放到文本的0.2倍。

在这里插入图片描述


双栏显示

注意,在论文中通常会遇到要横跨两栏的应用场景,此时我们需要这样设置:

  • \begin{figure*}
  • \end{figure*}
\usepackage{stfloats}
\begin{figure*}[ht]
	\centering
	\includegraphics[width=0.8\textwidth]{4.eps}
	\caption{BER performance of original OFDM system and different companding schemes over AWGN channel (QPSK).}
	\label{fig8}
\end{figure*}

上面代码中,figure* 表示跨双栏,htbp表示的意思是latex会尽量满足排在前面的浮动格式,就是h-t-b-p这个顺序,让排版的效果尽量好。其中,h-here表示在此处,t-top表示在顶部,b-bottom表示底部,p-page表示在本页。为了防止跨页图片跑到最后一页,我们需要在导言区加入stfloats包,然后设置\begin{figure*}[ht] 即可。

h——放置在此处
t——放置在顶部
b——放置在底部
p——浮动放置
*——两栏放置

在这里插入图片描述


双图显示

第一种方式——调用minipage实现,也是最常见的方式。

\begin{figure*}
	\begin{minipage}[t]{0.48\linewidth}
		\centering
		\includegraphics[scale=0.30]{Figure-7.eps}
		\caption{The loss curve of different models.}
		\label{fig7}
	\end{minipage}
	\begin{minipage}[t]{0.48\linewidth}
		\centering
		\includegraphics[scale=0.30]{Figure-8.eps}
		\caption{The accuracy curve of different models.}
		\label{fig8}
	\end{minipage}
\end{figure*}

显示效果如下图所示:

在这里插入图片描述

第二种方式——调用subfigure实现。

\usepackage{caption}
\usepackage{subfigure}

\begin{figure}[htbp]
	\centering    %居中
	\subfigure[name of the first figure] %第一张子图
	{
		\begin{minipage}[t]{0.4\textwidth}
			\centering
			\includegraphics[scale=0.15]{fig2}
		\end{minipage}
	}
	\subfigure[name of the second figure] %第二张子图
	{
		\begin{minipage}[t]{0.4\textwidth}
			\centering      
			\includegraphics[scale=0.2]{fig3} 
		\end{minipage}
	}
	\caption{name of the figure}        %大图名称
	\label{fig-1}  %图片引用标记
\end{figure}

显示如下图所示:

在这里插入图片描述

第三种方法——调用宏包宏包subfig。使用subfig宏包提供的\subfloat命令,需要使用宏包\usepackage{graphicx}和\usepackage{subfig}。

\begin{figure}[!hb]
	\centering
	\subfloat[\label{fig:arm1}$Q^{*}$ values for arm 1]{\includegraphics[width=.5\linewidth]{1.eps}}%
	\subfloat[\label{fig:arm2}$Q^{*}$ values for arm 2]{\includegraphics[width=.5\linewidth]{1.eps}}\\
	\subfloat[\label{fig:arm3}$Q^{*}$ values for arm 3]{\includegraphics[width=.8\linewidth]{1.eps}}
	\caption{$Q^{*}$ values for different arms.}
	\label{fig:arms}
\end{figure}

显示如下图所示:

在这里插入图片描述


表格

基本用法

在LaTeX中使用tabular生成表格,插入时需要设置对齐方式(l-左对齐、c-居中对齐、r-右对齐),然后插入数据,其中&用于分割每列,\\用于换行。下面的代码展示常见的三线表。

\begin{table}
	\caption{Symbol Table}
	\centering
	\begin{tabular}{lll}
	\hline
			Symbol & Definition & Unitis\\
			\noalign{\global\arrayrulewidth1pt}\hline\noalign{\global\arrayrulewidth0.4pt}
			\multicolumn{3}{c}{\textbf{Constants}}\\
			$\lambda$ & Mean of Poisson distribution & unitless\\
			$p_{slow}$ & Probability that a vehicle slows down randomly & unitless\\
			\hline
		\end{tabular}
\end{table}

显示如下图所示:

在这里插入图片描述

含注释的表格

在IEEE的LaTex模板里希望添加表格的注释,即说明表格字符的含义。具体流程如下:

  • 使用\usepackage{threeparttable}
  • \begin{tabular}后加上\begin{threeparttable},和\end{tabular}前加上\end{threeparttable}
  • 注释加在\begin{tablenotes} 和 \end{tablenotes}之间

导入扩展包如下所示:

\usepackage{threeparttable}
\usepackage{float}
\usepackage{bbding}
\usepackage{pifont}

代码如下:

\begin{table*}[!ht]
	\centering
	\caption{Related work comparison.}
	\begin{threeparttable}
	\resizebox{\textwidth}{!}{
		\begin{tabular}{ccccm{1.2cm}<{\centering}m{1.2cm}<{\centering}cc}\hline
			Related work & Techniques & Focus & Deobfuscation &  AST & KG & Multi-modal & Transformer  \\\hline
			Li et al. \cite{b3} & \makecell[c]{subtree-based deobfuscation \\ OOA mining algorithm} & deobfuscation & \Checkmark & \Checkmark & \XSolid & \XSolid  & \XSolid \\\hline
			PSDEM \cite{b12} & \makecell[c]{two-layer deobfuscation \\  monitor process by dynamic analysis} & deobfuscation & \Checkmark & \XSolid & \XSolid & \XSolid & \XSolid \\\hline
			PowerDrive \cite{b13} & \makecell[c]{multi-stage deobfuscator \\  static analysis by regex \\ dynamic analysis by cmdlet} & deobfuscation & \Checkmark & \XSolid & \XSolid & \XSolid & \XSolid \\\hline
			PowerDecode \cite{b15} & \makecell[c]{syntax check and remove base64 encoding \\ deobfuscate by cmdlet overriding  \\ deobfuscate by regex} & deobfuscation & \Checkmark & \XSolid & \XSolid & \XSolid & \XSolid \\\hline
			Hendler et al. \cite{b18} & \makecell[c]{character-level CNN \\ 4-layer CNN} & binary classification & \XSolid & \XSolid & \XSolid & \XSolid & \XSolid \\\hline
			Fang et al. \cite{b19} & \makecell[c]{hybrid features \\ FastText \\ random forest} & binary classification & \Checkmark & \Checkmark & \XSolid & $\bigcirc$ & \XSolid \\\hline
			Hendler et al. \cite{b2} & \makecell[c]{AMSI-based detection \\ contextual embeddings \\ Token-Char-FastText} & binary classification & \XSolid & \XSolid & \XSolid & \XSolid & \XSolid \\\hline
			FC-PSDS \cite{b25} & \makecell[c]{ features combination \\ random forest and DNN} & binary classification & \Checkmark & \Checkmark & \XSolid & \XSolid & \XSolid \\\hline
			Ruscak et al. \cite{b20} & \makecell[c]{abstract syntax tree \\ random forest} & multi-classification task & \XSolid & \Checkmark & \XSolid & \XSolid & \XSolid \\\hline
			\makecell[c]{\textbf{Our method} \\ \textbf{PowerDetector}} & \makecell[c]{multi-modal embedding \\ Transformer-CNN-BiLSTM \\ multi-layer deobfuscation algorithm } & \makecell[c]{malicious family detection \\ multi-classification task} & \Checkmark & \Checkmark & \Checkmark & \Checkmark & \Checkmark \\\hline
	\end{tabular}}
	
	\begin{tablenotes}
		\footnotesize
		\item In this table, \Checkmark stands for fully cover, $\bigcirc$ stands for partial cover, \XSolid means cannot cover.
	\end{tablenotes}
	\end{threeparttable}
	\label{tab1}
\end{table*}

运行结果如下图所示:

在这里插入图片描述


复杂表格合并multirow

利用multirow宏包实现,multirow命令的基本语法格式如下:

  • \multirow{[行数]}{[宽度]}{[内容]}
  • \multirow{[行数]}*{[内容]}

导入包:

\usepackage{multirow}

代码如下:

\begin{table*}[!ht]
	\centering
	\caption{Detailed performance comparison of single-modal and multi-modal.}
	\resizebox{\textwidth}{!}{
	\begin{tabular}{ccccccccccc}\hline
		\multirow{3}{*}{Model} & \multicolumn{8}{c}{Single-modal} & \multicolumn{2}{c}{\multirow{2}{*}{Multi-modal}} \\
		\cline{2-9}
		& \multicolumn{2}{c}{Token-level} & \multicolumn{2}{c}{Character-level} & \multicolumn{2}{c}{AST-level} & 
		\multicolumn{2}{c}{KG-level} & \multicolumn{2}{c}{} \\
		\cline{2-11}
		& $F_1$ & Acc & $F_1$ & Acc & $F_1$ & Acc & $F_1$ & Acc & $F_1$ & Acc \\\hline
		LR & 0.8727 & 0.8629 & 0.8496 & 0.8528 & 0.8661 & 0.8700 & 0.8646 & 0.8559 & 0.8895 & 0.8857 \\
		RF & 0.8723 & \textbf{0.8676} & \textbf{0.8610} & \textbf{0.8567} & \textbf{0.8807} & \textbf{0.8786} & 0.8723 & 0.8676 & \textbf{0.9017} & \textbf{0.8943}  \\
		SVM & 0.8764 & 0.8661 & 0.8527 & 0.8519 & 0.8755 & 0.8786 & \textbf{0.8771} & 0.8676 & 0.8934 & 0.8912  \\
		KNN & 0.8706 & 0.8669 & 0.8554 & 0.8536 & 0.8644 & 0.8637 & 0.8741 & \textbf{0.8715} & 0.8804 & 0.8771 \\\hline
		CNN & 0.9002 & 0.8974 & 0.8826 & 0.8808 & 0.9019 & 0.8998 & 0.9025 & 0.8998 & 0.9153 &  0.9115 \\
		TextCNN & 0.9049 & 0.9013 & 0.9012 & 0.8966 & 0.9083 & 0.9076 & 0.9036 & 0.9005 & 0.9186 & 0.9178  \\
		BiLSTM & 0.9076 & 0.9069 & 0.9037 & 0.9036 & 0.9126 & 0.9107 & 0.9054 & 0.9025 & 0.9226 & 0.9209  \\
		BiGRU & 0.9041 & 0.9021 & 0.8989 & 0.8966 & 0.9092 & 0.9045 & 0.9046 & 0.9013 & 0.9205 & 0.9201  \\
		Transformer & 0.9123 & 0.9107 & 0.9053 & 0.9029 & 0.9116 & 0.9092 & 0.9121 & 0.9115 & 0.9224 & 0.9178  \\
		CNN-BiLSTM+ATT & \textbf{0.9142} & \textbf{0.9123} & \textbf{0.9081} & \textbf{0.9076} & \textbf{0.9144} & \textbf{0.9139} & \textbf{0.9139} & \textbf{0.9123} & \textbf{0.9262} & \textbf{0.9209} \\\hline
		\textbf{Our Method} & \textbf{0.9236} & \textbf{0.9225} & \textbf{0.9170} & \textbf{0.9169} & \textbf{0.9248} & \textbf{0.9233} & \textbf{0.9204} & \textbf{0.9201} & \textbf{0.9374} &\textbf{0.9358}	\\\hline                                
	\end{tabular}}
	\label{tab5}
\end{table*}

运行结果如下图所示:

在这里插入图片描述


解决自动换行

采用taularx解决相关问题,参考下列这篇博客。

  • https://blog.csdn.net/wanjiac/article/details/107489700

正常显示会越界,如下图所示:


\begin{table*}[h]
	\centering
	\begin{tabular}{cc} \hline
		Use Case Navn: & Opret Server \\\hline
		Scenarie: & At oprette en server med bestemte regler som tillader folk at spille sammen. 
                        The nonlinear companding function introduce some nonlinear distortion to original OFDM signal, 
                        which can be eliminated theoretically by the decompanding function. \\\hline
	\end{tabular}
	\label{tab5}
\end{table*}

运行结果如下图所示,显然越界。

在这里插入图片描述

导入包:

\usepackage{tabularx}

代码如下:

\begin{table*}[h]
	\centering
	\begin{tabularx}{\textwidth}{p{4cm} X} \hline
		Use Case Navn: & Opret Server \\\hline
		Scenarie: & At oprette en server med bestemte regler som tillader folk at spille sammen. 
                        The nonlinear companding function introduce some nonlinear distortion to original OFDM signal, 
                        which can be eliminated theoretically by the decompanding function. \\\hline
	\end{tabularx}
	\label{tab5}
\end{table*}

运行结果如下图所示:

在这里插入图片描述


公式

LaTeX中的数学模式有两种形式:inline 和 display。前者是指在正文插入行间数学公式,后者独立排列,可以有或没有编号。

  • 行内公式(inline): 用 $…$将公式括起来进行排版,也可以使用小括号和\begin{math}排版。
  • 行间公式(displayed): 用 $ $…$ $ 将公式括起来是无编号的形式,还有 \ [ … \ ]的无编号独立公式形式,块间元素默认是居中显示的。
  • 上标使用^符号,下表使用_符号。
  • 常见数学函数包括 \log、\sin、\cos、\arcsin、\arccos、\ln、\sqrt等。
  • 分数建议使用\frac{3}{4}表示3/4。
  • 如果需要对公式进行自动编号,要在equation环境下进行排版,同时调用\ref直接引用。
  • 各类希腊字母编辑表,常见符号如下图所示。

在这里插入图片描述

如果您正在编写包含许多复杂公式的科学文档,则amsmath包引入了几个新命令,这些命令比基本LaTeX提供的命令更强大,更灵活。

  • \usepackage {amsmath}
  • \usepackage {mathtools}

Stone_Stan4d老师的文章“Latex的公式输入”归纳总结了常见的符号,如下图所示:

在这里插入图片描述

接着给出一些示例:

在这里插入图片描述

(1)矩阵公式:

\begin{equation}
\begin{aligned}
	V^{(token)}=
	\begin{bmatrix}
		v_{11} & v_{12} & \cdots & v_{1m} \\
		v_{21} & v_{22} & \cdots & v_{2m} \\
		\vdots & \vdots & \ddots & \vdots \\
		v_{n1} & v_{n2} & \cdots & v_{nm} \\
	\end{bmatrix}
\end{aligned}
\label{eq1}
\end{equation}

显示如下图所示:

在这里插入图片描述

(2)分段函数公式:

\begin{equation}
\begin{aligned}
	TokenPairs[j][k] = 
	\begin{cases}
	v_{jk} + 1 & \exists <f_j,f_k>  \\
	v_{jk} + 0 & other  \\
	\end{cases}.
\end{aligned}\label{eq2}
\end{equation}

显示如下图所示:

在这里插入图片描述

(3)分数函数:

\begin{equation}
\begin{aligned}
	Attention(\textbf{Q},\textbf{K},\textbf{V}) = softmax \left( \frac{\textbf{Q}\textbf{K}^T}{\sqrt{d_k}} \right) \textbf{V}.
\end{aligned}\label{eq5}
\end{equation}

显示如下图所示:

在这里插入图片描述

(4)准确率公式:

\begin{equation}
\begin{aligned}
	Accuracy = \sum_{i=1}^N Accuracy_i \times w_i .
\end{aligned}\label{eq15}
\end{equation}

显示如下图所示:

在这里插入图片描述

需要注意,不同于图表使用“\ref{tab1}”的引用,公式使用“\eqref{eq1}”引用。区别是显示是否带有括号。

在这里插入图片描述

详细的公式使用文章推荐如下:

  • https://zhuanlan.zhihu.com/p/450465546

特殊符号

圆圈数字

正常推荐使用pifont宏包。

  • https://zhuanlan.zhihu.com/p/615066252
  • https://milde.users.sourceforge.net/LUCR/Math/mathpackages/amssymb-symbols.pdf
\usepackage{pifont}
\ding{184}

在这里插入图片描述

各种样式如下:

\ding{182}\ding{183}\ding{184}\ding{185}\ding{186}\ding{187}\ding{188}\ding{189}\ding{190}\ding{191}\\

\ding{192}\ding{193}\ding{194}\ding{195}\ding{196}\ding{197}\ding{198}\ding{199}\ding{200}\ding{201}\\

\ding{202}\ding{203}\ding{204}\ding{205}\ding{206}\ding{207}\ding{208}\ding{209}\ding{210}\ding{211}\\

显示效果如下图所示:

在这里插入图片描述

然后,有时候出版社的模板无法引用pifont宏包,则使用如下:

$\textcircled{3}$

但数字编号大的时候,数字会跑到圆圈外面。

在这里插入图片描述

解决方法如下:

\normalsize{\textcircled{\scriptsize{3}}}\normalsize\enspace

在这里插入图片描述


半圆

导入引用包和代码:

\usepackage{tikz}
\newcommand*\emptycirc[1][1ex]{\tikz\draw (0,0) circle (#1);} 
\newcommand*\halfcirc[1][1ex]{%
	\begin{tikzpicture}
	\draw[fill] (0,0)-- (90:#1) arc (90:270:#1) -- cycle ;
	\draw (0,0) circle (#1);
	\end{tikzpicture}}
\newcommand*\fullcirc[1][1ex]{\tikz\fill (0,0) circle (#1);} 

使用如下:

\fullcirc
\halfcirc
\emptycirc

在这里插入图片描述

参考文献:https://blog.csdn.net/weixin_43846270/article/details/108202031

勾叉

导入引用包和代码:

\usepackage{pifont}       % \ding{xx}
\usepackage{bbding}       % \Checkmark,\XSolid,... (需要和pifont宏包共同使用)

使用如下:

\checkmark
\Checkmark
\CheckmarkBold
\XSolid
\XSolidBold
\XSolidBrush

在这里插入图片描述

其它参见的符号参考Xovee老师的文章,详见参考文献。

在这里插入图片描述

在这里插入图片描述

参考文献:

  • https://blog.csdn.net/hyk_1996/article/details/124486173
  • https://blog.csdn.net/xovee/article/details/122179352

纸牌

引用代码如下:

$\clubsuit$
$\spadesuit$
$\heartsuit$
$\diamondsuit$

在这里插入图片描述

其它常见的符号推荐如下所示的博客。

  • https://blog.csdn.net/ying_xu/article/details/51240291
  • https://blog.csdn.net/YEN_CSDN/article/details/79966985

在这里插入图片描述


参考文献

LaTeX插入参考文献,可以使用BibTex,也可以不使用BibTex。

\begin{thebibliography}{99}  
\bibitem{ref1}Zheng L, Wang S, Tian L, et al., Query-adaptive late fusion for image search and person re-identification, Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2015: 1741-1750.  
\bibitem{ref2}Arandjelović R, Zisserman A, Three things everyone should know to improve object retrieval, Computer Vision and Pattern Recognition (CVPR), 2012 IEEE Conference on, IEEE, 2012: 2911-2918.  
\bibitem{ref3}Lowe D G. Distinctive image features from scale-invariant keypoints, International journal of computer vision, 2004, 60(2): 91-110.  
\bibitem{ref4}Philbin J, Chum O, Isard M, et al. Lost in quantization: Improving particular object retrieval in large scale image databases, Computer Vision and Pattern Recognition, 2008. CVPR 2008, IEEE Conference on, IEEE, 2008: 1-8.  
\end{thebibliography}

上面列出了5个参考文献,{thebibliography}的选项99指的是参考文献的个数最大为99,可以设置为别的数。在正文中引用参考文献的方法是:\cite{ref1}、\cite{ref1, ref5}。

在这里插入图片描述

BibTeX 是一种格式和一个程序,用于协调LaTeX的参考文献处理。

在这里插入图片描述

在Texlive中,通常有两种格式的引用参考文献。

(1)第一种方式直接在main.tex文件中撰写,以thebibliography的形式。

\begin{thebibliography}{49}

\bibitem{b1} Microsoft, ``What is PowerShell? - PowerShell | Microsoft Docs,'' 
    Website: https://docs.microsoft.com/en-us/powershell/scripting/overview, 2022.

\bibitem{b2} D. Hendler, S. Kels, et al., ``AMSI-Based Detection of Malicious PowerShell 
    Code Using Contextual Embeddings,'' in 15th ACM Asia Conference on Computer and 
    Communications Security (AsiaCCS). ACM, 2020, pp. 679-693.

\bibitem{b49} M. Ring, D. Schlor, et al., ``Malware detection on windows audit logs using 
  LSTMs,'' Computers \& Security, vol.109, 2021, p. 102389. 

\end{thebibliography}

(2)第二种方式将参考文献写在myref.bib,以 \bibliography{myref} 的形式添加。

@misc{b1,
  title = {What is PowerShell? - PowerShell | Microsoft Docs},
  url = {https://docs.microsoft.com/en-us/powershell/scripting/overview},
  author = {Microsoft},
  year = {2022}
}

@inproceedings{b2,
  title={Amsi-based detection of malicious powershell code using contextual embeddings},
  author={Hendler, Danny and Kels, Shay and Rubin, Amir},
  booktitle={Proceedings of the 15th ACM Asia Conference on Computer and Communications Security (AsiaCCS)},
  pages={679--693},
  year={2020},
  organization = {ACM}
}

@article{b49,
  title={Malware detection on windows audit logs using LSTMs},
  author={Ring, Markus and Schl{\"o}r, Daniel and Wunderlich, Sarah and Landes, Dieter and Hotho, Andreas},
  journal={Computers \& Security},
  volume={109},
  pages={102389},
  year={2021},
  publisher={Elsevier}
}

参考文献BIB格式可以通过谷歌学术下载。同样,ChatGPT能够修改对应的格式,如百度的文心一言。参考文献格式推荐:

  • https://www.jianshu.com/p/f335e75487cb

在这里插入图片描述

在这里插入图片描述

显示如下图所示:

在这里插入图片描述


序号

(1) 无序序列

\begin{itemize}
	\item Every sentence should make sense.
	\item There is a lot to be said.
	\item Eschew the highfalutin.
\end{itemize}

在这里插入图片描述

(2) 有序序列

\begin{enumerate}
	\item Every sentence should make sense.
	\item There is a lot to be said.
	\item Eschew the highfalutin.
\end{enumerate}

在这里插入图片描述

(3) 自定义序列

\begin{description}
	\item[Rule 1.] Every sentence should make sense.
	\item[Rule 2.] There is a lot to be said.
	\item[Rule 3.] Eschew the highfalutin.
\end{description}	

在这里插入图片描述

序列同样可以嵌套,代码如下所示:

在这里插入图片描述


总结

写到这里,希望这篇文章对您有所帮助,后续也将继续更新内容。

月是故乡明,伟大祖国母亲生日快乐。​见过各地山水,最清澈的还是家乡施秉的杉木河;吃过很多酸汤,最正宗的还是家乡黔东南的红酸白酸。难得这两天回老家看看,看到了家乡的发展和变化;看到了自己零几年的读书笔记;看到了小学中学的奖状和证件,值得纪念的是全县中考第一和那两张全国物理和数学竞赛获奖;看到了父亲为自己包好的各类文学书,以及父亲九几年手写的书法和绘画,并刻在自家的桌椅上(图3),父爱母爱伟大。

​回首,人生犹如贵州连绵的青山绿水,总是起起伏伏,从小学到初中是上升期;紧接着到高中又直线下降;到大学初学程序又波折起伏;硕士毕业初为老师又缓慢下降;到发改借调又短暂回升;读博又起伏波折,如今又直线下降。然而,家乡的大山总能让我们养成质朴的性格,正如女神总笑我去哪都要背着个电脑,陪伴之余还是要敲敲代码,看看这平凡的世界。脚踏实地,知行合一,见笑见笑,爱你们喔!祝大家双节快乐。

在这里插入图片描述
在这里插入图片描述

(By:Eastmount 2023-10-06 夜于黔东南 http://blog.csdn.net/eastmount/ )

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1064011.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GEE错误——Line 2: ee.Image(...).filterBounds is not a function

错误&#xff1a; 我正在尝试通过应用过滤器绑定和过滤器日期来提取多个区域的平均碳含量。我得到的错误是&#xff1a;filterbound 不是一个函数。 我认为问题在于我使用的是 ee.Image 而不是 ee.ImageCollection。我知道如何解决这个问题吗&#xff1f;谢谢 这里的代码&am…

字符串和内存函数

目录 strlen 模拟实现 长度不受限字符串函数 strcpy 模拟实现 ​编辑 strcat 模拟实现 strcmp 模拟实现 长度受限字符串函数 strncpy 模拟实现 strncat strncmp strstr 模拟实现 strtok strerror perror 字符分类函数 字符转换 示例&#xff1a; ​编辑内…

10.4 认识Capstone反汇编引擎

Capstone 是一款开源的反汇编框架&#xff0c;目前该引擎支持的CPU架构包括x86、x64、ARM、MIPS、POWERPC、SPARC等&#xff0c;Capstone 的特点是快速、轻量级、易于使用&#xff0c;它可以良好地处理各种类型的指令&#xff0c;支持将指令转换成AT&T汇编语法或Intel汇编语…

C++:模板进阶与继承

模板进阶与继承 模板进阶1.非类型的模板参数2.模板的特化2.1特化的概念2.2函数模板特化2.3类模板特化2.4全特化和偏特化2.4.1全特化2.4.2偏特化 3.模板的分离编译3.1同文件分离3.2不同文件下分离 继承1.继承的概念和定义1.1继承的概念1.2继承的定义1.2.1定义格式1.2.2继承关系和…

哈希应用之位图

文章目录 1.位图概念2.面试题引入3.代码解决[配注释]4.位图应用4.1找到100亿个整数里只出现一次的整数4.2找两个分别有100亿个整数的文件的交集[只有1G内存]1.法一[使用于数据量<42亿]2.法二[适用于数据量大>42亿]3.在一个有100亿个int的文件中找到出现次数不超过2次的所…

自动驾驶技术的基础知识

自动驾驶技术是现代汽车工业中的一项革命性发展&#xff0c;它正在改变着我们对交通和出行的理解。本文将介绍自动驾驶技术的基础知识&#xff0c;包括其概念、历史发展、分类以及关键技术要素。 1. 自动驾驶概念 自动驾驶是一种先进的交通技术&#xff0c;它允许汽车在没有人…

字符集、编码格式的理解

计算机中只能存储二进制01&#xff0c; 要想存储字符&#xff0c;就要有一个字符与编码的映射关系&#xff0c;这个关系就是字符集。 字符集就是字符与编码的映射关系* 字符集的发展历程&#xff1a; 因为计算机是欧美先发明的&#xff0c;他们的语言就26个字母&#xff0c;所…

MyBatis-plus使用

1 基础介绍 MyBatis-Plus (opens new window)&#xff08;简称 MP&#xff09;是一个 MyBatis (opens new window)的增强工具&#xff0c;在 MyBatis 的基础上只做增强不做改变&#xff0c;为简化开发、提高效率而生。 它已经封装好了一些crud方法&#xff0c;我们不需要再写…

速学数据结构 | 手把手教你会单链表的构建方式

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《初阶数据结构》《C语言进阶篇》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 &#x1f4cb; 前言1. 什么是链表1.1 链表的物理结构1.2 链表的种类 2. 链表的实现一. SList.h 单链表的声明3.…

10. 激光雷达到车身坐标系外参的标定方法(lidar2car)

目录 0. 论文及代码1. 标定原理2. 拟合平面3. 标定roll/pitch/height4. 标定yaw4.1 理解从B_spline拟合的轨迹中得到vehicle航向 5. 精度 0. 论文及代码 参考论文&#xff1a;SensorX2car: Sensors-to-car calibration for autonomous driving in road scenarios 参考代码&…

kafka初体验基础认知部署

kafka 基础介绍 Apache Kafka是一个分布式流处理平台&#xff0c;最初由LinkedIn开发并于2011年开源。它主要用于解决大规模数据的实时流式处理和数据管道问题。 Kafka是一个分布式的发布-订阅消息系统&#xff0c;可以快速地处理高吞吐量的数据流&#xff0c;并将数据实时地分…

医院PACS系统源码 PACS系统源码

医用软件中的影像归档与传输系统软件&#xff08;Picture Archiving and Communication System&#xff0c;简称PACS&#xff09;是一种用于存储、管理和传输医学影像数据的系统。其主要功能包括&#xff1a; 影像存储&#xff1a;PACS可以将医学影像数据以数字化的形式存储在服…

YoloV8训练自己的模型 Pycharm Remote Development

参考视频&#xff1a;https://www.youtube.com/watch?vm9fH9OWn8YM YOLO官方网站&#xff1a;GitHub - ultralytics/ultralytics: NEW - YOLOv8 &#x1f680; in PyTorch > ONNX > OpenVINO > CoreML > TFLite 在本地的pycharm上面建立一个项目 使用scp把代码传…

星球作业(第十一期)Android中Binder简述

Binder 什么是binder&#xff1f;简述下它的工作过程和使用场景。 什么是Binder&#xff1f; Binder是Android中的一个类&#xff0c;实现了IBinder接口&#xff1b; 从IPC的角度来说&#xff0c;Binder是Android中的一种通讯方式&#xff1b; 从Android Framework角度来说&a…

一文搞清楚Java中常见的IO模型

什么是IO 首先&#xff0c;我们要清楚什么是IO&#xff0c;根据冯诺依曼结构&#xff0c;计算机结构分为5部分&#xff1a;运算器、控制器、存储器、输入设备和输出设备。 输入设备和输出设备都属于外设&#xff0c;网卡、硬盘这种既可以属于输入设备也可以属于输出设备。 输入…

深度学习-卷积神经网络-ResNET

文章目录 前言1.resnet2.作者3.精度&#xff08;TOP-5&#xff09;4.论文一览5.竞赛排名6.网络退化7.残差8.残差 1.作者 前言 本文来自B站&#xff1a; ResNet深度残差网络 1.resnet 2.作者 3.精度&#xff08;TOP-5&#xff09; 4.论文一览 5.竞赛排名 6.网络退化 ResNet解…

拆解常见的6类爆款标题写作技巧!

究竟是先写好文章再拟标题还是先确定标题再写文章呢&#xff1f;很多写稿小白都会有这样的疑惑。 在“人人皆可新媒体”的时代&#xff0c;公众号推文类型琳琅满目&#xff0c;每个人都可以建立自己的公众号&#xff0c;写出自己想写的文章。 但怎样起标题、起什么样的标题&a…

MyCat安装文档

JDK安装 JDK具体安装步骤如下&#xff1a; 1. 上传安装包 使用FinalShell自带的上传工具将jdk的二进制发布包上传到Linux 由于上述在进行文件上传时&#xff0c;选择的上传目录为根目录 /&#xff0c;上传完毕后&#xff0c;我们执行指令 cd / 切换到根目录下&#xff0c;查…

STM32 10个工程篇:1.IAP远程升级(六)

在IAP远程升级的最后一篇博客里&#xff0c;笔者想概括性地梳理总结IAP程序设计中值得注意的问题&#xff0c;诚然市面上或者工作后存在不同版本的IAP下位机和上位机软件&#xff0c;也存在不同定义的报文格式&#xff0c;甚至对于相似的知识点不同教程又有着完全不同的解读&am…