我有一张表格,我想让它自动适应文档的页边距。目前,我正在使用命令执行此\resizebox
操作,但它也会更改字体大小。因此,问题是是否有办法让表格适应页边距,同时保持字体大小与测试的其余部分一致。如果之后将文本分成几行,对我来说没问题。
查找以下 MWE:
\documentclass[11pt, twoside]{article} % Always compile at least twice.
\usepackage{graphicx}
\usepackage[table,xcdraw]{xcolor}
\begin{document}
\begin{table}[h]
\centering
\resizebox{\textwidth}{!}{%
\begin{tabular}{| >{\columncolor[HTML]{FFCC67}} c| l|l|}
\cellcolor[HTML]{CD9934}{\color[HTML]{000000} \textbf{Sector}} & \cellcolor[HTML]{CD9934}{\color[HTML]{000000} \textbf{Función principal}} & \cellcolor[HTML]{CD9934}{\color[HTML]{000000} \textbf{Recursos principales}} \\ \hline \hline
\textbf{Empresas no financieras} & Producir bienes y servicios no financieros destinados a la venta & Contraprestación de bienes y servicios en base a un precio \\
\textbf{Empresas financieras} & Financiar (Captar, transformar y distribuir disponibilidades financieras) & Contraspréstación de depósitos y créditos en base al tipo de interes \\
\textbf{Empresas de seguros} & Asegurar (garantizar un gasto en caso de siniestro) & Seguros en base a las primas \\
\textbf{Administraciones públicas} & \begin{tabular}[c]{@{}l@{}}Producir bienes y servicios que no se destinan a la venta\\ Redistribución de la renta y la riqueza\end{tabular} & Proveedor de servicios públicos financiados con ingresos coactivos \\
\textbf{Instituciones privadas sin animo de lucro} & Producir servicios no destinados a la venta para consumo individual & Proveedores de servicios privados a través de aportaciones voluntarias \\
\textbf{Hogares} & Consumir bienes y servicios & Retribución a los factores productivos \\
\textbf{Resto del mundo} & \multicolumn{2}{l}{No se caracteriza por su función o por su fuente de ingresos sino que se refiere a todas aquellas unidades que tienen relaciones con las anteriores pero no son residentes}
\end{tabular}%
}
\caption{Caption}
\label{tab:my_label}
\end{table}
\end{document}
答案1
这是基于的可能实现tabularx
;肯定还有改进的空间。我删除了毫无用处的黑色文本声明。
\documentclass[11pt, twoside]{article}
\usepackage{graphicx}
\usepackage[table,xcdraw]{xcolor}
\usepackage{tabularx}
\begin{document}
\begin{table}
\centering
\renewcommand*{\arraystretch}{1.5}
\begin{tabularx}{\linewidth}
{
>{\columncolor[HTML]{FFCC67}\bfseries\raggedright}p{3.4cm}
*{2}{>{\raggedright\arraybackslash}X}
}
\rowcolor[HTML]{CD9934} Sector
& \textbf{Función principal}
& \textbf{Recursos principales}
\\
\hline \hline
Empresas no financieras
& Producir bienes y servicios no financieros destinados a la venta
& Contraprestación de bienes y servicios en base a un precio
\\
Empresas financieras
& Financiar (Captar, transformar y distribuir disponibilidades financieras)
& Contraspréstación de depósitos y créditos en base al tipo de interes
\\
Empresas de seguros
& Asegurar (garantizar un gasto en caso de siniestro)
& Seguros en base a las primas
\\
Administraciones públicas
& Producir bienes y servicios que no se destinan a la venta\newline
Redistribución de la renta y la riqueza
& Proveedor de servicios públicos financiados con ingresos coactivos
\\
Instituciones privadas sin animo de lucro
& Producir servicios no destinados a la venta para consumo individual
& Proveedores de servicios privados a través de aportaciones voluntarias
\\
Hogares
& Consumir bienes y servicios
& Retribución a los factores productivos
\\
Resto del mundo
& \multicolumn{2}{>{\hsize=\dimexpr2\hsize+2\tabcolsep+\arrayrulewidth\relax}X}{No se caracteriza por su función o por su fuente de ingresos sino que se refiere a todas aquellas unidades que tienen relaciones con las anteriores pero no son residentes}
\end{tabularx}
\caption{Caption}
\label{tab:my_label}
\end{table}
\end{document}
最棘手的部分是最后一个\multicolumn
跨越两X
列的部分。
\hsize=\dimexpr2\hsize+2\tabcolsep+\arrayrulewidth\relax
表示\multicolumn
必须考虑列间距和规则厚度(在本例中消失)。我还增加了间距,\arraystretch
以使不同块之间的间距更加清晰。