所以我用Excel2Latex将下表转换成乳胶代码:
生成的代码(以及生成 MWE 的环境)是:
\documentclass[11pt,a4paper]{article}
\usepackage[a4paper,hmargin={2.54cm,2.54cm},vmargin={3.17cm,3.17cm}]{geometry}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{mathrsfs}
\usepackage{amsthm}
\usepackage{tikz}
\usepackage{bm}
\usepackage{booktabs}
\begin{document}
% Table generated by Excel2LaTeX from sheet 'Sheet2'
\begin{table}[htbp]
\centering
\caption{Add caption}
\begin{tabular}{|r|r|r|}
\toprule
Date & open & high \\
\midrule
2016-07-11 & 650.3800 & 651.9800 \\
\midrule
2016-07-12 & 651.2500 & 675.5000 \\
\midrule
2016-07-13 & 666.2500 & 671.4500 \\
\midrule
2016-07-14 & 655.3000 & 663.9900 \\
\midrule
2016-07-15 & 661.4000 & 669.9800 \\
\midrule
2016-07-18 & 680.0000 & 684.9400 \\
\midrule
2016-07-19 & 675.5100 & 676.8700 \\
\bottomrule
\end{tabular}%
\label{tab:addlabel}%
\end{table}%
\end{document}
输出为:
垂直线与水平线相交处即中断。
我想要的是一张有连续垂直线的表格。我该怎么做?谢谢!
答案1
booktabs
不鼓励使用许多水平线,并强烈反对使用垂直线,以至于它不能保证垂直线正常工作。 推荐的方法booktabs
是
\documentclass{article}
\usepackage{booktabs}
\begin{document}
% Table generated by Excel2LaTeX from sheet 'Sheet2'
\begin{table}[htbp]
\centering
\caption{Add caption}
\begin{tabular}{rrr}
\toprule
Date & open & high \\
\midrule
2016-07-11 & 650.3800 & 651.9800 \\
2016-07-12 & 651.2500 & 675.5000 \\
2016-07-13 & 666.2500 & 671.4500 \\
2016-07-14 & 655.3000 & 663.9900 \\
2016-07-15 & 661.4000 & 669.9800 \\
2016-07-18 & 680.0000 & 684.9400 \\
2016-07-19 & 675.5100 & 676.8700 \\
\bottomrule
\end{tabular}%
\label{tab:addlabel}%
\end{table}%
\end{document}
答案2
如果您确实想要添加垂直规则(即使它不符合的精神booktabs
),您可以使用{NiceTabular}
其中nicematrix
的键vlines
来添加所有垂直规则。
\documentclass{article}
\usepackage{booktabs}
\usepackage{nicematrix}
\begin{document}
\begin{table}[htbp]
\centering
\caption{Add caption}
\begin{NiceTabular}{rrr}[vlines]
\toprule
Date & open & high \\
\midrule
2016-07-11 & 650.3800 & 651.9800 \\
2016-07-12 & 651.2500 & 675.5000 \\
2016-07-13 & 666.2500 & 671.4500 \\
2016-07-14 & 655.3000 & 663.9900 \\
2016-07-15 & 661.4000 & 669.9800 \\
2016-07-18 & 680.0000 & 684.9400 \\
2016-07-19 & 675.5100 & 676.8700 \\
\bottomrule
\end{NiceTabular}%
\label{tab:addlabel}%
\end{table}%
\end{document}
在 5.0 版本之前nicematrix
,您必须使用{RRR}
而不是{rrr}
。
答案3
我会准确回答您的问题,因为对于其他用户来说,excel2latex add-in
以最少的努力将 Excel 表格导出到 LaTeX 可能会很有用。https://ctan.org/pkg/excel2latex?lang=en
So I used Excel2latex to convert the following table into latex code, ...
What I want is a table with continuous and unbroken vertical lines. That I have to do?
在这种情况下,罪魁祸首是 booktabs
,它在行之间插入一个空格,以将单元格的内容与水平线分开。我在垂直线以及彩色行或单元格上遇到了同样的问题。
使用 excel2latex 插件时,取消选中选项Booktabs package
。生成的代码现在将插入\bigstrut
以实现分离,因此您必须将其包含\usepackage{bigstrut}
在序言中。
它将用于\hline
绘制水平线。
我从您的原始代码开始,然后复制并粘贴了 excel2latex 的结果。输出完全符合您的要求,包括垂直线和水平线。我只是为了清楚起见添加了一个标题。
我们还能对工具有什么要求呢?
\documentclass[11pt,a4paper]{article}
\usepackage[a4paper,hmargin={2.54cm,2.54cm},vmargin={3.17cm,3.17cm}]{geometry}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{mathrsfs}
\usepackage{amsthm}
\usepackage{tikz}
\usepackage{bm}
\usepackage{booktabs}
\usepackage{bigstrut} % added to replace booktabs
\begin{document}
% Table generated by Excel2LaTeX from sheet 'Sheet2'
\begin{table}[htbp]
\centering
\caption{With the booktabs option}
\begin{tabular}{|r|r|r|}
\toprule
Date & open & high \\
\midrule
2016-07-11 & 650.3800 & 651.9800 \\
\midrule
2016-07-12 & 651.2500 & 675.5000 \\
\midrule
2016-07-13 & 666.2500 & 671.4500 \\
\midrule
2016-07-14 & 655.3000 & 663.9900 \\
\midrule
2016-07-15 & 661.4000 & 669.9800 \\
\midrule
2016-07-18 & 680.0000 & 684.9400 \\
\midrule
2016-07-19 & 675.5100 & 676.8700 \\
\bottomrule
\end{tabular}%
\label{tab:addlabel}%
\end{table}%
% Table generated by Excel2LaTeX from sheet 'Sheet1'
\begin{table}[htbp]
\centering
\caption{Without the booktabs option}
\begin{tabular}{|r|r|r|}
\hline
Date & open & high \bigstrut\\
\hline
2016-07-11 & 650.3800 & 651.9800 \bigstrut\\
\hline
2016-07-12 & 651.2500 & 675.5000 \bigstrut\\
\hline
2016-07-13 & 666.2500 & 671.4500 \bigstrut\\
\hline
2016-07-14 & 655.3000 & 663.9900 \bigstrut\\
\hline
2016-07-15 & 661.4000 & 669.9800 \bigstrut\\
\hline
2016-07-18 & 680.0000 & 684.9400 \bigstrut\\
\hline
2016-07-19 & 675.5100 & 676.8700 \bigstrut\\
\hline
\end{tabular}%
\label{tab:addlabel}%
\end{table}%
\end{document}