自動計算列寬的tabularx宏包

 

David Carlisle編寫的宏包tabularx增強了標準LaTeX製表環境tabular*
的功能,它能根據表格的總寬度自動計算特定表格列的寬度。一旦計算出來,則將格式自轉換爲 p{某個列寬值},是個段落盒子\parbox[t]{某個列寬值}。

在tabularx宏包中,X列格式被設置成p列格式的形式,它是由參數
\tabularxcolumn定義的,並且與\parbox [t]相關。事實上,X列格式的原始定義爲:
      \newcommand{\tabularxcolumn}[1]{p{#1}}
若要X列格式被設置成與\parbox[c]相關的m列格式形式,則可以使用下面的命令:

\renewcommand{\tabularxcolumn}[1]{>{\small} m{#1}} [說明:\small給出表中文字爲小字體,也可取值\normalsize、\large等。也可省略。]

    tabular*環境與tabularx環境的主要區別在於:
    1)tabularx環境改變列的寬度,而tabular*環境改變列與列之間的空白寬度。
    2)tabular*環境與tabularx環境都可以嵌套使用。但是tabularx環境嵌套使用
時,內部表格必須包含在一對花括弧{}之中。

 

\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{latexsym}
\usepackage{CJK}

\usepackage{tabularx}
\usepackage{array}

\begin{document}
\begin{CJK*}{GBK}{song}
\CJKtilde

\begin{tabularx}{10.5cm}{|X|X|X|} %表格總寬度爲10.5cm,共3列,寬度均相同。每列寬度爲10.5/3=3.5。是自動計算出來的。如果將上面表將的設置改爲\begin{tabularx}{\linewidth}{|p{3cm}|X|X|},則
表格的總寬度是行寬,第1列列寬爲3cm,其他兩列的列寬自動計算。
\hline
聰明的魚兒在咬鉤前常常排祠再三 & 這是因爲它們要荊斷食物是否安全 &知果它們認爲有危險 \\
\hline
它們枕不會喫 & 如果它們判定沒有危險 & 它們就食吞鉤 \\
\hline
一眼識破誘餌的危險,卻又不由自主地去吞鉤的 & 那才正是人的心理而不是魚的心理 & 是人的愚合而不是魚的懇奮\\
\hline
\end{tabularx}

\end{CJK*}
\end{document}

結果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章