本文是我自學Latex的學習心得,給大家分享一下。wudashuo首發於CSDN,轉載請註明。
上一期鏈接 (安裝、配置、hello world) https://blog.csdn.net/wudashuo/article/details/104608686
本期是Latex的核心內容,包括如何寫標題,作者,摘要,關鍵詞,正文等內容。
本文環境:Windows 10 + Textlive + VS Code
目錄
1. 文檔開始前
首先回顧一下上一期我們學的最簡單的內容:
\documentclass{IEEEtran} %文檔模板
\begin{document} %文檔開始
Hello, World! %不空行,這裏相當於空格
Hello, World! %空了一行,這裏相當於換行
Hello, World! %連續多個空格,視爲一個空格
\end{document}
1.1 documentclass
我們知道Latex的是以\documentclass 開頭的,這是文檔的模板,它的完整指令是
\documentclass[option]{class}
其中option是文檔屬性,class是文檔類型。
(1)Class常用參數如下表:
article | for articles in scientific journals, presentations, short reports, program documentation, invitations, ... |
report | for longer reports containing several chapters, small books, thesis, ... |
book | for real books |
letter | for writing letters |
proc | a class for proceedings based on the article class |
更多參數詳見 https://ctan.org/topic/class 這個算是最全的了。
計算機相關專業常見的模板就是IEEEtran和IEEEconf。Latex模板可以從你要投稿期刊會議的網站上下載,當然網上也有很多其他模板,甚至很多學校畢業論文的Latex模板都有,有了模板寫論文就非常簡單了,直接把你的內容填充進去就可以了。
一個latex模板網站https://www.latexstudio.net/ 我也沒下載過,看起來還可以。
(2)option 是在你模板的基礎上進行另外一些排版設置,下面是option的常用參數:
11pt | 字號,默認10pt |
letterpaper a4paper |
紙張大小,美國常用的就是a4和us letter |
onecolumn twocolumn | 單欄還是雙欄 |
多個參數用英文逗號隔開。除上述表格外,UTF8可以支持中文,還有一些關於書籍的參數,比如titlepage和notitlepage是標題頁是否獨佔一頁,一般書籍,畢業論文和報告是獨佔一頁的,普通論文都是notitlepage; twoside, oneside單面還是雙面打印;landscape文檔打印格式是橫着等等,這裏不再贅述了,一般寫論文用不到。
option是額外的參數,一般只要有了class的具體模板,基本不用配置很多。比如IEEE會議論文模板是IEEEtran,屬性只需填conference:
\documentclass[conference]{IEEEtran}
1.2 usepackage
導入包,類似編程中的import。包的導入在\documentclass之後,\begin{document}之前。命令如下:
\usepackage[options]{package}
options一般不太常用,只需導入相應的package就行。一些常用的package有:
- amsmath, amsthm,amssymb, amsfonts 數學公式、定理、數學擴展符號和一些數學字符字體包。必引用,除非論文裏沒有任何公式和數學符號。其中amssymb是包含amsfonts的,引用前者即可。
- graphicx 插入圖片,必引用的包。
- xcolor 顏色包,必引用。
- array 表格,必引用。
- cite 參考文獻引用,必引用。
- fontenc, textcomp 這兩個是字體編碼相關的包,有些特殊符號無法正常顯示,可以導入這兩個包
本來想多寫幾個的,寫太多冗餘,有興趣可以自己搜索各個常用的包的功能,最全的包在這裏:https://www.ctan.org/pkg/ 這個太多了看看就行了,不具參考性。
2. 標題頁
標題頁主要是三個部分,標題,作者和日期(可選)
這三個指令是:
\title{your paper title}
\author{name}
\date{\today}
其中,使用 \thanks 命令生成標題頁的腳註,在作者那裏用 \and 隔開多個人名,比如:
\title{Test title}
\author{ Troy\thanks{E-mail:[email protected]} %第一作者,腳註郵箱
\and Myb\thanks{Corresponding author} %第二作者,腳註通訊作者
\and author_name3}
\date{\today} %日期今天,或者直接寫你想要的日期
一般論文是要比上述更加複雜的,再次拿IEEE模板舉例,通常作者名字是有表明第幾作者的,下方還要有單位和郵箱,而不是在腳註中,有些不需要寫日期,有些論文也包含副標題,一切以模板爲準。
這些指令只是定義標題、作者和日期,單單輸入這些,編譯後整個標題頁是沒有的,只有通過這個指令才能生成標題頁:
\maketitle
\maketitle的位置一定不要搞錯,因爲latex編譯是按順序的,應該在正文、目錄和摘要之前,在\begin{document}之後,而之前的標題作者的定義可以在\begin{document}之前或者之後,但一定在\maketitle之前。
3. 摘要與關鍵字:
摘要的命令很簡單,在中間把你的摘要複製進去就完事了:
\begin{abstract}
content of abstract....
\end{abstract}
而關鍵字在latex中並沒有這個指令,但是論文模板中一般是有的,直接套用即可,比如IEEE:
\begin{IEEEkeywords}
keyword 1, keyword 2, keyword 3
\end{IEEEkeywords}
如果模板沒有,可以使用宏等方式生成自己的指令,這裏不再贅述,可自行搜索。
4. 正文
正文部分就簡單了(除了圖表等),首先要寫的是章節名,latex中有7個等級的章節:
- -1
\part{part}
- 0
\chapter{chapter}
- 1
\section{section}
- 2
\subsection{subsection}
- 3
\subsubsection{subsubsection}
- 4
\paragraph{paragraph}
- 5
\subparagraph{subparagraph}
其中,\part
和 \chapter
是部和章,只有在 report
和book
的格式用的到,我們一般所用的章節標題是123級。比如
\section{Introduction}
...第一章的內容...
\section{Related works}
\subsection{Deep Learning}
第2.1章節的內容...
\subsubsection{CNN}
第2.1.1章節的內容...
而\paragraph 和\subparagraph是四級標題1.1.1.1和五級標題1.1.1.1.1,不太常用,注意看你的論文模板是否可以使用四級和五級標題。
有了這些章節,在前面那裏(\maketitle之後,順序不要亂)可以使用\tableofcontents命令自動生成目錄。如果某些章節不想出現在目錄中,可以在章節指令的 { 之前加星號,比如
\subsection*{這個標題不會出現在目錄中}
關於文字內容就直接在章節命令下面另起一行輸入你的正文內容即可。
下面是一些我自己整理的用得到的常識(之後還有):
- 空格鍵和 Tab 鍵輸入的空白字符視爲“空格”。連續的若干個空白字符視爲一個空格,想多個空格可在空格前加\。一行開頭的空格忽略不計。
- 行末的回車視爲一個空格;但連續兩個回車,也就是空行,會將文字分段。多個空行被視爲一個空行。章節指令、插入圖表等指令後無需手動空行分段。
- 在行末使用 \par 命令也可以分段。
- %後註釋,不會編譯,直到行尾。
- 特殊符號前用\ ,輸入"\"符號用\textbackslash指令。
- 雙引號 “ 用兩個單引號表示 ‘’,編譯後就是雙引號了。
- 一個 - 用來連接英文的複合詞 兩個 -- 將數字鏈接表示範圍 三個 --- 作爲破折號使用。
- \ldots 和\dots指令都是省略號。
- \underline{underlined content} 下劃線內容。
- \emph{content} 命令用來將文字變爲斜體以示強調。如果在本身已經用 \emph{content} 命令強調的文字內部嵌套使用 \emph{},內部的則使用正常字體的文字。
- \\ 表示換行不換段 \newline指令也可以。
- 斷頁\newpage 和 \clearpage,二者的區別是\clearpage總是另起新的一頁,而\newpage在雙欄排版中是新的一欄。
至此,寫出一篇簡單的Latex文章應該不是問題了。最後來一個本文所用到的總的Latex代碼:
\documentclass[conference]{IEEEtran}
\usepackage{cite}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage{algorithmic}
\usepackage{graphicx}
\usepackage{textcomp}
\usepackage{xcolor}
\usepackage[OT1]{fontenc} % for font error
\usepackage{booktabs} % for tabular
\usepackage{multirow} % for tabular
\usepackage{array} % for m{} in tabular
\usepackage{lscape} % 橫向
\title{Latex零基礎教程:Latex學習筆記}
\author{Troy \thanks{https://blog.csdn.net/wudashuo/}}
\date{\today}
\begin{document}
\maketitle
\begin{abstract}
Latex零基礎教程:Latex學習筆記主要講了Latex下載安裝和寫作方法與技巧
\end{abstract}
\begin{IEEEkeywords}
Latex, Troy, wudashuo
\end{IEEEkeywords}
\tablesofcontent
\section{Introduction}
Latex是一種文章排版系統
\section{How to use Latex}
\subsection{Download and install}
具體方法請見https://blog.csdn.net/wudashuo/article/details/104608686
\subsubsection{IDE}
推薦texlive和VSCode
\end{document}
本期講述的是Latex寫作中比較簡單的部分,更難的是圖、表、公式的插入和其交叉引用,參考文獻及其引用,這些內容將在下一期教程裏寫。
寫了整整一天,下期等下次有空的時候再寫吧。
如果喜歡這篇文章,學到了知識的話
👇請點個贊收個藏👇。