LaTex
LaTeX 環境的安裝和配置
TexLive2018 的安裝
LaTeX 的發行版軟件衆多,一般使用 TexLive+合適的編輯器即可。
- 進入官網,依次點擊
OnDVD
,downloading the TexLive ISO image
,download from a nearby CTAN mirror
,texlive2018.iso
進行下載鏡像文件。 - 點擊
install-tl-advanced.bat
文件,進行安裝。可以選擇安裝的內容,修改需要安裝的包。- 去掉多餘的語言包,只保留 Chinese 和 English 即可。
- 去掉 Texworks editor 這個雞肋的自帶編輯器。
- 相關命令
tex -v, latex -v, xelatex -v
:用於測試是否安裝好。tlmgr update --all
:用於更新 Texlive。
Vscode 及 Latex workshop 插件的安裝
Vscode 是一款很優秀的編輯器,適合各種開發及編輯工作。Latex workshop 則是適用於在 Vscode 上編輯 Latex 的很好用的插件,下面主要是它的配置介紹。
編譯方式(tool
)
Latex 有很多編譯方式, 比如latex
,xelatex
,pdflatex
,latexmk
等等。這裏推薦使 xelatex, 它使用的是 utf-8 編碼方式,支持中文,但是 Latex workshop 默認的編譯方式是 latexmk,可以通過修改 Latex workshop 的 tool 設置來自定義編譯方式,如下:
"latex-workshop.latex.tools": [
{
"name": "xelatex",
"command": "xelatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-pdf",
"%DOCFILE%"
]
},
{
"name": "pdflatex",
"command": "pdflatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOCFILE%"
]
},
{
"name": "bibtex",
"command": "bibtex",
"args": [
"%DOCFILE%"
]
}
]
將 tools 中的
%DOC%
替換成%DOCFILE%
就可以支持中文路徑下的文件了
編譯組合(recipe
)
如果我們要對一個文檔/項目完整的編譯(比如pdflatex->bibtex->pdflatex->pdflatex
)我們需要用到編譯組合(recipes
)。Latex workshop 默認添加了兩個recipes
,分別是latexmk
和pdflatex -> bibtex -> pdflatex*2
,初此之外,也可以在設置的recipe
選項中修改組合方式,如下:
"latex-workshop.latex.recipes": [
{
"name": "xelatex",
"tools": [
"xelatex"
]
},
{
"name": "xelatex ➞ bibtex ➞ xelatex × 2",
"tools": [
"xelatex",
"bibtex",
"xelatex",
"xelatex"
]
}
]
中文環境的配置
高德納爲了讓他的鉅著《計算機程序設計藝術》排版更精美髮明瞭 Tex,但是他沒有考慮中文的使用環境, 不過現在可以使用ctex
宏包來支持中文.
- 文檔使用
utf-8
編碼。 - 引入宏包
\usepackage{ctex}
,並且使用xelatex
編譯。 - 字體的設置:
ctex
中內置了 6 種中文字體:heiti, kaishu, songti, lishu, youyuan, fangsong
。
LaTeX 源文件的基本結構
- LaTeX 源文件分爲導言區和正文區兩部分構成。
- 一個 LaTeX 源文件有且只有一個
document
環境。 $
符號內的爲數學模式,外的爲文本模式。且$**$
爲行內模式,$$**$$
爲行間模式。- 一個或多個空行表示段落的分隔。
% 導言區
% 導言區用於全局的設置,引入宏包等。
\documentclass{article} % 除了article外,還有book,report, letter等類型
\usepackage{ctex} % usepackage用於導入宏包,這裏導入了ctex宏包
\title{My first document}
\author{Zhigao Hong}
\date{\today}
% 正文區
% 正文區用於書寫文章的正文部分
\begin{document} % begin用於開始一個環境,一個文章有且只有一個document環境
\maketitle
Hello, \LaTeX.
Let $f(x)$ be defined by $f(x)=3x^2+1$.
\end{document}
LaTeX 的字體設置
字體的設置可以使用字體命令和字體聲明兩種設置方式,同時可以使用{}
限定其作用範圍,否則自設置起,後面一直有效直至重新設置字體。
字體族
字體族有:羅馬字體、無襯線字體、打字機字體。
- 羅馬字體:
\textrm {xxx}
或者{\rmfamily xxx}
。 - 無襯線字體:
\textsf {xxx}
或者{\sffamily xxx}
。 - 打字機字體:
\texttt {xxx}
或者{\ttfamily xxx}
。
字體加粗
- 加粗:
\textbf {xxx}
或者{\bfseries xxx}
。
字體斜體
- 斜體:
\textit {xxx}
或者{\itshape xxx}
。
中文字體
設置中文字體必須引入ctex
宏包,其中內置了 6 種中文字體。
- 黑體:
{\heiti xxx}
。 - 其他類似:
kaishu, songti, lishu, youyuan, fangsong
。
字體大小
- 字體的大小也是通過一系列字體聲明實現:
tiny, scriptsize, footnotesize, small, normalsize, large, Large, LARGE, huge, Huge
。 - 這些大小描述是相對於
normalsize
而言的,而normalsize
的大小是在導言區的documentclass[10pt]{article}
設置的,一般爲 10,11,12 磅。 - 中文字體還可以使用
\zihao{字號值}
設置,如同 word 文檔一樣。
LaTeX 的篇章結構
在 LaTeX 中,可以使用section{xx}, subsection{xx}, subsubsection{xx}
等命令來撰寫文章的大致結構。
\documentclass{article}
\usepackage{ctex}
\title{My first document}
\author{Zhigao Hong}
\date{\today}
\begin{document}
\maketitle
\section{Introduction}
\label{sec::introduction}
\section{Proposed scheme}
\label{sec::proposed method}
\subsection{method1}
\label{subsec::method1}
\subsection{method2}
\label{subsec::method2}
\section{Experimental results and discussion}
\label{sec::experimental results and discussion}
\section{Conclusion}
\label{sec::conclusion}
\section{References}
\bibliography{mybibfile}
\end{document}
LaTeX 中的特殊字符
空白字符
- 空行分段,多個空行等同於 1 個。
- 英文中多個空格視爲 1 個,中文中忽略空格。
- 當要輸入多個空格時,要使用
\quad
命令。
控制符
由於許多符號有着特殊的含義,需要轉義:\#, \$, \%, \{, \}, \~, \^, \_, \&
等等。
排版符號和 LaTeX 的標誌符號
引號
- 單引號:
數字1左邊的點號
表示左單引號,'
表示右單引號。 - 雙引號:兩個左單引號爲左雙引號,兩個右單引號爲右雙引號。
連字符
- 短連字符:
-
。 - 中連字符:
--
。 - 長連字符:
---
。
LaTeX 中的圖片
- 在 LaTeX 中使用
graphicx
這個宏包插入圖片。- 導言區:
\usepackage{graphicx}
用於引入宏包。\graphicspath{{目錄1/}, {目錄2/}}
用於指定圖片目錄。 - 語法:
\includegraphics[可選參數]{文件名}
,其中,文件名不加後綴。 - 支持格式:
eps, pdf, png, jpg
等。
- 導言區:
- 可選參數,支持指定大小,縮放比例等。
scale=0.3
,縮放因子。height=2cm, width=0.15\textwidth
,指定長寬。angle=-45
,指定旋轉角度。
LaTeX 中的表格
直接使用在線 LaTeX 表格,用命令做表格簡直不能再麻煩了。
LaTeX 中的浮動體
使用浮動體,可以對圖片和表格的位置進行靈活管理。這需要使用begin
命令來創建浮動體環境。
- 在環境後,還可以加入允許位置參數:h(here)、t(top)、b(bottom)、p(page),默認爲 tbp。
- 使用
caption
用於標題的顯示。 - 使用
subfigure
實現圖片的混排。
figure 浮動體
\begin{figure*}[htb]
\centering
\subfigure[]{
\includegraphics[width=0.15\textwidth]{Baboon}
}
\subfigure[]{
\includegraphics[width=0.15\textwidth]{Barbara}
}
\subfigure[]{
\includegraphics[width=0.15\textwidth]{Boat}
}
\subfigure[]{
\includegraphics[width=0.15\textwidth]{Goldhill}
}
\subfigure[]{
\includegraphics[width=0.15\textwidth]{Lena}
}
\caption{Six test images: (a) Baboon. (b) Barbara. (c) Boat . (d) House. (e) Lena.}
\label{fig6}
\end{figure*}
table 浮動體
\begin{table*}[htbp]
\centering
\caption{Comparison of four methods on test images in \myref{fig6}{Fig} based on QF = 60}
\label{tab1}
\begin{tabular}{ccccccc}
\hline
\multirow{2}{*}{\textbf{Images}} & \multicolumn{6}{c}{\textbf{Payload(bits) / PSNR(dB)}} \\ \cline{2-7}
& & 4000 & 6000 & 8000 & 10000 & 120000 \\ \hline
\textbf{Baboon} & Huang et al & 41.6292 & 39.6411 & 38.3768 & 37.0705 & 36.3569 \\ \hline
& Wedaj et al & 42.4274 & 40.7553 & 39.4249 & 37.7216 & 36.7317 \\ \hline
& Hou et al & 44.3296 & 42.0547 & 40.2064 & 38.6490 & 37.3514 \\ \hline
& Proposed & 43.4202 & 41.3573 & 39.8080 & 38.5896 & 37.4733 \\ \hline
\textbf{Barbara} & Huang et al & 43.6504 & 41.8896 & 40.5739 & 38.9833 & 37.5838 \\ \hline
& Wedaj et al & 43.4992 & 42.1739 & 40.5565 & 39.4102 & 38.6302 \\ \hline
& Hou et al & 45.9022 & 42.9165 & 40.5833 & 39.1323 & 37.8757 \\ \hline
& Proposed & 44.9008 & 42.7855 & 41.2021 & 39.9609 & 38.8448 \\ \hline
\textbf{Boat} & Huang et al & 44.1428 & 42.1220 & 40.4407 & 38.9576 & 37.7936 \\ \hline
& Wedaj et al & 44.0611 & 41.4388 & 40.4950 & 39.0900 & 38.0499 \\ \hline
& Hou et al & 45.0766 & 42.6497 & 40.8703 & 39.5630 & 38.4274 \\ \hline
& Proposed & 44.2932 & 42.0677 & 40.4485 & 39.2217 & 38.2122 \\ \hline
\textbf{House} & Huang et al & 44.3822 & 42.4522 & 41.2621 & 40.2653 & 39.4005 \\ \hline
& Wedaj et al & 42.7945 & 42.6797 & 41.4402 & 40.1956 & 39.1621 \\ \hline
& Hou et al & 44.9146 & 42.8700 & 41.2894 & 40.0333 & 39.0089 \\ \hline
& Proposed & 44.9769 & 42.8880 & 41.4127 & 40.3581 & 39.3878 \\ \hline
\textbf{Lena} & Huang et al & 46.5117 & 44.6028 & 42.7461 & 41.1829 & 39.6356 \\ \hline
& Wedaj et al & 45.0363 & 43.1874 & 41.6598 & 40.3515 & 39.3753 \\ \hline
& Hou et al & 46.2696 & 43.8200 & 41.8304 & 40.2713 & 38.7410 \\ \hline
& Proposed & 46.3358 & 44.0285 & 42.3115 & 40.8457 & 39.5046 \\ \hline
\end{tabular}
\end{table*}
LaTeX 中的公式
行內公式
- 美元符號:
$f(x)=a^2x+bx+c$
。 - 小括號:
\(f(x)=a^2x+bx+c\)
。
行間公式
- 雙美元符號:
$$f(x)=a^2x+bx+c$$
。 - 中括號:
\[f(x)=a^2x+bx+c\]
。
自動編號公式
使用equation
環境,該公式會單獨一行。
\begin{equation}
y = x +1
\end{equation}
參考文獻 BibTex
將參考文獻單獨處理,實現一次管理,多次使用。
- 新建文件
mybibifile.bib
。 - 在導言區:
\bibliographystyle{plain}
,此外還有alpha, abbrv
等排序規則。 - 在需要輸出參考文獻的地方使用:
\bibliography{mybibfile.bib}
。 - 默認下是不會出現未引用的文獻,如果要強制加上爲引用文獻:在上一個命令前加
\nocite{*}
。
特殊命令
texdoc ctex
:cmd 命令,查看 ctex 宏包手冊。texdoc lshort-zh
:cmd 命令,查看 latex 使用教程。\centering
:浮動體的居中。\caption{xxx}
:浮動體的標題爲 xxx。\label{xxx}
:設置標籤名爲 xxx,以用於交叉引用。\ref{xxx}
:引用標籤名爲 xxx 的內容。\cite{xxx}
:引用 bib 文件的文章。\newcommand{命令名}[參數個數]{具體定義}
:例如,\newcommand{\PRC}{People's Republic of China}
,\newcommand{\loves}[2]{#1 喜歡 #2}
,\loves{貓}{魚}
,\newcommand{\myref}[1]{Eq.\ref{#1}}
。\begin{enumerate} xxx \end{enumerate}
:有序列表環境。\begin{itemize} xxx \end{itemize}
:無序列表環境。\item xxx
:列表中的單個元素。\geometry{left=2cm, right=2cm, top=2cm, bottom=2.5cm}
:設置頁邊距。\\
:在文本中表示換行。