1. 如何插入龐大的表格
我們都知道,LaTeX可以一行一行的插入表格,但是在我們遇到比較龐大的表格時,我們該怎麼辦,有一個辦法就是利用在線工具進行轉換成LaTeX格式的表格,而不需要花大量的時間一行一行輸入。
只要你輸入你的表格,然後點generate,生成相應的表格,讓後你只需要輸入到你的編輯器中,進行編譯就可以。
複製表格
表格複製
複製表格的內容到編譯文本
可以看到編譯後會有一定的溢出
2. 解決表格溢出的問題
可以縮小字體,也可以修改行之間的距離,也可以縮小整個表格。可以看到,原因在於表頭的字體太長了,因此需要使其分行顯示,這樣一來就可以了。分行你可以定義表格的寬度,使其自動分行或者也可以使用makecell
包來進行強制分行。
2.1 首先我們看看定義表格單列寬度:
在下面的代碼中,\begin{tabular}{p{2cm}p{3cm}p{2.5cm}p{2.5cm}p{2.5cm}p{2.5cm}}
,這句是真正起到調節作用的。p{2cm}
就是代表第一列的寬度,後面依次是後面的寬度,然後會自動進行換行顯示。但是有一個問題就是,發現自動換行以後,字母之間的距離變得很大,不像是隻有一個空格的樣子。
\begin{table}[]
\caption{basic structure}
\vspace{20pt}
\centering
\begin{tabular}{p{2cm}p{3cm}p{2.5cm}p{2.5cm}p{2.5cm}p{2.5cm}}
\hline
Gene name & Gene accession No. & CDS length (bp) & Protein size (aa) & Protein MW (kDa) \\
\hline
001 & 01g009860.2 & 819 & 272 & 31.34 \\
002 & 01g021730.2 & 798 & 265 & 30.37 \\
003 & 01g094490.2 & 630 & 209 & 24.58 \\
004 & 01g102740.2 & 1242 & 413 & 46.94 \\
005 & 01g104900.2 & 597 & 198 & 22.85 \\
006 & 02g036430.1 & 1698 & 565 & 64.88 \\
007 & 02g061780.2 & 735 & 244 & 28.23 \\
008 & 02g061870.1 & 660 & 219 & 25.21 \\
009 & 02g061900.1 & 915 & 304 & 34.61 \\
010 & 02g061910.1 & 795 & 264 & 29.92 \\
\hline
\end{tabular}
\label{bs2}
\end{table}
沒有溢出
2.2 通過makecell
宏包來實現換行
makecell
中有一個專門的用來處理表頭的命令thead[可以選對齊方式]{列名稱}
。比如文中所示,thead[l]{Gene\\name}
就是將gene和name換行顯示,l表示左對齊。可以發現,這種方法沒有出現字間距變大的情況,比第一種要好。
\begin{table}[]
\caption{basic structure}
\vspace{20pt}
\centering
\begin{tabular}{lllll}
\hline
\thead[l]{Gene\\name} & \thead[l]{Gene accession\\No. }& \thead[l]{CDS length\\(bp)} & \thead[l]{Protein size\\(aa)} & \thead[l]{Protein MW\\(kDa)} \\
\hline
001 & 01g009860.2 & 819 & 272 & 31.34 \\
002 & 01g021730.2 & 798 & 265 & 30.37 \\
003 & 01g094490.2 & 630 & 209 & 24.58 \\
004 & 01g102740.2 & 1242 & 413 & 46.94 \\
005 & 01g104900.2 & 597 & 198 & 22.85 \\
006 & 02g036430.1 & 1698 & 565 & 64.88 \\
007 & 02g061780.2 & 735 & 244 & 28.23 \\
008 & 02g061870.1 & 660 & 219 & 25.21 \\
009 & 02g061900.1 & 915 & 304 & 34.61 \\
010 & 02g061910.1 & 795 & 264 & 29.92 \\
\hline
\end{tabular}
\label{bs}
\end{table}
編譯後的效果