2x2 表格的中间线居中

2x2 表格的中间线居中

我无法使表格的中间线居中。

在此处输入图片描述

\documentclass[12pt]{article}

\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage{fancyhdr}
\usepackage[margin=1in]{geometry}
\usepackage[document]{ragged2e}
\usepackage{float}
\pagestyle{fancy}
\setlength{\headheight}{45pt}

\begin{table}[H]
\centering
\begin{tabular}{|cc|}
\hline
\multicolumn{2}{|c|}{Estructura tasas spot} \\ \hline
\multicolumn{1}{|c|}{Plazo}      & Tasa     \\ \hline
\multicolumn{1}{|c|}{0,5}        & 1,3      \\ \hline
\multicolumn{1}{|c|}{1}          & 2,2      \\ \hline
\multicolumn{1}{|c|}{1,5}        & 2,6      \\ \hline
\multicolumn{1}{|c|}{2}          & 2,9      \\ \hline
\multicolumn{1}{|c|}{2,5}        & 3,2      \\ \hline
\multicolumn{1}{|c|}{3}          & 4        \\ \hline
\end{tabular}
\end{table}

答案1

这里有两种等效方法来实现您的格式化目标。第一种方法使用w列类型(由array包提供)。第二种方法使用tabularx环境(由tabularx包提供)。第一种方法首先计算各个列的宽度;相反,第二种方法首先计算表格的整体宽度,然后依靠机制来tabularx确定各个列的宽度。

在此处输入图片描述

\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
%\usepackage[utf8]{inputenc}  % that's the default nowadays
\usepackage[spanish]{babel}
\usepackage{array} % for 'w' column type
\usepackage{calc}
\usepackage{tabularx}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\newlength\mylen % define a scratch length variable

\begin{document}

\begin{table}[ht]
\centering

%% method 1
\settowidth\mylen{Estructura tasas spot}
\setlength\mylen{(\mylen-2\tabcolsep-\arrayrulewidth)/2}
\begin{tabular}{|wc{\mylen}|wc{\mylen}|}
\hline
\multicolumn{2}{|c|}{Estructura tasas spot} \\ \hline
Plazo      & Tasa     \\ \hline
0,5        & 1,3      \\ \hline
1          & 2,2      \\ \hline
1,5        & 2,6      \\ \hline
2          & 2,9      \\ \hline
2,5        & 3,2      \\ \hline
3          & 4        \\ \hline
\end{tabular}

\medskip
%% method 2
\settowidth\mylen{Estructura tasas spot}
\addtolength\mylen{2\tabcolsep+2\arrayrulewidth}
\begin{tabularx}{\mylen}{|C|C|}
\hline
\multicolumn{2}{|c|}{Estructura tasas spot} \\ \hline
Plazo      & Tasa     \\ \hline
0,5        & 1,3      \\ \hline
1          & 2,2      \\ \hline
1,5        & 2,6      \\ \hline
2          & 2,9      \\ \hline
2,5        & 3,2      \\ \hline
3          & 4        \\ \hline
\end{tabularx}
\end{table}
\end{document}

答案2

使用tabularray包和与@Mico 答案(+1)中的第二个示例相同的方法,表代码稍微短一些:

\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[spanish]{babel}

\usepackage{tabularray} 
\newlength\mylen % define a scratch length variable

\begin{document}
    \begin{table}[ht]
    \centering
\settowidth\mylen{Estructura tasas spot}
\begin{tblr}{width=\mylen+2\tabcolsep+\arrayrulewidth,
             hlines, vlines,
             colspec={X[c] X[c]}
             }
\SetCell[c=2]{c}    Estructura tasas spot   
        &           \\ 
Plazo   & Tasa      \\ 
0,5     & 1,3       \\ 
1       & 2,2       \\ 
1,5     & 2,6       \\ 
2       & 2,9       \\ 
2,5     & 3,2       \\ 
3       & 4         \\ 
\end{tblr}
    \end{table}
\end{document}

在此处输入图片描述

相关内容