文章目錄
昨天我立下了一個豪言壯語,“要寫完畢業論文的初稿”,在完成了我的幻想之後,小菜雞想給大家分享一點我用Latex的小經驗。
一、公式篇
各式各樣的公式編號
對於公式主要問題集中在我們對於公式有許多莫名的需求,比如多行公式一個編號,多行公式多個編號,多行不同的對齊格式。
這裏將經常使用的格式整理如下:
- ** 號問題:在環境中有星號則無編號,無星號有編號。\notag 可以阻止單個公式有編號。
- \\ :換行
- \text{文字}:在數學模式中輸入文字
- \label{fig:01}添加標籤,實現交叉引用
常用的環境主要有4種:gather、align、equation+split、equation+case
gather環境:
(1)gather環境默認多行居中對齊,一行一個編號。
例如:
\begin{gather}
y = \frac{1}{2}x^2+4x+6 \\
y = 6x
\end{gather}
(2)使用**可以暫停這段環境中公式的編號(align,equation通用)。
例如:
\begin{gather*}
y = \frac{1}{2}x^2+4x+6 \\
y = 6x
\end{gather*}
(3)notag可以阻止該行的編號。(align,equation通用)
例如:
\begin{gather}
y = \frac{1}{2}x^2+4x+6 \notag \\
y = 6x
\end{gather}
align環境:
(1)align環境默認右對齊,一行一個編號
如:
\begin{align}
y = \frac{1}{2}x^2+4x+6 \\
y = 6x
\end{align}
(2)align環境可以結合"&“使用,就通過”&"對齊
如:
\begin{align}
y &= \frac{1}{2}x^2+4x+6 \\
y &= 6x
\end{align}
equation+split
(1)equation默認情況下不換行,可以通過引入split環境,使用“\”換行,split默認右對齊。
(2)裏面的split環境同樣可以使用“&”對齊
\begin{equation}
\begin{split}
y &= \frac{1}{2}x^2+4x+6 \\
y &= 6x
\end{split}
\end{equation}
equation+case環境
equation+case環境主要用來分類討論,或者有左大括號的數學公式。
(1)默認環境下會左對齊。
比如:
\begin{equation}
D(x)=\begin{cases}
y = \frac{1}{2}x^2+4x+6 , \text{如果}x \in (-\infty,0] \\
y = 6x , \text{如果}x \in (0,+\infty)
\end{cases}
\end{equation}
(2)使用“&”對齊
比如:
\begin{equation}
D(x)=\begin{cases}
y = \frac{1}{2}x^2+4x+6 , &\text{如果}x \in (-\infty,0] \\
y = 6x , &\text{如果}x \in (0,+\infty)
\end{cases}
\end{equation}
常用數學符號
這裏給大家推薦一本書“一份不太簡短的 LATEX 2ε 介紹”。書的第50頁是數學符號表。
百度網盤:鏈接:https://pan.baidu.com/s/1m2P00VfPSD3kJinxQQWDrA 密碼:j09y
或者使用網頁
https://blog.csdn.net/ViatorSun/article/details/82826664
二、表格篇
快速將excel表格轉換成latex表格
這裏給大家推薦一個在線網站,賊簡潔:
http://www.tablesgenerator.com/latex_tables
進入網站之後,點擊 “File” ** -> “Paste table data”。如果是csv文件可以直接導入。然後把excel表格裏面的內容直接複製進去,點擊"Load"**。
直接會生成latex表格的內容。
如果導入之後,內容或者版式不滿意,還可以使用上面的工具欄修改細節格式,如“合併單元格”,“調整字的顏色”,“設置邊框線”等。
調整完之後直接點擊**“Generate”**,即可更新代碼。
這個可以減輕很多工作,特別是latex表格書寫不熟悉的時候。
強烈推薦。
直接將代碼複製進我們的tex文件中,即可以查看使用的表格。(如果報錯的話,可以檢查需要插入的包是否插入,在文章最開頭插入即可。)
效果:
latex表格格式精調
我們對於表格除了上述需求外,可能爲了排版好看還會對錶格的行寬以及列寬進行設置,
設置行高
比如我們覺得上面的表格行間距太小了,我們想使用1.5倍行高,只需插入一行代碼:\renewcommand\arraystretch{1.5}
即全部代碼爲:
\renewcommand\arraystretch{1.5}
\begin{table}[]
\begin{tabular}{|l|l|l|l|}
\hline
& 1月 & 2月 & 3月 \\ \hline
武漢加油 & \multirow{2}{*}{我要合併} & 我不合並 & 論文延期了 \\ \cline{1-1} \cline{3-4}
中國加油 & & \multicolumn{2}{l|}{我要上學} \\ \hline
\end{tabular}
\end{table}
設置列寬
必須我們想指定每一行的行寬,直接在\bgein{tabular}後面設置寬度即可,表格裏面的內容就會自動換行,如:
\begin{tabular}{|p{2cm}|p{2cm}|p{4cm}|p{2cm}|}
結果:
此時格式默認單元格左對齊,如果這個時候還需要居中,右對齊,就不能通過直接指定"l/c/r"這些字母實現,需要使用**\centering(居中),\raggedleft(右對齊),\raggedright(左對齊)**等實現。(需要使用array包,即\usepackage{array})
如第2列居中,第3列右對齊,第4列左對齊:
\usepackage{array} %文章開頭
\begin{tabular}{|p{2cm}|p{2cm}<{\centering}|p{4cm}<{\raggedleft}|p{2cm}<{\raggedright}|}
補充資料:https://blog.csdn.net/chichoxian/article/details/52050260
三、分章節編譯
分章節編譯是一個非常好用的功能,可以把不同章節分配在不同的tex文件中,有助於同時創作,相互參考。
比如我們在RelatedWork.tex文件中寫所有和相關工作有關的內容,不需要額外的引入包,設置環境格式。
然後在主文件中,只需要\include{RelatedWork}即可,編譯也是直接在主文件編譯。所以一篇文章的主文件可以只有:
\documentclass[a4paper, 12pt]{book}
\usepackage{FDUThesis}
\usepackage{float}
\begin{document}
\include{Forewords}
\include{intro}
\include{RelatedWork}
\include{data_analysis}
\include{Methodology}
\include{Experiments}
\bibliographystyle{FDUbib}
\bibliography{Pandoxie-BiB}
\end{document}
四、環境配置篇
在線編輯:Overleaf
對於Latex的書寫,在之前Overleaf還沒有崩掉的時候,我非常喜歡使用Overleaf寫,因爲它即使出錯也可以編譯出結果,還有檢查英文單詞錯誤的功能。而且模版超級多,隨便下載一個就能開始書寫。不用安裝本地環境,還可以在不同的平臺上創作,還可以多人協同修改。
現在還可以在半夜登陸,雖然有點慢,但是還算正常。
這裏不做詳細介紹。
本地平臺:MacTex+Sublime 3+Skim
乍一看本地環境配置有點略複雜有三個軟件,但是拆開來看
- MaxTex:一個編譯器,提供Tex編譯環境
- Sublime 3 :應該是很多朋友擁有的文本編輯器,但是使用它寫Latex是我最近才知道的事情。
- Skim:pdf瀏覽器,它的作用就是可以設置pdf一更新就查看,方便編輯時實時可視化並且查看。
具體安裝以及配置過程(附安裝包)可見:https://blog.csdn.net/ciecus_csdn/article/details/104623570
使用這個環境編譯有以下好處:
(1)公式和插圖可以直接可見
latex有些不太方便的地方在於它不是一個“所見即所得”的東西,但是在這種編程環境下就沒有這種問題。
對於公式,插圖,在你插入的地方點擊文件名,就會直接顯示你插入的圖片,或者你正在書寫的公式。
此外因爲鏈接了skim,所以再每一次編譯完之後,pdf會直接顯示最新編譯的結果。
(2)有引用提示
在你寫完\ref按下鍵盤上的“{”之後,會自動跳出提示,告訴你這一頁有哪些可以引用的部分,你選中你要引用的直接回車即可。
(3)彩色字好看
只要你把你的文本保存成.tex文件之後,你就發現所有關鍵字,文本都用不同顏色區分開來。提升寫作的愉快感,並且能夠提示你是否書寫正確。
五、如何在latex編譯多國文字
最後再跟大家討論一個小衆的問題,遇到這個問題是因爲我做數據分析的時候,有個樣本名詞是韓文,但是我編譯完之後顯示的都是方框,如下圖所示:
出現方框,說明目前latex沒有合適的字體編譯它,這個問題是大家提及比較少的一個問題,經過我的一番摸索,我終於找到了一個簡單並且行之有效的方案,分享給大家,以便大家可以自由選擇書寫語言。
如果你使用的CJK編譯環境,那麼這種包是支持中日韓語言的。
步驟可以分成3步,此處以韓文爲例:
(1)查電腦中有哪些支持韓文顯示的字體
mac可以直接在Font(字體冊)裏面搜:韓語,就會顯示支持韓語的所有字體。
(2)在sty文件中增加韓文字體
在sty文件中增加兩行,
第一行:\setCJKfamilyfont{縮寫名}{本地字體名}
第二行:\newcommand*{\命令名}{\CJKfamily{縮寫名}}
本地字體名就是上面查找到字體的 PostScript名稱,自己選擇一個合適的就行。
\setCJKfamilyfont{korean_fonts}{JCsmPC}
\newcommand*{\korean}{\CJKfamily{korean_fonts}}
(3)在latex文字中告訴latex哪一段是特殊語言,用括號括起來。
比如:{\korean 시간을 달려서} (Rough)
然後我們再編譯的時候就發現可以正常編譯了。