Latex:基本用法、表格、公式、演算法(持續更新)
在檢視的時候可以直接使用目錄快捷索引直接定位
基本用法
1、中文例項
\documentclass{cctart}
\begin{document}
\kaishu 這是中文楷體字
\end{document}
之所以把這個簡單的例子放在這裡,是因為我之前使用一些其他的模板,在輸入漢字的時候,雖然能夠編譯成功,但是在PDF檔案中顯示不出來漢字。
程式碼效果如下:
2、在論文中使用Definition功能,即自己定義一些概念之類的
示例如下:
\documentclass{cctart} \newtheorem{myDef}{Definition} \begin{document} Definitation \ref{mydef:relationship} 是一個簡單例子,主要為了說明怎麼自己在論文中使用“定義”。 \begin{myDef} \textbf{認識關係}~~ \label{mydef:relationship} 假設a和b分別是2個人,若a,b能寫成$(a,b)$的形式,則表示a認識b。 \end{myDef} \end{document}
上述程式碼中,注意在newtheorem中和定義時候名稱“myDef”的一致性。
注意:上述程式碼中??部分,應該是程式碼中的ref和csdn部落格本身的ref有衝突,點開“plain”button即可看到具體內容
程式碼效果如下:
3、想在專案符號\Itemize前面加小圓點
(1)普通的小圓點:在\begin{document}前面新增下面這句話:
\renewcommand{\labelitemi}{$\vcenter{\hbox{\tiny$\bullet$}}$}
即:完整的程式碼內容如下:
程式碼效果如下:\documentclass{cctart} \renewcommand{\labelitemi}{$\vcenter{\hbox{\tiny$\bullet$}}$} \begin{document} 下面是一個專案符號的簡單示例: \begin{itemize} \item Test1 \item Test2 \end{itemize} \end{document}
(2)更大一點的小圓點:在正文中使用專案符號的時候加上[$\bullet$],完整程式碼如下:
\documentclass{cctart}
\begin{document}
下面是一個專案符號的簡單示例,這個圓點要稍微偏大一些:
\begin{itemize}
\item[$\bullet$] Test1
\item[$\bullet$] Test2
\end{itemize}
\end{document}
程式碼效果如下:4、給文字新增顏色
程式碼效果如下:\documentclass{cctart} \usepackage{color} %新增巨集定義 \begin{document} {\color{red} 這個例子是給文字新增顏色,這裡為紅色! } \end{document}
5、上升和下降箭頭怎麼寫?
使用uparrow和downarrow操作,程式碼如下:
\documentclass{cctart}
\begin{document}
利率上浮了3\%$\uparrow$,價格下降了5\%$\downarrow$。
\end{document}
程式碼效果如下:
關於表格的使用
1、在Latex中新增表格,想要使表格標題居中
可以使用下面語句:
\usepackage[justification=centering]{caption}
注意:這個語句會使得文中所有的表格、圖片標題居中,需要在\begin{document}之前新增,即新增到最前面才能起作用(不要新增在表格命令中)。
注意:在一些模板中使用\centering只能實現表格居中,但是表格的標題不居中,需要使用這個語句;但是在一些模板中,使用\centering也能使得表格標題居中,就不需要使用這個語句了。
2、使得整個表格居中(不是文字居中)
使用\centering語句,如下所示:
\documentclass{cctart}
\begin{document}
下面是一個表格的簡單示例,為了看出文字的邊界,這裡文字內容寫的多一些,以方便清晰的看出表格的居中情況:
\begin{table}[!hbt]
\centering
\caption{Information Register}
\begin{tabular}{|l|l|l|l|}
\hline
id & name & sex & age\\
\hline
1 & 張三 & 女 & 12 \\
\hline
2 & 李四 & 男 & 26 \\
\hline
\end{tabular}
\end{table}
\end{document}
程式碼效果如圖:
3、可能表格寬度大於文字寬度,想要把表格按比例縮小
使用\scalebox命令,下面是縮小之前和縮小之後的程式碼:\documentclass{cctart}
\usepackage{graphicx}
\usepackage{algorithmic}
\usepackage[justification=centering]{caption} % 保證表格標題居中
\begin{document}
\begin{table}[!hbt]
\centering
\caption{縮小之前的表格}
\begin{tabular}{|l|l|l|l|}
\hline
ID & Name & Age & Gender \\
\hline
1 & Armstrong & 19 & 女 \\
\hline
2 & Augustine & 25 & 男 \\
\hline
\end{tabular}
\end{table}
\begin{table}[!hbt]
\centering
\caption{縮小之後的表格}
\scalebox{0.8}{
\begin{tabular}{|l|l|l|l|}
\hline
ID & Name & Age & Gender \\
\hline
1 & Armstrong & 19 & 女 \\
\hline
2 & Augustine & 25 & 男 \\
\hline
\end{tabular}
}
\end{table}
\end{document}
程式碼效果如圖:
4、表格的某一個單元格需要設定為2行顯示
使用\tabincell{c}{ }這裡{c}是使得文字居中,完整設定前和設定之後的程式碼如下:\documentclass{cctart}
\newcommand{\tabincell}[2]{\begin{tabular}{@{}#[email protected]{}}#2\end{tabular}}
\begin{document}
下面是一個表格的示例,主要內容是在一個單元格內,讓部分文字分成2行顯示:
\begin{table}[!hbt]
\centering
\caption{表格示例(初始情況)}
\begin{tabular}{|l|l|l|}
\hline
\textbf{欄位ID} & \textbf{\#欄位名稱即文字值}\centering & \textbf{\#欄位值} \\
\hline
3135436gdhdfg6464 & Latex小技巧1 \centering & 12365412 \\
\hline
6347655fgdfgh6356 & Latex小技巧2 \centering & 232133 \\
\hline
\end{tabular}
\end{table}
\begin{table}[!hbt]
\centering
\caption{表格示例(設定2行顯示之後的情況)}
\label{tab:dbpedia}
\begin{tabular}{|l|l|l|}
\hline
\textbf{欄位ID} & \# \tabincell{c}{\textbf{欄位名稱} \\ \textbf{即文字值}} & \textbf{\# 欄位值} \\
\hline
3135436gdhdfg6464 & Latex小技巧1 \centering & 12365412 \\
\hline
6347655fgdfgh6356 & Latex小技巧2 \centering & 232133 \\
\hline
\end{tabular}
\end{table}
\end{document}
注意:上面\newcommand後面的內容由於和html標籤衝突。可以點選"view plain"button可以看到完整程式碼。
程式碼效果如圖:
5、合併單元格
(1)合併行 合併行使用\multirow命令,整體程式碼如下:\documentclass{cctart}
\usepackage{multirow} %需要新增巨集定義
\begin{document}
下面是一個表格的示例,主要內容是合併行:
\begin{table}[!hbt]
\centering
\caption{表格行合併示例}
\begin{tabular}{|l|l|l|}
\hline
\textbf{欄位ID} & \textbf{欄位名稱} & \textbf{欄位值} \\
\hline
\multirow{3}{*}{測試}
& Latex小技巧1 & 123 \\
\cline{2-3}
& Latex小技巧2 & 232 \\
\cline{2-3}
& Latex小技巧3 & 122 \\
\hline
545454 & Latex小技巧4 & 234 \\
\hline
\end{tabular}
\end{table}
\end{document}
程式碼注意點:
- 需要新增巨集定義\usepackage{multirow}
- \multirow後面第一個括號內的數字(這裡是3)指的是合併3行,因為是需要合併第一列,因此在1-3行的第一列是沒有內容的
- 因為需要合併,就不能再使用\hline(這個命令使得行與行之間顯示分割線),這裡使用\cline{m-n},m和n指定需要新增分割線的列數
(2)合併列 使用\multicolumn命令,完整程式碼如下:
\documentclass{cctart}
\begin{document}
下面是一個表格的示例,主要內容是合併列:
\begin{table}[!hbt]
\centering
\caption{表格列合併示例}
\begin{tabular}{|l|l|l|}
\hline
\textbf{欄位ID} & \textbf{欄位名稱} & \textbf{欄位值} \\
\hline
32 & Latex小技巧1 & 123 \\
\hline
53 & Latex小技巧2 & 232 \\
\hline
\multicolumn{2}{|c|}{合併列示例} & 122 \\
\hline
\end{tabular}
\end{table}
\end{document}
注意點:
- 因為最後一行1-2列合併為1個值,因為最後一行後面再加上第3列的值即可
(3)行列同時合併 同時使用\multirow和\multicolumn命令。完整程式碼如下:
\documentclass{cctart}
\usepackage{multirow} %需要新增巨集定義
\begin{document}
下面是一個表格的示例,主要內容是列行的同時合併:
\begin{table}[!hbt]
\centering
\caption{表格行合併示例}
\begin{tabular}{|l|l|l|l|}
\hline
\textbf{欄位ID} & \textbf{欄位名稱1} & \textbf{欄位名稱2} & \textbf{欄位值} \\
\hline
654 & Latex小技巧1 & 哈哈哈 & 123 \\
\hline
658 & \multicolumn{2}{|c|}{ \multirow{2}{*}{Latex小技巧合並}} & 232 \\
\cline{1-1} \cline{4-4}
787 & \multicolumn{2}{|c|}{} & 122 \\
\hline
545 & Latex小技巧4 & 哈哈哈 & 234 \\
\hline
\end{tabular}
\end{table}
\end{document}
程式碼效果如下:
6、指定表格的寬度並且使單元格內的文字居中
有時候表格列數太少,如果使用Latex自適應,最終生成的表格比較窄,影響美觀,為了指定列寬,我們可以使用p{3cm}指定,但是指定之後表格文字預設左對齊,為了使之居中,我們需要使用p{3cm}<{\centering},注意新增巨集定義\usepackage{array}。下面是指定之前和指定之後的程式碼對比:\documentclass{cctart}
\usepackage{array} %注意,使用下面的p{3cm}<{\centering}需要新增arry的usepackage
\begin{document}
下面是一個表格的示例,主要內容是指定表格寬度並且單個元文字居中:
\begin{table}[!hbt]
\centering
\caption{此表格沒有指定表格寬度}
\begin{tabular}{|c|c|}
\hline
姓名 & 畢業學校 \\
\hline
張三 & XX小學 \\
\hline
李四 & XX中學 \\
\hline
\end{tabular}
\end{table}
\begin{table}[!hbt]
\centering
\caption{此表格指定表格寬度並且使單元格文字居中}
\begin{tabular}{|p{3cm}<{\centering}|p{3cm}<{\centering}|}
\hline
姓名 & 畢業學校 \\
\hline
張三 & XX小學 \\
\hline
李四 & XX中學 \\
\hline
\end{tabular}
\end{table}
\end{document}
程式碼效果如下:
公式的使用
1、公式使用簡單示例
(1)若將公式放在文字中間,或者不需要自動生成標號,則可以使用$ $將公式給出,程式碼如下:\documentclass{cctart}
\begin{document}
給出實數$a$和實數$b$,則sum定義為:$sum=a+b$.
\end{document}
程式碼效果如下:(2)若將公式以自動標號形式給出,則使用 \begin{equation} 和 \end{equation} 將公式給出,程式碼如下:
\documentclass{cctart}
\begin{document}
給出實數$a$和實數$b$,則sum定義為:
\begin{equation}
sum=a+b
\end{equation}
\end{document}
程式碼效果如下:
2、如何使2個公式的等號對齊,並使用同一個標號。
\documentclass{cctart}
\usepackage{graphicx}
\usepackage{algorithmic}
\usepackage{amsmath}
\begin{document}
下面是一個使用公式換行的簡單示例:
\begin{equation}
\begin{aligned}
sum &= a+b \\
&= c+d
\end{aligned}
\end{equation}
\end{document}
程式碼效果如下:
3、要使得2個公式自動生成2個標號,且等號對齊。
使用eqnarray命令,命令如下:\documentclass{cctart}
\usepackage{graphicx}
\usepackage{algorithmic}
\usepackage{amsmath}
\begin{document}
下面是2個公式使用2個標號的簡單示例:
\begin{eqnarray}
a &=& b+c \\
c &=& b+d+e
\end{eqnarray}
\end{document}
程式碼效果如下:4、符號下面標註條件
使用\underset,完整命令如下:\documentclass{cctart}
\usepackage{amsmath} %注意新增巨集定義
\begin{document}
示例:符號下面標註條件:
\begin{equation}
S' = \underset{S\subseteq V}{argmax}f(S)
\end{equation}
\end{document}
程式碼效果如下:
演算法(Algorithm)的使用
1、演算法模板
(1)格式1的模板,程式碼如下:\documentclass{cctart}
\usepackage[noend]{algpseudocode}
\usepackage{algorithmicx}
\usepackage{algorithm}
\begin{document}
\begin{algorithm}[t]
\caption{演算法示例} %演算法的名字
\hspace*{0.02in} {\bf Input:} \\ %演算法的輸入, \hspace*{0.02in}用來控制位置,同時利用 \\ 進行換行
\hspace*{0.02in} 變數:A\\
\hspace*{0.02in} 變數:B \\
\hspace*{0.02in} {\bf Output:} \\ %演算法的結果輸出
\hspace*{0.02in} 結果:C
\begin{algorithmic}[1]
\State //some description % \State 後寫一般語句
\For{condition} % For 語句,需要和EndFor對應
\State ...
\If{condition} % If 語句,需要和EndIf對應
\State ...
\Else
\State ...
\EndIf
\EndFor
\While{condition} % While語句,需要和EndWhile對應
\State ...
\EndWhile
\State \Return result
\end{algorithmic}
\end{algorithm}
\end{document}
程式碼效果如圖:
(2)格式2,程式碼如下:
\documentclass{cctart}
\usepackage{algorithm}
\usepackage{algorithmic}
\renewcommand{\algorithmicrequire}{ \textbf{Input:}} %Use Input in the format of Algorithm
\renewcommand{\algorithmicensure}{ \textbf{Output:}} %UseOutput in the format of Algorithm
\begin{document}
\begin{algorithm}[htb]
\caption{演算法示例}
\label{alg:example}
\begin{algorithmic}[1] %這個1 表示每一行都顯示數字
\REQUIRE ~~\\ %演算法的輸入引數:Input
變數, $A$;\\
變數, $B$;\\
\ENSURE ~~\\ %演算法的輸出:Output
輸出, $C$;
\STATE {Initialize A=0, B=0} % while迴圈,需要以\ENDWHILE作為結尾
\WHILE {condition}
\STATE {...}
\ENDWHILE
\FOR {condition}
\STATE {...}
\IF {condition}
\STATE {.....}
\ENDIF
\ENDFOR
\RETURN $C$ %return返回值
\end{algorithmic}
\end{algorithm}
\end{document}
程式碼效果如圖:
致謝的使用:
致謝一般使用下面的格式命令:\subsection*{Acknowledges}
致謝的內容
相關推薦
Latex:基本用法、表格、公式、演算法(持續更新)
在檢視的時候可以直接使用目錄快捷索引直接定位 基本用法 1、中文例項 \documentclass{cctart} \begin{document} \kaishu 這是中文楷體字 \end
關於Form、ModelForm的一些操作(持續更新)
mit mar rim sub field 後端 錯誤信息 關於 eth 1、前端循環:後端傳到前端的form是可以循環的,以此獲得想要展示的元素 <form method="post" class="form-horizontal" novalidate>
個人常用的、適用的網站連結(持續更新……)
2018-12-11 14:06:59 論壇類: 1、部落格園 2、CSDN-專業IT技術社群 個人部落格類: 1、小尾巴個人部落格 2、https://haremu.com/ 技術網站類: 1、MDN web docs 2、w3cschool 3、尚矽谷 4、菜
C++的一些小操作、常用庫及函式(持續更新)
1. 強制保留n位小數(位數不足則強制補零) 標頭檔案: #include <iomanip> 在輸出前: cout<<setprecision(n); 也有不用標頭檔案的方式,在輸出前: cout.setf(ios::fixed);
Java面試題-Struts、Servlet(持續更新)
什麼是Struts2 ? Struts2 是一款優秀MVC框架 MVC:是一種思想,是一種模式,將軟體分為 Model模型、View檢視、Controller控制器 。MVC由來是web開發 JavaEE軟體三層結構 : web層(表現層)、業
ASP.NET Core微服務 on K8S(Jessetalk)(第一章:詳解基本物件及服務發現)(持續更新)
課程連結:http://video.jessetalk.cn/course/explore 良心課程,大家一起來學習哈! 任務1:課程介紹 任務2:Labels and Selectors 所有資源物件(包括Pod, Service, Namespace, Volume)都可以打
python 編寫爬蟲常用包下載地址、工具網站以及相關安裝問題集合(持續更新)
轉載請標明出處,謝謝。以下連結出現問題請私戳或留言,我儘快解決。 免費代理ip網站: http://www.xicidaili.com/nn/ geckodriver 下載地址: https://github.com/mozilla/geckodrive
【格式、工具】寫作(論文)中遇到的一些問題及其解決方案(持續更新......)
論文中一些常見的規則本文更新時間日誌:2018.04.29:以 office-word 為主,整理一些關於公式的問題;2018.05.24:參考文獻(會議論文)的格式及其搜尋方法;===========================================【offi
Python學習筆記——常用庫、函式的使用(持續更新)
一、OS模組 1、當前使用平臺 os.name:指示你正在使用的工作平臺。比如對於Windows,它是'nt',而對於Linux/Unix使用者,它是'posix'。 2、當前路徑和檔案 os.getcwd() :返回當前工作目錄 os.listdir(): 返回指
【2019年大資料福利推薦】MaxCompute教程、案例視訊合集彙總(持續更新20190111)
大資料計算服務(MaxCompute,原名ODPS,產品地址:https://www.aliyun.com/product/odps)是一種快速、完全託管的TB/PB級資料倉庫解決方案。MaxCompute向用戶提供了完善的資料匯入方案以及多種經典的分散式計算模型,能夠更快速的解決使用者海量資料計算問題,有
機器學習、深度學習、計算機視覺、自然語言處理及應用案例——乾貨分享(持續更新......)
機器學習、深度學習、計算機視覺、自然語言處理及應用案例——乾貨分享(持續更新……) GitChat提問碼: 1、機器學習/深度學習 1.1 對抗生成網路GAN 【2017.04.21】 對抗生成網路GAN變種大集合
【整理自用】統計學習、機器學習常見演算法(整理更新)
K近鄰法 詳見《統計學習》P53頁。 程式碼收藏90Zeng的部落格Kd樹的c++實現。 在利用kd樹搜尋最鄰近點的時候有一句話: 當前最近點一定存在於該結點一個子結點對應的區域,檢查子結點的父結點的另一子結點對應的區域是否有更近的點。具體做法是,
偏頭痛楊推薦給大家的影視劇、書、遊戲(持續更新)
前戲 從小養成的習慣,喜歡把看過的覺得還可以的東西記錄到本子上, 形成一個LIST。。。只是為了記錄一下自己不太貧瘠的非物質文化世界。 之前跟一老美聊天,聊到電影發現很多經典的電影英文名自己都不知道,
機器學習、深度學習、計算機視覺、自然語言處理及應用案例——乾貨分享(持續更新……)
人臉檢測與識別的趨勢和分析 【paper】【GitHub】【全域性/區域性一致影象補全】《Globally and Locally Consistent Image Completion》S Iizuka, E Simo-Serra, H Ishikawa (2017) 【paper】【GitHub】【基
linux shell 字串獲取長度、替換、擷取、刪除等操作(持續更新)
測試字串:str=/xxx/file.txt.gz一、長度、變數:說明 表示式 例子 結果 獲取長度 ${#string} ${#str} 16 列出所有以prefix開頭的變數 ${!prefix*}、${!prefix@} ${!st@} str測試${
設計模式7原則、常見設計模式和示例程式碼(持續更新)
設計模式7條原則 開閉原則:對擴充套件開放,對修改關閉 依賴倒置原則:高層模組不依賴底層模組,二者都依賴其抽象。目的:降低類之間的
重構函數基本原則(持續更新)
一段 更新 設置 內部類 重構 修改 一個 變化 但是 1. 重構函數時一定要查清有哪些類調用了該函數 修改函數之前要明白函數每一段代碼的作用再做修改(所以體積小的函數好改啊),我就遇到過這樣的問題,修改函數內部有某個常量,但是該常量對於另外一個調用該函數的類來
linux學習類目:常見命令(持續更新)
基礎命令mkdir=make directorys=創建目錄例子: mkdir /data=在根/下創建data目錄ls=list=列表目錄文件例子: ls / =列根/目錄下的目錄和文件參數: -l(long)=長格式 -d(directorys)=查
AWK的用法(持續更新)
awk方法比較笨,算是做一個總結,習慣用AWK進行取值,下面以free -m為例來舉例!!!持續更新,看到的網友也可以留言的形式來一起更新內容,謝謝例子:[root@130 ~]# free -m total used free shared b
記一些stl的用法(持續更新)
spa style str https tps sdf sub name span 有些stl不常用真的會忘qwq,不如在這裏記下來,以後常來看看 C++中substr函數的用法 1 #include<string> 2 #include&