我有一张表格,我想合并其中间的一些单元格,我尝试了几种方法但没有找到令人满意的解决方案。
下面我留下了一个搜索到的输出示例和一个我尝试过的 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
指令,并且不加载multirow
和multicol
包。无需加载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}