在表格中,如何隐藏边框并合并不同的单元格?

在表格中,如何隐藏边框并合并不同的单元格?

尝试将表 1 转换为表 2 格式, 表格1

表 2(单个表),合并单元格 1x1 和 1x2,合并整个第 3 列并隐藏边框,再次合并 1x4 和 1x5,并定义列宽和行高。 表 2

除了此方法之外,还欢迎任何想法或建议

\documentclass{article}
\begin{document}
\begin{center}
\begin{tabular}{|l|l|l|l|l|}
\hline & Column A & & & Column B \\
\hline i & Wind & & a & Monsoon \\
\hline ii & Anemometer & & b & Cyclone \\
\hline iii & Hurricane, Typhoon & & c & Measures speed of Wind \\
\hline iv & Mausam & & d & Moving air \\
\hline
\end{tabular}
\end{center}
\end{document}

答案1

略有不同用户187803的答案与第三列合并(尽管没有什么区别)。

编辑

  • 感谢 NBur,我删除了不必要的包;
  • 现在可以设置列宽和数组拉伸。列宽由 后面的值设置p。当您看到自动换行时,表格的高度应该会自动设置。但您也可以在此处自由设置数组拉伸。
\documentclass{article}
\usepackage{multirow,multirow}

\begin{document}
\begin{table}[htbp]
  \centering
  \caption{Add caption}
  \bgroup
    \renewcommand{\arraystretch}{1.2}% <-- array stretch for the table
    \begin{tabular}{|p{1cm}|p{3.5cm}|p{2cm}|p{1cm}|p{3.5cm}|}
      \cline{1-2}\cline{4-5} \multicolumn{2}{|c|}{\textbf{Column A}} & \multirow{5}[10]{*}{} &   \multicolumn{2}{c|}{\textbf{Column B}} \\
      \cline{1-2}\cline{4-5} i & Wind &   & a & Monsoon \\
      \cline{1-2}\cline{4-5} ii & Anemometer &   & b & Cyclone \\
      \cline{1-2}\cline{4-5} iii & Hurricane, Typhoon &   & c & Measures speed of Wind \\
      \cline{1-2}\cline{4-5} iv & Mausam, longer and longer and longer &   & d & Moving air \\
      \cline{1-2}\cline{4-5}
    \end{tabular}%
  \egroup
  \label{tab:addlabel}%
\end{table}%

\end{document}

结果

实际上我用以下方法制作了这张表Excel 转 LaTeX这非常方便。

答案2

您可以使用\cline\multicolumn
编辑
对于定义的列宽,您可以p{width}在列定义中使用。
对于定义的行高,您可以重新定义\arraystretch

\documentclass{article}
\begin{document}
\begin{center}
    \sffamily
    \def\arraystretch{1.5}
    \begin{tabular}{|l|p{3.5cm}|p{2cm}|l|l|}
        \cline{1-2}\cline{4-5} \multicolumn{2}{|c|}{\textbf{Column A}} & & \multicolumn{2}{|c|}{\textbf{Column B}} \\
        \cline{1-2}\cline{4-5} i & Wind & & a & Monsoon \\
        \cline{1-2}\cline{4-5} ii & Anemometer & & b & Cyclone \\
        \cline{1-2}\cline{4-5} iii & Hurricane, Typhoon & & c & Measures speed of Wind \\
        \cline{1-2}\cline{4-5} iv & Mausam & & d & Moving air \\
        \cline{1-2}\cline{4-5}
    \end{tabular}
\end{center}
\end{document}

在此处输入图片描述

答案3

使用相对较新且用途广泛的tabularray软件包,表格代码简短而简单:

\documentclass{article}
\usepackage{tabularray}

\begin{document}
    \begin{center}
\begin{tblr}{hline{1-Z}={1-2, 4-5}{solid}, vlines,
             colspec = {Q[l,6mm] X[l] Q[l,12mm] Q[l,6mm] X[l]},
             row{1} = {font=\bfseries, c}
             }
\SetCell[c=2]{c}    Column A 
    &               &   &   \SetCell[c=2]{c}    Column B 
                            &                           \\
i   & Wind          &   & a & Monsoon                   \\
ii  & Anemometer    &   & b & Cyclone                   \\
iii & Hurricane, Typhoon 
                    &   & c & Measures speed of Wind    \\
iv  & Mausam        &   & d & Moving air                \\
\end{tblr}
    \end{center}
\end{document}

在此处输入图片描述

答案4

与。{NiceTabular}nicematrix

\documentclass{article}
\usepackage{nicematrix}

\begin{document}
\begin{center}
\begin{NiceTabular}{ccccc}
\RowStyle[bold]{}
\Block[hvlines]{*-2}{}
\Block{1-2}{Column A}
    &               &   & \Block[hvlines]{*-2}{}  
                          \Block{1-2}{Column B}       \\
i   & Wind          &   & a & Monsoon                 \\
ii  & Anemometer    &   & b & Cyclone                 \\
iii & Hurricane, Typhoon 
                    &   & c & Measures speed of Wind  \\
iv  & Mausam        &   & d & Moving air              \\
\end{NiceTabular}
\end{center}
\end{document}

您需要多次编译(因为nicematrix在后台使用 PGF/Tikz 节点)。

上述代码的输出

相关内容