1. 程式人生 > >LaTeX表格製作備忘一

LaTeX表格製作備忘一

  LaTeX的普通表格製作比較簡單,但是,如果要精確控制格式,就有些麻煩了。今天在做一些文件,其中用到某一種表格,現把程式碼與說明記錄於此以備忘。
  環境:Ubuntu 16.04 64位桌面版
  LaTeX編輯工具:TeXstudio
 
程式碼如下:

\documentclass[oneside, AutoFakeBold]{article}

\usepackage{geometry}          % 用於頁面設定
% 設定為A4紙,並按照MSOffice的預設尺寸設定四周邊距
\geometry{
  a4paper,
  left = 3.17cm,
  right = 3.17cm,
  top = 2.54cm,
  bottom = 2.54cm
}

\usepackage{xcolor}                   % 顏色支援
\definecolor{mygray}{gray}{0.9}       % 定義顏色
% 用於支援超連結,好像只有載入這個才能支援目錄的跳轉
\usepackage[colorlinks,linkcolor=blue!60!black]{hyperref}

\usepackage{makecell}                 % 用於支援表格單元格操作
\usepackage{colortbl}                 % 用於支援表格顏色
\usepackage{array}                    % 表格增強

\renewcommand{\theadgape}{\Gape[0.3cm][0.3cm]}  % 控制單元格內容的高度與深度

% ------------------ 開始 -------------------

\begin{document}

\begin{tabular}{|m{1cm}|m{13.1cm}|}
\hline
\rowcolor{mygray}   % 將此行背景色設定為灰色
\thead{\textbf{S.N.}} & \thead{\textbf{Memory Addresses \& Description}} \\
\hline
\thead{1} & \textbf{Symbolic addresses}\\
& \Gape[0cm][0cm]{\makecell[l]{The addresses used in a source code. The variable names, constants, and instruction\\ labels are the basic elements of the symbolic address space.}}\\
\hline
\thead{2} & \textbf{Relative addresses}\\
& \Gape[0cm][0cm]{\makecell[l]{At the time of compilation, a compiler converts symbolic addresses into relative\\ addresses.}}\\
\hline
\thead{3} & \textbf{Physical addresses}\\
& \Gape[0cm][0cm]{\makecell[l]{The loader generates these addresses at the time when a program is loaded into\\ main memory.}}\\
\hline
\end{tabular}

\end{document}

生成的表格如下:
LaTeX表格製作備忘一
 
說明:
 
1. 單元格內的強制換行
  通常情況下是不可以的,因為會被認為是表格的換行,這裡用\makecell命令包含後就可以使用雙斜槓來強制換行了。如果不強制換行,這裡會只列出一行,文字內容會跑到外面去。雖然表格開頭設定了具體的尺寸,但在\Gape命令的影響下,原本的自動換行無效。
 
2. 單元格文字與邊框的距離
  這裡是使用makecell巨集包中的工具來實現的,我這裡暫時只是控制上下的距離。設定這個就是為了更好看些。當然,這樣的設定還是挺麻煩的,等以後找到更簡便的方法後再修改。