自动计算列宽的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}

结果:

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果您使用`tabularx`环境来创建长表格,并且希望表格能够自动换页,可以使用`longtable`宏包。`longtable`宏包提供了一个`longtable`环境,可以创建跨页的表格。 以下是一个使用`tabularx`和`longtable`宏包创建跨页表格的示例: ```latex \documentclass{article} \usepackage{tabularx} \usepackage{longtable} \usepackage{lipsum} % 用于生成乱数文本 \begin{document} \lipsum[1-4] % 生成一些乱数文本 \begin{longtable}{|X|X|X|} \hline Header 1 & Header 2 & Header 3 \\ \hline \endhead % 指定表头 \lipsum[1] & \lipsum[2] & \lipsum[3] \\ \hline \lipsum[4] & \lipsum[5] & \lipsum[6] \\ \hline \lipsum[7] & \lipsum[8] & \lipsum[9] \\ \hline \lipsum[10] & \lipsum[11] & \lipsum[12] \\ \hline \lipsum[13] & \lipsum[14] & \lipsum[15] \\ \hline \lipsum[16] & \lipsum[17] & \lipsum[18] \\ \hline \lipsum[19] & \lipsum[20] & \lipsum[21] \\ \hline \lipsum[22] & \lipsum[23] & \lipsum[24] \\ \hline \lipsum[25] & \lipsum[26] & \lipsum[27] \\ \hline \caption{Long Table} \label{tab:longtable} \end{longtable} \lipsum[28-30] % 生成一些乱数文本 \end{document} ``` 在上面的示例中,我们使用`longtable`环境代替了`tabularx`环境,同时指定了表头和表格的各列宽度。在表格结束处,使用`\caption`和`\label`命令添加表格的标题和标签。在文档中,我们使用`\ref`命令引用表格。 请注意,由于`longtable`环境是一个浮动体环境,所以在某些情况下,表格可能被放置在页面的底部。如果您希望表格出现在当前页面的顶部,可以在表格前面添加`\clearpage`命令。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值