行和列合并

行和列合并

我有一张表格,我想合并其中间的一些单元格,我尝试了几种方法但没有找到令人满意的解决方案。

下面我留下了一个搜索到的输出示例和一个我尝试过的 MWE,总之我想合并所有包含相同句子的单元格。

在此处输入图片描述

\documentclass[11pt, twoside]{article}  % Always compile at least twice.
\usepackage{
    multicol,           % Use Multi-columns
    multirow,           % Use Multi-rows
    array,
    tabularx
}
\usepackage[table]{xcolor}

% -------------------
% Content
% -------------------
\begin{document}

\begin{table}[]
    \centering
    \renewcommand*{\arraystretch}{1.5}
    \begin{tabularx}{\linewidth}
   {
    >{\columncolor[HTML]{FFCC67}\bfseries\raggedright}p{3.4cm}
    *{3}{>{\raggedright\arraybackslash}X}
   }
\rowcolor[HTML]{CD9934} \multicolumn{4}{>{\hsize=\dimexpr4\hsize+2\tabcolsep+\arrayrulewidth\relax}X}{Unidades Públicas}
\\
\hline \hline
\rowcolor[HTML]{FFCC67}  \multicolumn{2}{>{\hsize=\dimexpr2\hsize+2\tabcolsep+\arrayrulewidth\relax}X}{Empresas no financieras}
& \cellcolor{white} Empresas Públicas
& \cellcolor{white} Sector Público
\\
\rowcolor[HTML]{FFCC67} Empresas Financieras Monetarias
& \cellcolor{white} \multirow{2}{*}{Instituciones Financieras Públicas}
& \cellcolor{white} Empresas Publicas
& \cellcolor{white} Sector Público
\\
\rowcolor[HTML]{FFCC67} Empresas Financieras de Monetarias
& \cellcolor{white}\multirow{2}{*}{}
& \cellcolor{white} Empresas Publicas
& \cellcolor{white} Sector Público
\\
\rowcolor[HTML]{FFCC67}  \multicolumn{3}{>{\hsize=\dimexpr3\hsize+2\tabcolsep+\arrayrulewidth\relax}X}{Administraciones públicas}
& \cellcolor{white} Sector Público
\\
\rowcolor[HTML]{FFCC67}  \multicolumn{3}{>{\hsize=\dimexpr3\hsize+2\tabcolsep+\arrayrulewidth\relax}X}{$\neq$}
& \cellcolor{white} Sector Público
\\
\rowcolor[HTML]{FFCC67}  \multicolumn{3}{>{\hsize=\dimexpr3\hsize+2\tabcolsep+\arrayrulewidth\relax}X}{$\neq$}
& \cellcolor{white} Sector Público
\end{tabularx}
    \caption{Caption}
    \label{tab:my_label}
\end{table}

\end{document}

答案1

nicematrix

在此处输入图片描述

\documentclass{article}
\usepackage{nicematrix}
\definecolor{myyellow}{HTML}{FFCC67}

\begin{document}

\begin{NiceTabular}[hvlines,
                    code-before ={\rectanglecolor{myyellow}{1-1}{1-4}
                                  \rectanglecolor{myyellow!50!white}{2-1}{2-2}
                                  \rectanglecolor{myyellow!50!white}{3-1}{3-1}
                                  \rectanglecolor{myyellow!50!white}{4-1}{4-1}
                                  \rectanglecolor{myyellow!50!white}{5-1}{5-3}
                                  \rectanglecolor{myyellow!50!white}{6-1}{6-3}
                                  \rectanglecolor{myyellow!50!white}{7-1}{7-3}}
                    ]{cccc}
\Block{1-4}{\bfseries Unidades Públicas}\\
\Block{1-2}{Empresas no financieras} & & \Block{3-1}{Empresas\\ Públicas} & \Block{6-1}{Sector\\ Público}\\
\Block{1-1}{Empresas de\\ financieras} & \Block{2-1}{Instituciones\\ Financieras\\ Públicas} &\\ 
\Block{1-1}{Entidades\\ de seguros} & \\
\Block{1-3}{\bfseries Administraciones públicas}\\
\Block{1-3}{$\neq$}\\
\Block{1-3}{$\neq$}&\\
\end{NiceTabular}

\end{document}

答案2

类似这样的?请注意,我已删除所有\rowcolor指令,并且不加载multirowmulticol包。无需加载array包,因为它是由包自动加载的tabularx。我还取消了所有显式单元格宽度计算,因为它们似乎不需要。

在此处输入图片描述

\documentclass[11pt, twoside]{article} 
\usepackage{tabularx}
\usepackage[T1]{fontenc}
\usepackage[table]{xcolor}
\newcommand\mycellcolor{\cellcolor[HTML]{FFCC67}}
\usepackage[spanish]{babel}

\begin{document}

\begin{table}
\renewcommand*{\arraystretch}{1.5}
\begin{tabularx}{\linewidth}{%
    >{\columncolor[HTML]{FFCC67}\raggedright}X
    >{\raggedright\arraybackslash}X
    l
    l } 
\multicolumn{4}{l}{\cellcolor[HTML]{CD9934}\color{white}\bfseries Unidades Públicas}
\\
\multicolumn{2}{l}{\mycellcolor Empresas no financieras}
& Empresas Públicas & Sector Público
\\
Empresas Financieras Monetarias
& Instituciones Financieras Públicas 
& Empresas Publicas & Sector Público
\\
Empresas Financieras de Monetarias
& % a blank cell & Empresas Publicas & Sector Público
\\ 
\multicolumn{3}{l}{\mycellcolor Administraciones públicas} & Sector Público
\\ 
\multicolumn{3}{l}{\mycellcolor $\neq$} & Sector Público
\\  
\multicolumn{3}{l}{\mycellcolor $\neq$} & Sector Público
\end{tabularx}

\caption{Caption}
\label{tab:my_label}
\end{table}

\end{document}

相关内容