LaTeX | 爲學術論文排版而生【浮動體篇】

說在前面

今天,迎來LaTeX系列的第四篇【浮動體篇】,怎麼感覺發布第三篇是很久之前的事情了呢(笑哭,逃).....

關於LaTeX,今天和大家多嘮叨一點。

與主流的編程語言(如JavaPythonC++等相比),LaTeX並沒有那麼多光環,在每年的編程語言排行版上也是不可能見到它的蹤影的,畢竟LaTeX只是一門爲排版而生的小衆語言,因此也不會成爲互聯網時代大家追逐高薪的編程利器。

從我學習LaTeX以來,雖然接觸還不深,但卻明顯感覺到她的小而精。當你拿用LaTeX寫學位論文時,你會被她的高效和專業而驚歎;如果你是HR,當你看到一份用LaTeX寫的簡歷時,你會被其漂亮的排版所吸引,而多看幾眼;當你坐在電腦前,敲着代碼,便能感覺到那種所想即所得的美妙......

學習LaTeX從來就不帶有功利的因素,而是純粹被她的專業和精緻所吸引,作爲一個業餘的興趣就很好。雖然相比WordLaTeX入門很難,想要做到精通,花個幾年時間都不爲過。可是,如果真的有興趣,慢慢享受這種逐步弄懂她的過程,又有啥不好呢?

存在的必然是合理的。反過來想想,既然LaTeX在排版方面有這麼大的優勢,那麼除了在學術界受歡迎,在其他行業是否能夠發揮她的價值呢?

經過我的初步瞭解,在國外,有不少專注於提供LaTeX排版服務的小型公司,在國內,一家叫做LaTeX Studio(LaTeX工作室)的公司做的挺不錯,公司位於杭州蕭山。

而我最近因爲無意發現了個有關LaTeX的私活,就接了下來。這個兼職是教育公司提供的,具體就是用LaTeX排版題庫,特別是帶有很多數學公式的題庫(比如高中奧賽題庫)。所以可見,LaTeX以其專業的排版水準在教育行業也能發揮重要作用。

做這個兼職的過程中,除了得到豐富的報酬,更學到了很多知識,使得我對LaTeX的興趣更加濃厚了,將來會分配更多的業餘時間來學習。

廢話不多說,進入今天的主題【浮動體篇】。

LaTeX【浮動體篇】

這裏的浮動體主要是針對圖表而言,比如論文中的插圖和表格。圖表往往能更加直觀地表達信息,在學術論文中最爲常見,因此圖表的排版顯得非常重要。

不過,單單一個圖片或表格還算不上浮動體,得放在一個浮動環境中才行。簡單地說,就像Word中的圖表,想要排版得當得調整嵌入方式(環繞四周、浮於文字上方 之類的),這個過程中圖表可能會着文字移動。不過相比Word中經常出現圖表牽一髮而動全身的令人抓狂的情況相比,LaTeX中的圖表就非常老實了,你可以讓它在附近位置浮動,也可以讓它固定在某個位置,這也是LaTeX在圖表排版方面的優勢。

表格

LaTeX中可以用tabulararray環境來錄入表格,其中tabular支持文本和數學模式,array僅僅支持數學模式。除了使用模式有所區別,兩者在使用方式上沒有明顯區別。

tabulararray環境的一般格式爲:

\begin{tabular}[垂直對齊]{列格式說明}
表項 & 表項 & ... & 表項 \\
......
\end{tabular}

\begin{array}[垂直對齊]{列格式說明}
表項 & 表項 & ... & 表項 \\
......
\end{array}

其中,表格每一行後面用\\換行,不同列之間用&分開。垂直對齊可以理解爲表格在文檔中的對齊方式,一般用的較少。列格式說明指列內容的對齊方式,有左、中、右,分別用lcr表示。下面代碼包含了文本和數學公式,可以加深理解。

\begin{tabular}{lcr}
$x^{2}$ & 文本 & $y^{2}$ \\
本列公式 & 本列文本 & 本列公式
\end{tabular}

編譯後效果如:

編譯效果

再看下面的代碼:

\begin{tabular}{|c|c|c|}
\hline
1 & 0 & 0 \ \hline
0 & 1 & 0 \ \hline
0 & 0 & 1 \ \hline
\end{tabular}

編譯效果

上述代碼中,列格式說明中的|表示畫一條豎線,即列表格線。\hline表示畫一條行表格線。

利用下面代碼看看垂直對齊的用法。

\begin{tabular}{|c|c|c|}
\hline
1 & 0 & 0 \ \hline
0 & 1 & 0 \ \hline
0 & 0 & 1 \ \hline
\end{tabular}
表格外的文字與表格底部對齊

編譯效果

以上就是LaTeX中表格的最基本用法,更多格式調整如改變列寬、合併單元格等大家可以上網查閱。

圖片

LaTeX中,插入功能由宏包graphicx中的\includegraphics命令提供。不同的編譯引擎支持不同的插圖格式,一般來說採用xelatex引擎,支持EPS、PDF、PNG、JPEG、BMP等格式。

\includegraphics命令的語法格式爲\includegrapgics[選項]{文件名}。其中選項包含width、height、scale三種,分別表示圖形在文檔中顯示的寬度、高度和縮放比例。此外,爲了方便圖片的管理,可以將需要插入的圖片放在工作目錄中的一個文件夾中,如figure,只需要在導言區添加\graphicspath{{figures/}}即可。

更多用法這裏不多說。

LaTeX 浮動體

介紹

圖片或表格通常都佔有較大的一塊,直接放在文檔中常常會造成分頁的困難,即在文檔中常常會造成分頁的困難,即一頁放不下,放在後一頁又會造成很大的留白,很不美觀。除了圖表,其他類型的大塊內容也有可能出現類似的問題,如程序算法、大型公式等。

LaTeX中的浮動體便可以解決這個問題。浮動體是一個活動的盒子,它可以把內容放在距離浮動體代碼前後不遠的地方,通常就是浮動體代碼所在地,但也可以放在頁面開頭、末尾或是單獨的一頁中。

使用浮動體,就可以在不太費力仔細調整內容的情況下,避免大塊圖表把整齊的頁面弄糟。

此外,浮動體還可以給圖表添加標題,這在論文寫作中非常重要。

浮動體

LaTeX中兩種浮動體環境:figuretable,通常分別用於圖和表的排版。figure環境的語法格式如下:

\begin{figure}[允許位置]
內容
\end{figure}

table環境與之類似。可選參數允許位置用來設定浮動環境可以出現在頁面中的位置,即h、t、b、p四個選項的組合。

  • h 此處(here),浮動體的內容被放在代碼所在的上下文位置。
  • t 頁頂(top),浮動體被放在一頁的頂部,這可以是代碼所在環境的頁面或之後的頁面,注意當頁排版的浮動體可能出現在實際代碼之前。
  • b 頁底(bottom),浮動體被放在一頁的底部。
  • p 獨立一頁(page),一個或多個浮動體被放在單獨的頁面中,這個頁面被稱爲浮動頁。

浮動體最常見的應用就是直接在table環境中放置tabular,或者是在figure環境中放置\includegraphics命令插入的圖形。經常還在前面使用\centering命令讓圖表居中放置。看下面代碼:

\begin{figure}[htbp]
\centering
\includegraphics{figure_name.jpg}
\end{figure}

\begin{table}
\centering
\begin{tabular}{c|c}
\hline
a & b \ \hline
c & d \ \hline
\end{tabular}
\end{table}

需要再次說明的是,無論是figure還是table環境,浮動環境的名稱和內容並沒有必然聯繫,其內容可以任意放置,如程序算法(後續會介紹)。

浮動體的另一個重要動能是使用\caption命令加標題,其語法格式如下爲\caption{標題}。看下面代碼。

\begin{figure}[htbp]
\centering
\includegraphics{figure_name.jpg}
\caption{這是圖片的標題}
\end{figure}

關於浮動體,提出最多的一個問題是:怎麼樣讓圖表不要亂跑?習慣於所見即所得環境下拖拽鼠標放置圖形的人尤其不適應浮動環境的“奇怪”效果。浮動圖表的目的是用浮動的位置避免糟糕的分頁,但如果不在乎因爲圖表太大而產生的分頁,而要有確定的位置,那麼這其實是要求不使用“浮動”環境。

LaTeX爲此提供了float宏包來解決這個問題,即用一個新的H位置選項來產生沒有浮動效果的圖表環境,它的使用非常簡單,和一般的浮動環境沒有什麼區別。看下面代碼。

\usepackage{float}
\begin{figure}[H]
\centering
\includegraphics{figure_name.jpg}
\caption{這是圖片的標題}
\end{figure}

【浮動體篇】就介紹到這裏,更多詳細的用法大家可上網查閱,比如簡書上很多網友分享的教程。更多內容可以移步我的個人公衆號【貓Q學術派】。

參考文獻

  1. 劉海洋 《LaTeX入門》,電子工業出版社。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章