Excel2LaTeX插件的使用、LaTeX表格

目录

一、下载Excel2Latex

二、使用Excel2Latex

1、将Excel2LaTeX文件添加到加载项

2、导出LaTex的表格数据

3、注意事项

1)生成的latex表格断断续续问题

2)改变线形的粗细

3)表格太大,需要缩小到适应大小

4)表格内换行

5)将三个Dataset下面的横线分离开

6)调整表格标题到表格的距离

三、存在问题

1、受保护的视图中不支持此文件类型

[2、Microsoft 已阻止宏运行,因为此文件的来源不受信任](#2、Microsoft 已阻止宏运行,因为此文件的来源不受信任)


一、下载Excel2Latex

Excel2Latex的官网直接下载软件:CTAN: /tex-archive/support/excel2latex

github的项目源码:GitHub - ivankokan/Excel2LaTeX: The Excel add-in for creating LaTeX tables

二、使用Excel2Latex

1、将Excel2LaTeX文件添加到加载项

下载完成之后,打开需要的excel表格,直接双击Excel2LaTeX文件,用excel打开。打开后,会看见如下显示(因为我安装了网盘,所以叠加在这里了,正常应该是在"加载项"中,如果没有看见,都在别的状态栏里看看):

或者是如下图标:

如果不想每次都打开,可以在:开发工具 -> Excel 加载项 -> 浏览 -> 找到刚下载的 .xla 文件 -> 确定,然后勾选上即可在上述状态栏中找到。

2、导出LaTex的表格数据

在excel页面中输入数据,并且设计想要的边框和线条格式,设置效果如下:

接着,选中需要转换为latex代码的表格信息,选择excel上方的"加载项",接着选择相应的图标。

选择"copy to Clipboard",将生成的latex代码复制到剪切板。

转换后的LaTex显示结果:

3、注意事项

写在前面: 不需要设置任何格式,打开excel后直接制作表格。(如果数字是文本格式,转换的会不居中,即设置的各种格式在latex中可能会失效。因此,打开excel表格直接填写,并设置好表格样式即可)

1)生成的latex表格断断续续问题

excel页面中设计好的边框和线条格式效果如下:

转为latex显示如下:

出现竖线截断现象,因此需要修改。

  1. 将 \toprule 、\midrule 、\bottomrule修改为 \hline
  2. 将 \cmidrule修改为**\cline**

如果还是未解决,在excel里面的灰色线条去掉:点击'视图',取消勾选'网格线'

修改后结果如下:

修改后的代码如下:

perl 复制代码
\documentclass[]{interact} % 导入自己的样式,如果没有可以使用\documentclass[]{article}
\usepackage{multirow}
\begin{document}
	
% Table generated by Excel2LaTeX from sheet 'Sheet3'
\begin{table}[htbp]
	\centering
	\caption{Add caption}
	\begin{tabular}{c|c|ccc|ccc}
		\hline
		\multicolumn{2}{c|}{\multirow{2}[4]{*}{Method}} & \multicolumn{3}{c|}{Dataset 1} & \multicolumn{3}{c}{Dataset 2} \\
		\cline{3-8}    \multicolumn{2}{c|}{} & RMSE  & MAE   & ACC   & RMSE  & MAE   & ACC \\
		\hline
		\multirow{2}[2]{*}{Non-Graph} & SVM   & 1     & 2     & 3     & 3     & 2     & 4 \\
		& RF    & 1     & 1     & 1     & 1     & 1     & 11 \\
		\hline
		\multirow{5}[2]{*}{Graph} & GCN   & 8     & 1     & 0     & 1     & 1     & 1  \\
		& GIN   & 1     & 0     & 1     & 0     & 0     & 5  \\
		& CNN   & 7     & 6     & 6     & 5     & 5     & 1  \\
		& GTN   & 1     & 3     & 1     & 1     & 0     & 4  \\
		& NGNN  & 5     & 4     & 1     & 0     & 1     & 0  \\
		\hline
		Proposed & ABC   & 5     & 6     & 7     & 8     & 98    & 15  \\
		\hline
	\end{tabular}%
	\label{tab:addlabel}%
\end{table}%
\end{document}
2)改变线形的粗细

加入宏包:

perl 复制代码
\usepackage{tabu}

按照以下修改环境:

perl 复制代码
        \begin{tabular} ->替换为 \begin{tabu}
        ...
        \end{tabular} ->替换为 \end{tabu}

将需要加粗的线条如下替换:

perl 复制代码
\hline ->替换为 \tabucline[1.5pt]{-} 即可

修改后的代码如下:

perl 复制代码
\documentclass[]{interact} % 导入自己的样式,如果没有可以使用\documentclass[]{article}
\usepackage{multirow}
\usepackage{tabu}

\begin{document}
	
	% Table generated by Excel2LaTeX from sheet 'Sheet3'
	\begin{table}[htbp]
		\centering
		\caption{Add caption}
		\begin{tabu}{c|c|ccc|ccc}
			\tabucline[1.5pt]{-}
			\multicolumn{2}{c|}{\multirow{2}[4]{*}{Method}} & \multicolumn{3}{c|}{Dataset 1} & \multicolumn{3}{c}{Dataset 2} \\
			\cline{3-8}    \multicolumn{2}{c|}{} & RMSE  & MAE   & ACC   & RMSE  & MAE   & ACC \\
			\hline
			\multirow{2}[2]{*}{Non-Graph} & SVM   & 1     & 2     & 3     & 3     & 2     & 4 \\
			& RF    & 1     & 1     & 1     & 1     & 1     & 11 \\
			\hline
			\multirow{5}[2]{*}{Graph} & GCN   & 8     & 1     & 0     & 1     & 1     & 1  \\
			& GIN   & 1     & 0     & 1     & 0     & 0     & 5  \\
			& CNN   & 7     & 6     & 6     & 5     & 5     & 1  \\
			& GTN   & 1     & 3     & 1     & 1     & 0     & 4  \\
			& NGNN  & 5     & 4     & 1     & 0     & 1     & 0  \\
			\hline
			Proposed & ABC   & 5     & 6     & 7     & 8     & 98    & 15  \\
			\tabucline[1.5pt]{-}
		\end{tabu}%
		\label{tab:addlabel}%
	\end{table}%
\end{document}
3)表格太大,需要缩小到适应大小

按以下修改,就可以自适应的调整大小

perl 复制代码
...

    \resizebox{\textwidth}{!}{   
        \begin{tabular} ->替换为 \begin{tabu}
        ...
        \end{tabular} ->替换为 \end{tabu}
         }
....
4)表格内换行

宏包:\usepackage{makecell}

环境:tabular

命令:\makecell[居中情况]{第1行内容 \\ 第2行内容 \\ 第3行内容 ...}

\makecell[c]{a \\ b \\ b}

5)将三个Dataset下面的横线分离开

在生成的LaTeX代码中,Dataset下方的横线代码如下:

perl 复制代码
\cmidrule{3-11}

这显然是一根完整的横线,现在介绍如何分成三段。将上述代码修改为:

perl 复制代码
\cmidrule(r){3-5} \cmidrule(r){6-8} \cmidrule{9-11} 
6)调整表格标题到表格的距离

在\centering下面添加\setlength的命令:

perl 复制代码
\begin{table}[htbp]
  \centering
  \setlength{\abovecaptionskip}{2pt}%
  \setlength{\belowcaptionskip}{10pt}%
  \caption{It is a table.}

修改后的代码如下:

perl 复制代码
\documentclass[]{interact} % 导入自己的样式,如果没有可以使用\documentclass[]{article}
\usepackage{multirow}
\usepackage{tabu}

\begin{document}
	
	% Table generated by Excel2LaTeX from sheet 'Sheet3'
	\begin{table}[htbp]
		\centering
		\setlength{\abovecaptionskip}{2pt} % 标题上方距离
		\setlength{\belowcaptionskip}{10pt} % 标题下方距离
		\caption{Add caption}
		\begin{tabular}{c|c|ccc|ccc}
			\hline
			\multicolumn{2}{c|}{\multirow{2}[4]{*}{Method}} & \multicolumn{3}{c|}{Dataset 1} & \multicolumn{3}{c}{Dataset 2} \\
			\cline{3-8}    \multicolumn{2}{c|}{} & RMSE  & MAE   & ACC   & RMSE  & MAE   & ACC \\
			\hline
			\multirow{2}[2]{*}{Non-Graph} & SVM   & 1     & 2     & 3     & 3     & 2     & 4 \\
			& RF    & 1     & 1     & 1     & 1     & 1     & 11 \\
			\hline
			\multirow{5}[2]{*}{Graph} & GCN   & 8     & 1     & 0     & 1     & 1     & 1  \\
			& GIN   & 1     & 0     & 1     & 0     & 0     & 5  \\
			& CNN   & 7     & 6     & 6     & 5     & 5     & 1  \\
			& GTN   & 1     & 3     & 1     & 1     & 0     & 4  \\
			& NGNN  & 5     & 4     & 1     & 0     & 1     & 0  \\
			\hline
			Proposed & ABC   & 5     & 6     & 7     & 8     & 98    & 15  \\
			\hline
		\end{tabular}%
		\label{tab:addlabel}%
	\end{table}%
\end{document}

三、存在问题

1、受保护的视图中不支持此文件类型

在选项-信任中心-信任中心设置-受保护的视图中,取消勾选的选项。

2、Microsoft 已阻止宏运行,因为此文件的来源不受信任

在选项-信任中心-信任中心设置-受信任位置,将Excel2LaTeX.xla文件的位置添加进来即可,之后双击打开就不会报错。

如果经常换位置,不想每次都操作,可以将该盘符添加进来,并勾选"同时信任此位置的子文件夹"。

相关推荐
今日之风甚是温和5 分钟前
【Excel】拆分多个sheet,为单一表格
java·excel·sheet·vb宏
如意机反光镜裸5 分钟前
Excel如何批量导入图片
excel
滨HI014 小时前
python中Pandas操作excel补全内容
python·excel·pandas
Leuanghing15 小时前
使用Python生成卡方分布表并导出为Excel文件
python·excel·pandas·scipy·卡方分布表
叮当喵是mao17 小时前
python基础知识(七)——写入excel
android·python·excel
阿呆5911 天前
使用 Excel 的功能来快速在 TXT 文件中添加一列零
excel
Benaso1 天前
使用Python编写脚本,为Excel表格添加水印
python·excel
Str_Null1 天前
Seatunnel解决Excel中无法将数字类型转换成字符串类型以及源码打包
java·excel·seatunnel·源码修改
丶Darling.2 天前
Linux之vim全选,全部复制,全部删除
linux·vim·excel
开心点幸运点2 天前
Excel——宏教程(2)
excel