latax中插入表格

下面这篇博客写的很好,这里转载了过来。另外需要补充几点:

1.绘制表格的简单方法

latax绘制复杂表非常的麻烦,故一般采取其他方法。

  1. 可以使用Excel2LaTeX插件 https://www.latexstudio.net/archives/6992.html
    (需要安装ms office excel)
    在这里插入图片描述
  2. 或者像我这样只有wps表格可以借助一些网页进行 表格转latax,这里分享两个网页:https://www.tablesgenerator.com/ https://tableconvert.com/?output=latex

上述方法转化后的语言多用到了\multirow,一般需要加载宏包\usepackage{multirow}

2.调整表格长和宽

一般直接绘制latax表格度比较难看,需要调整表格间距。这篇博客写的很好:https://blog.csdn.net/ProgramChangesWorld/article/details/51867351
主要调整方法:
调整表格宽度,在创建\begin{tabular}时设定好,如:

\documentclass[a4paper,UTF8]{article}
\usepackage{ctex}
\usepackage{array}%需要该宏包
\begin{document} 
\begin{table}[h]
\centering  
\begin{tabular}{|p{1cm}|p{2cm}<{\centering}|p{3cm}<{\centering}|}    %关键在这句话
\hline
a & b & c \\ 
\hline
d & e & f\\
\hline
g&g&i\\
\hline
j & k & l\\
\hline
\end{tabular}
\caption{my table}
\end{table}
\end{document}

调整表格高度主要使用\usepackage{array}宏包中的renewcommand\arraystretch{2},如:

%system = ubuntu
%software = TexLive 2015
%complie = XeLaTeX
\documentclass[a4paper,UTF8]{article}
\usepackage{ctex}
\usepackage{array}%需要该宏包
\begin{document} 
\renewcommand\arraystretch{2}   %这句话关键
\begin{table}[h]
\centering  
\begin{tabular}{|p{1cm}|p{2cm}<{\centering}|p{3cm}<{\centering}|}
\hline
a & b & c \\ 
\hline
d & e & f\\
\hline
g&g&i\\
\hline
j & k & l\\
\hline
\end{tabular}
\caption{my table}
\end{table}
\end{document}

或者简单使用\noalign{\smallskip}也能稍微调整宽度

以下为转载部分:

原文链接:https://blog.csdn.net/juechenyi/article/details/77116011

文章目录

1.基本格式

\documentclass{article}

\begin{document}

\begin{tabular}{cc}%一个c表示有一列,格式为居中显示(center)
(1,1)&(1,2)\%第一行第一列和第二列 中间用&连接
(2,1)&(2,2)\%第二行第一列和第二列 中间用&连接
\end{tabular}

\end{document}

效果如下:
这里写图片描述

2.添加竖线和横线

\documentclass{article}

\begin{document}

\begin{tabular}{|c|c|}% 通过添加 | 来表示是否需要绘制竖线
\hline % 在表格最上方绘制横线
(1,1)&(1,2)\
\hline %在第一行和第二行之间绘制横线
(2,1)&(2,2)\
\hline % 在表格最下方绘制横线
\end{tabular}

\end{document}

效果如下:
这里写图片描述

3.设置每一列的单元格格式

\documentclass{article}

\begin{document}

\begin{tabular}{|l|c|r|} %l(left)居左显示 r(right)居右显示 c居中显示
\hline
Name&Steve&Bill\
\hline
Matlab&Mathmatica&Maple\
\hline
\end{tabular}

\end{document}

效果如下:
这里写图片描述

4.常见的三线表

\documentclass[UTF8]{ctexart}
\begin{document}

\begin{tabular}{ccc}
\hline
姓名& 学号& 性别\
\hline
Steve Jobs& 001& Male\
Bill Gates& 002& Female\
\hline
\end{tabular}

\end{document}

效果如下:
这里写图片描述

通常来说,我们会希望表格的第一根线和最后一根线比表格中的横线更粗一些。

booktabs 宏包为我们提供了这个功能,加载 booktabs 宏包之后可以使用 \toprule 和 \bottomrule 命令分别画出表格头和表格底的粗横线,而用 \midrule 画出表格中的横线。

\documentclass[UTF8]{ctexart}
\usepackage{booktabs} %需要加载宏包{booktabs}
\begin{document}

\begin{tabular}{ccc}
\toprule %添加表格头部粗线
姓名& 学号& 性别\
\midrule %添加表格中横线
Steve Jobs& 001& Male\
Bill Gates& 002& Female\
\bottomrule %添加表格底部粗线
\end{tabular}

\end{document}

效果如下:
这里写图片描述

5.table环境

\documentclass[UTF8]{ctexart}
\usepackage{booktabs}
\begin{document}

\begin{table}[!htbp]
\centering
\caption{这是一张三线表}\label{tab:aStrangeTable}%添加标题 设置标签
\begin{tabular}{ccc}
\toprule
姓名& 学号& 性别\
\midrule
Steve Jobs& 001& Male\
Bill Gates& 002& Female\
\bottomrule
\end{tabular}
%\caption{这是一张三线表}\label{tab:aStrangeTable} 标题放在这里也是可以的
\end{table}

\end{document}

{table}有若干可选参数 [!htbp]
h代表here,将表格排在当前文字位置
t 表示将表格放在下一页的 top (页首)
b 表示将表格放在当前页的 bottom (底部)
!表示忽略美观因素,尽可能按照参数指定的方式来处理表格浮动位置。
表格将会按照所给参数,依次尝试按照每个参数进行排版,当无法排版时,将会按照下一个参数

6.单元格合并

\documentclass[UTF8]{ctexart}
\begin{document}

\begin{table}[!htbp]
\centering
\begin{tabular}{|c|c|c|}
\hline
\multicolumn{3}{|c|}{学生信息}\ % 用\multicolumn{3}表示横向合并三列
% |c|表示居中并且单元格两侧添加竖线 最后是文本
\hline
姓名&学号&性别\
\hline
Jack& 001& Male\
\hline
Angela& 002& Female\
\hline
\end{tabular}
\caption{这是一张三线表}
\end{table}

\end{document}

效果如下:
这里写图片描述

\documentclass[UTF8]{ctexart}
\usepackage{multirow}
\begin{document}

\begin{table}[!htbp]
\centering
\begin{tabular}{|c|c|c|c|c|c|c|} %表格7列 全部居中显示
\hline
\multicolumn{7}{|c|}{事件}\ %横向合并7列单元格 两侧添加竖线
\hline
\multirow{4}*{策略}&50&0&100&200&300&300\ %纵向合并4行单元格
\cline{2-7} %为第二列到第七列添加横线
&100&100&0&100&200&200\
\cline{2-7}
&150&200&100&0&100&200\
\cline{2-7}
&200&300&200&100&0&300\
\hline
\end{tabular}
\end{table}

\end{document}

这里写图片描述

横向合并和纵向合并可以嵌套,代码如下:

\documentclass[UTF8]{ctexart}
\usepackage{multirow}
\begin{document}

\begin{table}[!htbp]
\centering
\begin{tabular}{|c|c|c|c|c|c|c|}
\hline

\multicolumn{2}{|c|}{ \multirow{2}{ S i S_i Si} }& \multicolumn{4}{c|}{事件} &\multirow{2}{max}\
\cline{3-6}
\multicolumn{2}{|c|}{}&50&100&150&200&\
\hline
\multirow{4}*{策略}&50&0&100&200&300&300\
\cline{2-7}
&100&100&0&100&200&200\
\cline{2-7}
&150&200&100&0&100&200\
\cline{2-7}
&200&300&200&100&0&300\
\hline
\end{tabular}
\end{table}

\end{document}

效果如下:
这里写图片描述

7.斜线表头

需要使用{diagbox}宏包

\documentclass{UTF8}{ctexart}
\usepackage{diagbox} % 加载宏包
\begin{document}

\begin{table}[!htbp]
\centering
\begin{tabular}{|c|c|c|c|}
\hline
\diagbox{甲}{ α i , j \alpha_{i,j} αi,j}{乙}& β 1 \beta_1 β1& β 2 \beta_2 β2& β 3 \beta_3 β3\ %添加斜线表头
\hline
α 1 \alpha_1 α1&-4&0&-8\
\hline
α 2 \alpha_2 α2&3&2&4\
\hline
α 3 \alpha_3 α3&16&1&-9\
\hline
α 4 \alpha_4 α4&-1&1&7\
\hline
\end{tabular}
\end{table}

\end{document}

效果如下:
这里写图片描述

8.其他(2018.11.23)

对于多行多列嵌套斜线表头的情况,不加参数会出现斜线不处于对角线位置的情况
多行多列嵌套斜线表头
可以通过添加参数\diagbox[innerwidth=2cm](参数大小取决于列宽度)解决。

\documentclass{ctexart}
\usepackage{multirow}
\usepackage{diagbox} % 加载宏包
\begin{document}

\begin{table}[!htbp]
\centering
\begin{tabular}{|c|c|c|c|c|c|c|}
\hline
\multicolumn{2}{|c|}{\multirow{2}{\diagbox[innerwidth=2cm]{ S i S_i Si}{ λ i \lambda_i λi}}}& \multicolumn{4}{c|}{事件} &\multirow{2}{max}\
\cline{3-6}
\multicolumn{2}{|c|}{}&50&100&150&200&\
\hline
\multirow{4}*{策略}&50&0&100&200&300&300\
\cline{2-7}
&100&100&0&100&200&200\
\cline{2-7}
&150&200&100&0&100&200\
\cline{2-7}
&200&300&200&100&0&300\
\hline
\end{tabular}
\end{table}
\end{document}

效果如下:
多行多列嵌套斜线表头

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值