LaTeX|圖表的排版

2021-03-02 兩個少年的奇幻漂流

本文是蔣先生的 LaTeX 入門介紹第六篇,往期請看:

LaTeX|準備就緒

LaTeX|小試牛刀

LaTeX|真正的文檔

LaTeX|目錄與格式定製

LaTeX|數學公式排版

本期的主題是圖表的排版,主要內容有:

普通表格與矩陣

長表格與三線表

圖片的插入與大小控制

浮動體與圖表標題的製作

前段時間期末季實在太忙啦,於是這期就拖到了現在,大家見諒!

普通表格與矩陣

在 LaTeX 中,排版表格是一個非常重要的事情。在廣義上,表格不僅包括我們日常所說的表格,也包含矩陣,因為表格的核心其實是對齊。在前面數學公式排版中,我們提到過矩陣的排版,其中就使用「&」符號作為對齊的標誌。在表格中也是如此。

首先要介紹的是 tabular 和 array 環境,它們的功能幾乎沒有差別,也包含了排版表格的核心技術。其主要用法是這樣的:

\begin{tabular}[<垂直對齊選項>]{<列格式說明>}A & B & C \\D & E & F \\\end{tabular}

我們先解釋列格式說明。列格式說明的基本元素有 l c r 三種,分別表示這一列是靠左、居中還是靠右對齊。在左右兩端或基本元素之間可以加上豎線,表示這裡是不是需要用線來分隔。舉例如下:


在列格式中還有一些其他的說明符,在此也列舉如下:

p{<寬度>},表示本列具有固定的寬度,表格內容在其中可以自動換行(但不能手動用 \\ 進行換行),並可以用 \raggedleft,\centering 等命令進行對齊。

@{<內容>},添加任意內容,不佔表項計數,同時取消表列間的距離。例如我們需要某一列的數據按小數點對齊,就可以用 r@{.}l 這樣定義兩列,分別輸入整數部分和小數部分,實現這個效果。

*{<計數>}{<列格式說明>},將部分列格式說明重複多次。

我們也可以在其中視需要加入橫線進行分隔(\hline)。舉例如下:


如果我希望某一行的橫線不貫穿整個表格,則可以使用 \cline 命令。\cline{x-y} 可以獲得一段從第 x 格到第 y 格的橫線,舉例如下:


垂直對齊選項表示在行內使用時,表格的哪一部分與文字對齊,其參數可以是 t 或者 b,默認條件是居中對齊。舉例如下:

與底部對齊:


居中對齊:


這樣的行內表格並不常見,因此大多數情況下我們不需要用到垂直對齊選項。

有的時候我們需要將表格單元進行合併,我們就可以使用 \multicolumn 命令。這一命令的使用方式如下:

\multicolumn{<項數>}{<列格式說明>}{<內容>}

設項數為 n,那麼這一命令表示,將此行連著 n 個格子合併,並填入相應的內容。對被合併的 n 個格子,它們之間的對齊符號全部省略不寫,但前後的對齊符號不可省略。

如果要合併列,則需要用 multirow 宏包提供的 \multirow 命令,其使用方式如下:

\multirow{<行數>}{<寬度>}{<內容>}\multirow{<行數>}*{<內容>}

使用後一種用法就可以不指定寬度,最終其寬度會以內容的寬度為準。將上述兩個命令相互嵌套,即可實現多行多列表格的合併。這樣的操作其實是非常麻煩的,因此在這裡為大家推薦 excel2latex,有網站也有同名的 Excel 插件,可以用 Excel 做好表格之後導出成 LaTeX 源碼。

長表格與三線表

有的時候我們需要製作的表格,用一整張紙都裝不下。這樣的話我們在新的一頁上需要重新排版一個表頭,同時在頁面接續處需要有一些文字來說明這個表格是跨頁排版的。這個時候我們就需要 longtable 宏包中提供的 longtable 環境。其使用方式如下:

\begin{longtable}[<水平對齊項>]{<列格式說明>}<第一頁表頭>\endfirsthead<接續處表頭>\endhead<頁面連接處表尾>\endfoot<最後一頁表尾>\endlastfoot<內容>\end{longtable}

具體的使用細節可以參考 longtable 的宏包文檔。

在科學論文中,更多使用的是三線表。這樣的表格只在頂部、底部和表頭下方有三條分隔線,其中頂部和底部的線較粗,表頭下方的線較細。這樣的線條可以用 booktabs 宏包提供的如下四種命令來實現:

簡明的使用方法如下:

\begin{tabluar}[<垂直對齊項>]{<列對齊說明>}\toprule <表頭>\midrule<內容> \\\bottomrule

booktabs 宏包沒有提供單獨的表格環境,只需要在普通的表格中插入新定義的線條即可。詳細的使用說明可以看看 booktabs 的文檔。下面用一個比較複雜的三線表來回顧一下我們到現在為止講到的全部內容吧(自己動手之前別忘了需要的宏包噢)。


圖片的插入與大小控制

說完了表,我們來說圖。插入一張圖片的核心命令是

\includegraphics[<選項>]{<文件名>}

同時我們在插圖時一般都需要調用 graphicx 宏包。下面默認全部調用。在使用 XeLaTeX 進行編譯時,被插入的圖片支持 EPS,PDF,PNG,JPEG,BMP 等五種格式。一般使用較多的是 PDF、PNG。PDF 圖片是矢量圖形的標準格式,也是最推薦使用的(一般的作圖軟體都支持輸出 PDF 格式的圖片);PNG 則是無損壓縮的像素圖模式,顯示計算機製作的非自然圖形。

圖形文件一般和 .tex 源文件在同一目錄下,因此可以直接寫文件名插入。但有的時候圖片會被合併到一個文件夾中進行管理,此時就可以使用 graphicx 宏包提供的 \graphicspath 命令來指定這個文件夾。指定後,所有圖片的搜索都將在這個文件夾中進行。

\graphicspath{{figures/}}

例如上面這個命令就可以指定根目錄下的 figures 文件夾為圖片文件夾。

插入的圖片可以指定大小,只要在 \includegraphics 命令中的選項中指定即可。例如

\includegraphics[width=\textwidth]{pic}

就可以將 pic 這張圖片伸展成與版心等寬,恰好充滿版面的寬度。類似的指標還有 height(表示圖片的高度)和 scale(表示圖片的比例)。

浮動體與圖表標題的製作

一般情況下,圖表都會佔據頁面中大塊的位置,造成分頁的困難。放在前面一頁位置不夠,放在後面一頁又會造成前面一頁底部有大量空白,非常不美觀。於是 LaTeX 使用浮動體來解決這個問題。也就是說在排版的時候,如果當前位置放不下圖表,那就先排版後面的內容,再在後面找合適的地方來放圖表。針對圖片和表格,LaTeX 提供了 figure 和 table 兩種環境,不僅可以實現浮動,還可以分別編號並生成目錄。下面我來舉例為大家說明浮動體環境的使用方式。

\begin{figure}[<浮動位置>]\includegraphics[<選項>]{<文件名>}\caption{<圖標題>}\label{<標籤>}\end{figure}

\begin{table}[<浮動位置>]\caption{<表標題>}\label{<標籤>}\begin{tabular}{<列對齊說明>}...\end{tabular}\end{table}

浮動位置有如下四種:

h:here,表示放置在當前位置

t:top,表示放置在某頁頂部

b:bottom,表示放置在某頁底部

p:page,表示獨佔一頁

這四種說明符可以組合使用,自左向右優先級遞降。至於最後這個圖表出現在哪裡,我們就不需要關心了。但是可能出現的一種情況是,如果你的浮動體太多而其他內容太少,它們可能會被堆到整個文檔的最後一起出現。這個時候你可能就需要使用 minipage 等方法手動安排一下它們的位置了。

圖表的標題用 \caption 命令來指定。需要注意的是,表的標題應該在表的上方,而圖的標題應該在圖的下方。這個是排版中的一個默認的規則。圖表標題格式的控制可以使用 caption 宏包來實現,細節較多,大家可以閱讀 caption 宏包的文檔來了解。圖表同樣也可以進行交叉引用,只需要加個一個標籤,就可以用 \ref 命令進行引用了。

另外有的時候,我們希望某個浮動體就在我們書寫源碼的地方。這時我們可以調用 float 宏包,並將浮動位置指定為 H,就可以實現了。

以上介紹的是最簡單的圖表排版技巧,下期我們將介紹參考文獻的製作,敬請期待!

歡迎關注我們⬇️


相關焦點

  • 學習|Latex排版
    補充之前發的latex排版!💕友情提醒,不用刻意去學習latex,等準備投稿了,再去學一下。
  • Latex排版的入門簡要介紹
    Latex簡介  Latex簡單的說是一個通過程式語言進行排版的軟體!
  • 學術寫作利器LaTeX入門,再也不用為word的排版頭痛
    常用的LaTex online compiler基本就是sharelatex.com和writelatex.com這兩個,需要註冊,基本帳戶免費。下面以sharelatex.com的界面為例子演示LaTeX的基本編纂規則和package的作用。
  • 論文、報告、PPT編輯排版利器:LaTex
    LaTex是一種基於TEX的排版系統,由美國電腦學家萊斯利·蘭伯特在20世紀80年代初期開發,利用這種格式,即使用戶沒有排版和程序設計的知識也可以充分發揮由TEX所提供的強大功能,能在幾天,甚至幾小時內生成很多具有書籍質量的印刷品。
  • LaTeX專欄001|入門篇-談安裝與排版心得
    我的故事 17年9月,第一次使用該軟體,主要是為了數學建模;17年12月,用於排版美賽模擬前的優秀論文,但第一年美賽我還的確是用word提交.,所想即所得高級功能不易掌握進階難,但一般用不到處理長文檔需要豐富經驗和短文檔處理基本無異花費大量時間調格式無需擔心格式,專心作者內容公式排版差強人意尤其擅長公式排版二進位格式,兼容性差文本文件,易讀、穩定付費商業許可自由免費使用跨平臺幾乎可以運行於所有的電腦硬體和作業系統平臺;科學性,會根據用戶設定自動排版格式,自動編號與引用.
  • 懶人排版軟體Latex
    LaTeX是一種基於ΤΕΧ的排版系統,由美國計算機學家萊斯利·蘭伯特(Leslie
  • LaTeX排版軟體安裝教程
    [名稱]:LaTeX排版軟體安裝教程[語言]:簡體中文 [安裝環境]:Win7/Win8/Win10
  • LaTeX——寫文章排版神器
    今天老王給大家推薦一款科學排版軟體LaTeX。和word排版不同,LaTeX是通過程序來排版的。LaTeX的優勢就在於文獻,公式,圖片索引。1. 小技能大作用    不要聽到「程序」兩個字就害怕,要相信自己,試一試學一學,也許LaTeX就是你發文章的神器。
  • LaTeX 排版(3):排版 | Linux 中國
    在第 3 部分中,你將了解 LaTeX 的另一個重要特性:細膩靈活的文檔排版。本文介紹如何自定義頁面布局、目錄、標題部分和頁面樣式。頁面維度當你第一次編寫 LaTeX 文檔時,你可能已經注意到默認邊距比你想像的要大一些。頁邊距與指定的紙張類型有關,例如 A4、letter 和 documentclass(article、book、report) 等等。
  • 學術寫作利器——LaTeX入門
    常用的LaTex online compiler基本就是sharelatex.com和writelatex.com這兩個,需要註冊,基本帳戶免費。下面以sharelatex.com的界面為例子演示LaTeX的基本編纂規則和package的作用。
  • 第四顆瓜子:Latex論文排版工具
    不僅是計算機的研究生應該要具備一下Latex技能,別的專業多多少少也是學了沒毛病的,我始終相信,編程是和英語一樣存在的一門語言,是人與機器對話的語言,它並沒有想像中的難以接受,我在完成了從「設計排版」到「程序排版」的轉變之後,強烈安利大家打開這個新世界的大門,尤其是在語言方面有天賦的寶寶,很有可能在機器語言方面也同理可得噢!
  • 學術寫作利器——LaTeX入門筆記整理
    常用的LaTex online compiler基本就是sharelatex.com和writelatex.com這兩個,需要註冊,基本帳戶免費。下面兩行\usepackage規定了文檔使用的文字排版是natbib,圖表排版是graphicx。natbib在理科寫作中比較常用,如果要換成文科生常用格式比如APA的話,把上面一行改成:\usepackage{apacite}。這裡就要講到package的作用了。
  • 史上最全LaTeX國賽論文排版神器教程!(內附軟體+國賽模板+教程)
    LaTeX,是一種排版系統,由美國計算機科學家萊斯利·蘭伯特在20世紀80年代初期開發。利用它,用戶能夠能在幾天,甚至幾小時內生成很多具有書籍質量的印刷品,比如小編十分關心的期刊論文。對於生成含有複雜表格和數學公式的文章, LaTeX的表現更是非常優秀(重點)。
  • 用AI進行Graphpad圖表的排版
    ,基本能滿足我們常用的圖標類型的需求,但Graphpad的圖表排版工具並不好用。從我個人來講,我比較習慣先用Graphpad製作好圖表之後,再使用Adobe Illustrator進行排版,下面就把我的經驗介紹給大家吧Adobe Illustrator 2020,理論上其他相近版本,操作步驟相差不多。
  • LaTeX | 為學術論文排版而生【入門篇】
    LaTeX是一種高質量的排版系統,在20世紀80年代由美國的Leslie Lamport最初開發(那時叫做TeX),並發展至今。LaTeX最主要用於長篇技術或科技文檔排版,不過實際上它幾乎可以用於任何類型的發行物的排版。可以說,LaTeX並不是一個文字處理器,LaTeX鼓勵用戶不要過多地擔憂寫出來的文檔的外觀是怎麼樣的,而應該專注在你所要寫的內容上。
  • latex-簡單公式及表格編輯器
    latex-英文排版工具,國外期刊都要求latex排版進行投稿,就像國內要求word排版一樣,但是需要公式編輯的時候,是不是又煩躁又覺得麻煩而且問題是不熟悉
  • Latex | 軟體安裝配置與基礎入門
    如果你安裝成功後,發現texwork editor打不開,網上提供了一種辦法為:在安裝目錄下找到tlaunch.exe,按照下圖進行操作- 將texlive發行版配置到texstudio,再次提醒,不要在texlive的安裝目錄中出現中文,否則編譯會出錯。
  • 科研軟體 | LaTeX介紹與簡易教程
    想用Word精美排版卻又在編輯公式上花了很多時間?撰寫幾十頁的畢業論文為排版感到煩躁? 不妨來試試LaTeX吧!只需要邊用邊學,就能輕鬆撰寫公式,寫出漂亮而規範的文章!    LaTeX是一款編輯和排版軟體,可以排版文檔、論文、書籍和PPT等。我們平時看到的許多報刊書籍、講義與試卷都是LaTeX排版的。在編輯公式較多的作業、實驗報告、論文和書籍等文檔,以及製作學術報告等較為規範的PPT時,都可以考慮使用LaTeX。倘若寫讀書報告等公式很少的文檔或希望製作較為精緻且動畫豐富的PPT時,便沒有太大的用LaTeX的必要。
  • LaTeX簡易教程 | 04 一篇文章講通LaTeX圖片的排版、引用與格式
    t]%\centering%\includegraphics[width=2.5in]{myfigure}% where an .eps filename suffix will be assumed under latex, % and a .pdf suffix will be assumed for pdflatex; or what has been declared% via \DeclareGraphicsExtensions
  • LaTeX模板
    收錄於話題 #latexa4paper]{article} \usepackage{amsmath} \usepackage{fontspec, xltxtra, xunicode} \defaultfontfeatures{Mapping=tex-text} \setromanfont{Songti SC} % macOS 下使用此句 % \setromanfont{"[msyh.ttc