tabularx宏包中改变弹性列的宽度 \hsize

来源:互联网 发布:阿里云域名免备案 编辑:程序博客网 时间:2024/06/12 20:09
 

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

\usepackage{tabularx}
\usepackage{array}

\newcommand{\PreserveBackslash}[1]{\let \temp =\\#1 \let \\ = \temp}
\newcolumntype{C}[1]{>{\PreserveBackslash\centering}p{#1}}
\newcolumntype{R}[1]{>{\PreserveBackslash\raggedleft}p{#1}}
\newcolumntype{L}[1]{>{\PreserveBackslash\raggedright}p{#1}}

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

\begin{tabularx}{10.5cm}{|p{3cm} |>{\setlength{\hsize}{.5\hsize}\centering}X  |>{\setlength{\hsize}{1.5\hsize}}X|}
%\hsize是自动计算的列宽度,上面{.5\hsize}与{1.5\hsize}中的\hsize前的数字加起来必须等于表格的弹性列数量。对于本例,弹性列有2列,所以“.5+1.5=2”正确。
%共3列,总列宽为10.5cm。第1列列宽为3cm,第3列的列宽是第2列列宽的3倍,其宽度自动计算。第2列文字左右居中对齐。注意:\multicolum命令不能跨越X列。
\hline
聪明的鱼儿在咬钩前常常排祠再三 & 这是因为它们要荆断食物是否安全 &知果它们认为有危险 \\
\hline
它们枕不会吃 & 如果它们判定没有危险 & 它们就食吞钩 \\
\hline
一眼识破诱饵的危险,却又不由自主地去吞钩的 & 那才正是人的心理而不是鱼的心理 & 是人的愚合而不是鱼的恳奋\\
\hline
\end{tabularx}

\end{CJK*}
\end{document}