中文版Latex常用语法大全教程
中文版Latex常用語法大全教程
- Latex語法格式
- 中文版的“hello world”
- 注釋
- 換行、分段、分頁
- 文字的粗體、斜體、顏色、大小
- 下劃線、雙下劃線、波浪線、刪除線、斜刪除線
- Latex文檔層次結構
- Latex層次
- Latex封面
- Latex目錄
- Latex摘要
- Latex關鍵字
- Latex引用
- Latex腳注
- Latex數學公式
- Latex數學圖形
- Latex插入圖片
- Latex插入表格
- Latex插入代碼
- Latex文字加邊框
- Latex段落文字加邊框
- latex分欄
- Latex段落
- Latex空白字符
- Latex頁面配置
- Latex頁眉頁腳
- Latex手寫參考文獻
- Latex使用BibTeX生成參考文獻列表
- 小結
- 參考資料
Latex是一個基于Tex的文章,期刊,書籍的排版系統,可讓使用者在極短的時間內寫出很高排版質量的文檔。
對于沒有接觸過Latex的同學來說,這種以代碼形式進行文檔書寫的方式,會讓人一頭霧水,摸不到南北。
下面我以本人的視角來梳理《中文版Latex常用語法大全教程》,請大家一定要先瀏覽本文目錄,目錄一般呈現的都是文章大綱,對理解文章很有幫助。
不建議大家一開始就從頭看到尾,而是在寫作的過程中用到了那個知識點就去看那一點,這樣更有助于學習。若是零基礎的同學,我會再出一版《Latex快速入門》,請持續關注哦。
不過在開始本文前,需要各位同學配好自己的環境,我的環境配置,請參考我的另一篇文章《ubuntu20.04下vim+vimtex編寫latex的利器》,本文的所有演示用例,都是基于該環境實現的。
數學用的平面幾何圖形繪制,請參考我的另外文章
- 《Latex-TiKZ繪制數學平面幾何圖教程》
- 《Latex-pgfplots繪制3維曲線圖》
Latex語法格式
在開始本文之前,請先熟悉下,Latex的行文結構,這也是最基本的,作為一個程序員來說,每開始一個新的編程語言學習時,都要先了解該程序語言的結構,那樣才能快速編程。
\documentclass[options]{class} \begin{document} % 錄入正文內容 \end{document}參數
- options ? 定制文檔類的屬性,不同的選項之間須用逗號隔開。
- clsss ? 指定文檔類型,如:book、report、article、letter等。
注意: 本文所有的教程都是基于 中文環境 的Latex文檔編寫。
Latex的中文環境配置請參考我的另一篇文章《ubuntu20.04下vim+vimtex編寫latex的利器》。
中文版的“hello world”
讓我們來創建第一個文檔,中文版的“hello world”,使用 vim 編寫 test.tex 文檔,錄入如下代碼
%! Tex program = xelatex \documentclass{article} \usepackage[UTF8]{ctex} \begin{document}hello 中國\end{document}編好后,在vim的命令行模式下,按 “\ll” 進行編譯并預覽,每次更改代碼并重新保存后,都會實時更新預覽界面。如下圖:
是不是很簡單啊,讓我們期待在本文的幫助下,暢游Latex文檔編寫的世界吧。
注釋
Latex也如 C語言等編程語言一樣,也有單行和多行注釋
- 單行,以%開頭的行,是單行注釋
- 多行,(不要忘記添加多行注釋用的包, \usepackage{verbatim} )
- \begin{comment}
- 多行注釋內容
- \end{comment}
示例
%! Tex program = xelatex \documentclass{article} \usepackage[UTF8]{ctex} \usepackage{verbatim} \begin{document}%單行注釋 hello 中國\begin{comment} 這是一個注釋行 這又是一行注釋 hehe \end{comment}\end{document}換行、分段、分頁
換行
- \\ ? 換行
- \newline ? 與\\相同
- 注意,這里的換行,都是在段內換行
分段
- \par ? 添加在段落末尾或另起一行進行分段
- 在段落后連續兩個回車,也可以實現分段效果(推薦的方式)
分頁
- \newpage ? 添加在段落末尾或另起一行進行分頁
示例
%! Tex program = xelatex \documentclass{article} \usepackage[UTF8]{ctex} \usepackage{verbatim} \begin{document} %換行 三更\\燈火五更雞,正是男兒讀書時。\par \noindent 黑發不知勤學早,\newpage白首方悔讀書遲。 \end{document}效果圖如下
文字的粗體、斜體、顏色、大小
粗體
- \textbf{文字}
斜體
- \emph{文字},( 備注,中文文檔里面斜體配置沒有成功,以后有時間再改進)
顏色,有 3種方式可選
- 直接使用定義好的顏色
1. \usepackage{color}
2. \textcolor{red/blue/green/black/white/cyan/magenta/yellow}{text}
3. % 其中textcolor{…}中包含的是系統定義好的顏色 - 組合red、green和blue的值合成我們想要的顏色
- 定義一種顏色,直接調用
大小
- 全局模式
- 局部模式
- 根據既有命令設置
- 命令:\tiny、\scriptsize、\footnotesize、\small、\normalsize、\large、\Large、\LARGE、\huge、\Huge
- 示例,\tiny{Latex},注意命令跟文字之間有空格
- 自定義修改字體大小和尺寸
- \fontsize{字體尺寸}{行距}
- 示例, \fontsize{20pt}{24pt} 中國,注意命令跟文字之間有空格
示例
%! Tex program = xelatex \documentclass{article} \usepackage[UTF8]{ctex} \usepackage{verbatim} \usepackage{color} \setlength{\parindent}{0pt} %配置整篇不縮進 \begin{document} % 粗體 \textbf{三更燈火五更雞,}% 斜體 \emph{正是男兒讀書時。}%顏色 \textcolor{red}{黑發}\\ \textcolor[RGB]{80,200,120}{不知}\\ \definecolor{newColor}{RGB}{200,100,200} \textcolor{newColor}{勤學早,}%大小 \large{白首}\\ \footnotesize{方悔}\\ \fontsize{12pt}{24pt}讀書遲。\end{document}效果圖如下
注意,單行注釋也算是空行,所以不要以為這里的分段是需要 1個空行的,所有的分段都需要2個空行。
下劃線、雙下劃線、波浪線、刪除線、斜刪除線
注意啊,看到形似 \usepackage{ulem} 的語句,要記得要添加該包。
\usepackage{ulem}
…
\uline{黑發不知勤學早,白首方悔讀書遲。} %下劃線
\uuline{黑發不知勤學早,白首方悔讀書遲。} %雙下劃線
\uwave{黑發不知勤學早,白首方悔讀書遲。} %波浪線
\sout{黑發不知勤學早,白首方悔讀書遲。} %刪除線
\xout{黑發不知勤學早,白首方悔讀書遲。} %斜刪除線
示例
%! Tex program = xelatex \documentclass{article} \usepackage[UTF8]{ctex} \setlength{\parindent}{0pt} %配置整篇不縮進 \usepackage{ulem} \begin{document} 勸學詩%下劃線 \uline{唐 顏真卿}%雙下劃線 \uuline{三更燈火五更雞,}%波浪線 \uwave{正是男兒讀書時。}%刪除線 \sout{黑發不知勤學早,}%斜刪除線 \xout{白首方悔讀書遲。} \end{document}效果圖如下
至此,有關Latex中關于文字處理的部分就寫完了,既然是文章,那就應該有標題、段落等組織方式。
接下來就開始講解文檔的組織結構。
Latex文檔層次結構
Latex層次
其實篇小字少的文檔很好組織,但是一涉及到多篇章長段落多層次的文檔,就體現到文檔的組織功底了,組織的好,使讀者賞心悅目;組織的不好,使人眼花繚亂,頭昏腦漲。
Latex對每一個文檔類型都有一個可供參考的層次分類,下面對常用 document class 做了簡短的說明,各位同學在編排文檔時盡量對號入座。如下所述:
- article ? - for articles in scientific journals, presentations, short reports, program documentation, invitations, …(科學期刊、 演示文檔、 短報告、 程序文檔、 邀請函等)
- book ? - for real books(書籍排版)
- letter ? - for writing letters.(信件書寫)
- *report ? - for longer reports containing several chapters, small books, thesis, …(多章節長報告、 短篇書籍、 博士論文等)
- proc ? - a class for proceedings based on the article class.(基于 article 的會議文集類)
- slides ? - for slides. The class uses big sans serif letters.(幻燈片。 該文檔類使用大號 sans serif 字體。)
- minimal ? - is as small as it can get. It only sets a page size and a base font. It is mainly used for debugging purposes.(非常小的文檔類。 只設置了頁面尺寸和基本字體。 主要用來查錯。)
- beamer ? - for writing presentations.(演示文稿編寫)
里面有幾個詞,需要拿出來說一說,也就是:
- part ? – ? 篇,實對章節的歸類
- chapter ? – ? 章
- section ? – ? 一級標題,也就是節
- subsection ? – ? 二級標題
- subsubsection ? – ? 三級標題
- paragraph ? – ? 段,是一段文字的說明
- subparagraph ? – ? 子段,是以列舉的形式對前段文字的說明
其中文檔類 article 是Latex的最基本類別,本文中的示例都是基于這一文檔類來演示的。
示例:
%! Tex program = xelatex \documentclass[14pt]{article} \usepackage[UTF8]{ctex} \usepackage{graphicx} %插入圖片%----封面 \title{二十四史:史記} \author{司馬遷} \date{東漢}\begin{document}\begin{titlepage} \maketitle \vspace{2cm} \includegraphics[scale=1]{simaqian.png} \end{titlepage}%----簡介 \centerline{\Huge{簡介}}\vspace{2cm}\par 《史記》全書包括十二本紀(記歷代帝王政績)、三十世家(記諸侯國和漢代諸侯、勛貴興亡)、七十列傳(記重要人物的言行事跡,主要敘人臣,其中最后一篇為自序)、十表(大事年表)、八書(記各種典章制度記禮、樂、音律、歷法、天文、封禪、水利、財用)。 \newpage%----目錄 \tableofcontents \newpage%----正文 \section{本紀} \subsection{第一章 五帝本紀} \paragraph{黃帝者,少典之子,姓公孫,名曰軒轅。生而神靈,弱而能言,幼而徇齊,長而敦敏,成而聰明。軒轅之時,神農氏世衰。諸侯相侵伐,暴虐百姓,而神農氏弗能征。於是軒轅乃習用干戈,以征不享,諸侯咸來賓從……} \subparagraph{黃帝,是少典部族的子孫,姓公孫名叫軒轅。他一生下來,就很有靈性,在襁褓中就會說話,幼年時聰明機敏,長大后誠實勤奮,成年以后見聞廣博,對事物看得透徹。軒轅時代,神農氏的統治逐漸衰弱,諸侯之間互相侵伐,禍害百姓,而神農氏無力征討。于是軒轅就動用武力去討伐那些不守紀律,不來朝拜神農氏的人,因而諸侯都對他表示臣服與追隨……}\subsection{第二章 夏本紀} \subsection{第三章 殷本紀}\section{表} \subsection{三代世表第一} \subsection{十二諸侯年表第二}\end{document}效果圖如下
Latex封面
一般情況下,大家都需要在封面上填上,標題,作者,日期等內容。直接上示例
%! Tex program = xelatex \documentclass{article} \usepackage[UTF8]{ctex} \usepackage{graphicx} %插入圖片%封面格式 \title{勸學} \author{顏真卿} \date{唐代}\begin{document}%制作封面 \begin{titlepage} \maketitle \includegraphics[scale=1]{yanzhenqing.png} %插入圖片 \end{titlepage}%正文 顏真卿3歲喪父,家道中落,母親殷氏對他寄予厚望,實行嚴格的家庭教育,親自督學。顏真卿也格外勤奮好學,每日苦讀。這首詩正是顏真卿為了勉勵后人所作。\end{document}效果圖
Latex目錄
首先使用\section{},subsection{},\part{},\chapter{}等命令在正文中插入了章節之后才能夠再使用\tableofcontents命令在這些個命令出現的位置插入目錄。
示例(具體代碼請參考《 Latex層次》章節)
Latex摘要
尤其是在寫論文時,通常在正文開篇前就應該加上摘要。格式:
\begin{abstract} %摘要內容 \end{abstract}示例及效果圖
Latex關鍵字
有的模板有關鍵字格式,比如 “IEEE” 文件,格式如下:
\begin{IEEEkeywords} keyword1, keyword2. \end{IEEEkeywords}當然,你也可以自定義關鍵字格式,如下
% Keywords command \providecommand{\keywords}[1] {\small \textbf{\textit{Keywords---}} #1 } …… \begin{document} …… \keywords{one, two, three, four}效果如下
Latex引用
通過 “quote” 關鍵字實現,示例及效果圖如下:
注意: 其中 “kaishu” 是指定字體的關鍵字。
Latex腳注
在需要添加腳注的文字后添加\footnote{腳注內容},示例及效果圖如下:
Latex數學公式
Latex有兩種公式模式
- 行間(inline)模式:即在正文中插入數學內容。行間公式用 $ … $
- 獨立(display)模式:獨立成行,可以有或沒有編號。無編號用\ [ … \ ]
示例
%! Tex program = xelatex \documentclass{article} \usepackage[UTF8]{ctex} \begin{document} 數學公式,$lim_{x\to0}x^2$質能方程即描述質量與能量之間的當量關系的方程, \[E = mc^2\]\end{document}效果圖
從上面示例,可以看出,行間模式和獨立模式之間的區別
Latex數學圖形
繪制數學圖形,我這邊使用的是 \usepackage{tikz} 包
示例
效果圖
Latex插入圖片
插入圖形使用是 ** “graphicx” ** 包,格式
\usepackage{graphicx} %插入圖片 ... \includegraphics[scale=1]{yanzhenqing.png} %插入圖片具體的示例可以參考上面的《Latex封面》部分,效果如下:
Latex插入表格
格式:
\begin{tabular} …… \end{tabular}也可設置表格的屬性等情況
- 對齊格式:l 左 c 居中 r 對齊
- 線條:| 豎線 \hline橫線 || 雙豎線 \hline \hline 雙橫線
- 設置寬度:p{寬度值},內容超過寬度時,自動換行
示例及效果
Latex插入代碼
格式
\usepackage{listings} ... \begin{lstlisting} % 代碼段 \end{lstlisting}若需要代碼高亮,需要使用 “\usepackage{xcolor}” 包,使用前需要定制一些參數,即代碼塊的基本配置
\lstset{columns=fixed, numbers=left, % 在左側顯示行號numberstyle=\tiny\color{gray}, % 設定行號格式frame=none, % 不顯示背景邊框backgroundcolor=\color[RGB]{245,245,244}, % 設定背景顏色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=c++, % 設置語言 }示例及效果如下
Latex文字加邊框
使用 “fbox” 命令即可,示例及效果如下
Latex段落文字加邊框
需要使用 “\usepackage{framed}” 包,示例及效果如下
latex分欄
使用包 “\usepackage{multicol}”,格式
\usepackage{multicol} ... \begin{multicols}{2} %分2欄 %要分欄的內容 \end{multicols}示例及效果如下
Latex段落
添加 **空行 **、行間距的實現,使用包 “setspace” ,示例及效果
- \vskip 1cm %跳過1cm的間距。
\usepackage{setspace}
……
\begin{spacing}{2.0} %2倍行間距
……
\end{spacing}
段間距,格式: \setlength{\parskip}{2em} %設置段落間距
示例及效果
首行縮進,使用包 “ \usepackage{indentfirst} ”,使用命令設置縮進的距離
setlength{\parindent}{2em} ,這里的 2em 表示縮進 2 個字符位置.如果有一個段落你不想首行縮進, 在段落前使用命令 \noindent .示例如下:
Latex空白字符
使用命令 “\quad” 實現空格效果,例如:
- a \quad b ?-->? a ? b ?? #a和b之間一個m的寬度
Latex頁面配置
使用geometry宏包,可以讓頁邊距和頁眉頁腳的設置變得非常簡單,示例
\documentclass[a4paper]{article} \usepackage{geometry} \geometry{left=2.5cm,right=2.5cm,top=2.5cm,bottom=2.5cm}\begin{document} test \end{document}也可以配置頁面大小,如:
- \geometry{a4paper} %寫在導言區
- \geometry{paperheight=22cm, paperwidth=10cm} %自定義頁面大小
其他常用的長度選項還有 head, headsep, foot,見下圖
Latex頁眉頁腳
通常用fancyhdr宏包來設置頁眉和頁腳,常用命令有:\pagestyle{type},\thispagestyle{type},setcounter{page}{number},\pagenumbering{style}。
- \pagestyle{type}和\thispagestyle{type}命令用于設置頁面樣式(頁眉和頁腳)。\pagestyle{type}和\thispagestyle{type}的主要區別在于\pagestyle{type}對后續所有頁面都有效,而\thispagestyle{type}僅僅對當前頁面有效。在LaTeX中,默認提供了以下五種頁面樣式:
- empty - 沒有頁眉和頁腳
- plain - 沒有頁眉,頁腳包含一個居中的頁碼
- headings - 沒有頁腳,頁眉包含章/節或者字節的名字和頁碼
- myheadings - 沒有頁腳,頁眉包含有頁碼
- 默認情況下,頁碼從第一頁開始(通常是包含標題頁的)并且以阿拉伯數字形式顯示(例如:1,2,3 …)。頁碼的編號也可以通過\setcounter{page}{number}命令手動設置,需要注意的是,手動設置可能會導致重復的頁碼出現。
- \pagenumbering{style}命令則用于改變頁碼的顯示風格。LaTeX中頁碼風格包含以下五類:
- arabic - 阿拉伯數字
- roman - 小寫的羅馬數字
- Roman - 大寫的羅馬數字
- alph - 小寫的字符形式
- Alph -大寫的字符形式
示例
\begin{document}\thispagestyle{empty} % 當前頁不顯示頁碼 \newpage %分頁\pagestyle{headings} \setcounter{page}{1} \pagenumbering{Roman}\end{document}Latex手寫參考文獻
可以手動書寫參考文獻,格式
\begin{thebibliography}{widest label}\bibitem[item number]{citation} \end{thebibliography}其中widest label 用來設置參考文獻序號的寬度,item number自定義參考文獻的序號一般是省略的,該命令會按照順序自動生成參考文獻序號,citation為區分參考文獻的標簽(類似變量名),使用\cite{citation}命令引用參考文獻時填入其中。示例如下:
%! Tex program = xelatex \documentclass{article} \usepackage[UTF8]{ctex}\begin{document}黑發不知勤學早,白首方悔讀書遲~\cite{quanxue}。山有木兮木有枝,心悅君兮君不知\cite{yuerenge}。\begin{thebibliography}{} \bibitem{quanxue}《勸學》,唐,顏真卿 \bibitem{yuerenge}《越人歌》,先秦,作者未知 \end{thebibliography} \end{document}
注意!!!:在article文檔類的節標題默認為 “Reference”,在 report / book 文檔類的節標題默認為 “Bibliography”。若要修改默認節標題可以用以下命令。
其中section-name可自行設置,若不填該參數,則取消顯示節標題;若section-name不為空,則節標題即為所填的值。
Latex使用BibTeX生成參考文獻列表
說是自動,其實跟手動差不多,不過是需要名字進行連接,廢話不多說,直接上代碼。
1、創建一個Latex文件,命名隨意,如 test.tex
注意,在要注釋的語句后寫上 “~\cite{name}” ,這里的 name 用于在 bib 文件中檢索。
2、創建一個BibTeX參考文獻庫文件,文件的命名跟上述語句保持一致 \bibliography{bibFormat}{} ,也就是創建名為 “bibFormat” 的bib文件,即 bibFormat.bib。錄入如下內容,每一個參考文獻,寫一個 “@misc{ …… }”。
@misc{ quanxue,author = "顏真卿",title = "勸學",year = "唐"}3、使用命令 “\ll” 編譯后的效果如下
小結
本文的部分內容來自于網絡搜索,我這里綜合整理出來,以供大家學習參考。
其實整理文檔不容易,內容繁多,各種資料查找,網絡搜索,再加工,期間一度不想做了,但還是堅持了下來,在完結的那一刻感覺心情無比輕松……
參考資料
總結
以上是生活随笔為你收集整理的中文版Latex常用语法大全教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SSM框架Filter登录后对权限进行甄
- 下一篇: 织梦DEDE一键搬迁网站模板数据到DSC