我正在尝试在 Latex 中创建表格,但文本没有在单元格的中心对齐,在某些单元格中,文本超出了表格范围。我该如何解决这个问题?
\documentclass[a4paper,11pt]{article}
\usepackage{multirow}
\usepackage{graphicx}
\usepackage[table,xcdraw]{xcolor}
\begin{document}
\begin{table}[H]
\centering
\resizebox{\textwidth}{!}{%
\begin{tabular}{|c|c|c|c|c|}
\hline
\rowcolor[HTML]{AAE3F4}
{\color[HTML]{000000} Parcerias-chave} & {\color[HTML]{000000} Atividades-chave} & {\color[HTML]{000000} Propostas de valor} & {\color[HTML]{000000} Relações com os clientes} & {\color[HTML]{000000} Segmentos de mercado} \\ \hline
& \begin{tabular}[c]{@{}c@{}}Prospeção de novos\\ clientes, fazer o \\ gerenciamento\\ dos canais de \\ divulgação, \\ divulgação da oferta.\end{tabular} & & \begin{tabular}[c]{@{}c@{}}Contacto através de e-mail, \\ newsletter, atendimento ao \\ cliente.\end{tabular} & \\ \cline{2-2} \cline{4-4}
& \cellcolor[HTML]{AAE3F4}Recursos-chave & & \cellcolor[HTML]{AAE3F4}Canais & \\ \cline{2-2} \cline{4-4}
\multirow{-3}{*}{\begin{tabular}[c]{@{}c@{}}Empresas logísticas,\\ empresas parceiras\\ que desejem ser\\ publicitadas.\end{tabular}} & \begin{tabular}[c]{@{}c@{}}Plataformas de \\ comunicação\\ e de notoriedade.\end{tabular} & \multirow{-3}{*}{\begin{tabular}[c]{@{}c@{}}Descontos em \\ ocasiões especiais, \\ descontos para \\ clientes fidelizados,\\ descontos na aquisição\\ de grandes quantidades,\\ ação promocional de compra\\ de publicidade + produto.\end{tabular}} & \begin{tabular}[c]{@{}c@{}}Redes sociais (Facebook, \\ Instagram, Twitter, etc), \\ Youtube, venda online, \\ feiras de exposição, \\ locais de venda.\end{tabular} & \multirow{-3}{*}{\begin{tabular}[c]{@{}c@{}}Portadores de \\ deficiência motora, \\ que não lhes permite\\ carregar grandes pesos\\ e que gostariam de ter\\ uma maior autonomia \\ e uma melhor \\ qualidade de vida.\end{tabular}} \\ \hline
\rowcolor[HTML]{AAE3F4}
\multicolumn{3}{|c|}{\cellcolor[HTML]{AAE3F4}Estrutura de custos} & \multicolumn{2}{c|}{\cellcolor[HTML]{AAE3F4}Fonte de rendimento} \\ \hline
\multicolumn{3}{|c|}{Pagamentos diretos e online, equipamentos e funcionários.} & \multicolumn{2}{c|}{Venda do produto online e cross-promotion.} \\ \hline
\end{tabular}%
}
\end{table}
\end{document}
答案1
如果你使用来自 cals 包的 calstable。我附上了两个表格示例,因为我不确定您要求哪种布局。另外,我假设不同的列宽是故意的:
示例 1
\documentclass[a4paper, 11pt]{article}
\usepackage{cals, xcolor}
\usepackage[margin=1.5cm]{geometry}
\definecolor{ligthBlue}{HTML}{AAE3F4}
\let\nc=\nullcell % Shortcuts
\let\sc=\spancontent
\begin{document}
\footnotesize % Necessary to reduce size
\begin{calstable}
% Defining column relative to each other and relative to the margins
\colwidths{{\dimexpr(\columnwidth)/50*9\relax}
{\dimexpr(\columnwidth)/50*9\relax}
{\dimexpr(\columnwidth)/50*11\relax}
{\dimexpr(\columnwidth)/50*11\relax}
{\dimexpr(\columnwidth)/50*10\relax}
}
% The tabular fills the text area
% Set up the tabular
\makeatletter
\def\cals@framers@width{0.2pt} % Outside frame rules, reduce if the rule is too heavy
\def\cals@framecs@width{0.2pt}
\def\cals@bodyrs@width{0.2pt} % Rule between heading and body
\cals@setpadding{Ag}
\cals@setcellprevdepth{Al}
\def\cals@cs@width{0.2pt} % Inside rules, reduce if the rule is too heavy
\def\cals@rs@width{0.2pt}
\def\cals@bgcolor{}
\def\blue{\ifx\cals@bgcolor\empty % THis is a macro that switch on or off colour
\def\cals@bgcolor{ligthBlue}
\else \def\cals@bgcolor{} \fi}
\def\bb{\ifx\cals@borderB\relax % Botton border switch (off-on)
\def\cals@borderB{0pt} % To remove rules in cells
\else \let\cals@borderB\relax\fi}
% R1
\thead{\blue
\brow
\alignC\cell{Parcerias-chave}
\cell{Atividades-chave}
\cell{Propostas de valor}
\cell{Relações com os clientes}
\cell{Segmentos de mercado}
\erow
\blue}
% R2 Body
\brow
\bb\cell{}\bb
\cell{\vfil Prospeção de novos clientes, fazer o gerenciamento dos canais de divulgação, divulgação da oferta.}
\bb\cell{}\bb
\cell{\vfil Contacto através de e-mail, newsletter, atendimento ao cliente.}
\bb\cell{}\bb
\erow
% R3 Body
\brow
\bb\cell{}\bb
\blue\cell{Recursos-chave}\blue
\bb\cell{}\bb
\blue\cell{Canais}\blue
\bb\cell{}\bb
\erow
% R4 Body
\brow
\cell{\vfil Empresas logísticas, empresas parceiras que desejem ser publicitadas.}
\cell{\vfil Plataformas de comunicação e de notoriedade.}
\cell{\vfil Descontos em ocasiões especiais, descontos para clientes fidelizados, descontos na aquisição de grandes quantidades, ação promocional de compra de publicidade + produto.}
\cell{\vfil Redes sociais (Facebook, Instagram, Twitter, etc), Youtube, venda online, feiras de exposição, locais de venda.}
\cell{\vfil Portadores de deficiência motora, que não lhes permite carregar grandes pesos e que gostariam de ter uma maior autonomia e uma melhor qualidade de vida}
\erow
% R5 Body
\brow
\blue\nc{ltb}
\nc{tb}
\nc{rtb}\sc{\vfil Estrutura de custos}
\nc{ltb}
\nc{rtb}\sc{\vfil Fonte de rendimento}\blue
\erow
% R6 Body
\brow
\nc{ltb}
\nc{tb}
\nc{rtb}\sc{\vfil Pagamentos diretos e online, equipamentos e funcionários.}
\nc{ltb}
\nc{rtb}\sc{\vfil Venda do produto online e cross-promotion.}
\erow
\makeatletter
\end{calstable}\par % \par to align the tabular
\end{document}
示例 2
\documentclass[a4paper, 11pt]{article}
\usepackage{cals, xcolor}
\usepackage[margin=1.5cm]{geometry}
\definecolor{ligthBlue}{HTML}{AAE3F4}
\let\nc=\nullcell % Shortcuts
\let\sc=\spancontent
\begin{document}
\footnotesize
\begin{calstable}
% Defining column relativ to each other and relativ to the margins
\colwidths{{\dimexpr(\columnwidth)/50*9\relax}
{\dimexpr(\columnwidth)/50*9\relax}
{\dimexpr(\columnwidth)/50*11\relax}
{\dimexpr(\columnwidth)/50*11\relax}
{\dimexpr(\columnwidth)/50*10\relax}
}
% The tabular fills the text area
% Set up the tabular
\makeatletter
\def\cals@framers@width{0.2pt} % Outside frame rules, reduce if the rule is too heavy
\def\cals@framecs@width{0.2pt}
\def\cals@bodyrs@width{0.2pt}
\cals@setpadding{Ag}
\cals@setcellprevdepth{Al}
\def\cals@cs@width{0.2pt} % Inside rules, reduce if the rule is too heavy
\def\cals@rs@width{0.2pt}
\def\cals@bgcolor{}
\def\blue{\ifx\cals@bgcolor\empty
\def\cals@bgcolor{ligthBlue}
\else \def\cals@bgcolor{} \fi}
% R1
\thead{\blue
\brow
\alignC\cell{Parcerias-chave}
\cell{Atividades-chave}
\cell{Propostas de valor}
\cell{Relações com os clientes}
\cell{Segmentos de mercado}
\erow
\blue}
% R2 Body
\brow
\nc{lrt}
\cell{\vfil Prospeção de novos clientes, fazer o gerenciamento dos canais de divulgação, divulgação da oferta.}
\nc{lrt}
\cell{\vfil Contacto através de e-mail, newsletter, atendimento ao cliente.}
\nc{lrt}
\erow
% R3 Body
\brow
\nc{lr}
\blue\cell{Recursos-chave}\blue
\nc{lr}
\blue\cell{Canais}\blue
\nc{lr}
\erow
% R4 Body
\brow
\nc{lrb}\sc{\vfil Empresas logísticas, empresas parceiras que desejem ser publicitadas.}
\cell{\vfil Plataformas de comunicação e de notoriedade.}
\nc{lrb}\sc{\vfil Descontos em ocasiões especiais, descontos para clientes fidelizados, descontos na aquisição de grandes quantidades, ação promocional de compra de publicidade + produto.}
\cell{\vfil Redes sociais (Facebook, Instagram, Twitter, etc), Youtube, venda online, feiras de exposição, locais de venda.}
\nc{lrb}\sc{\vfil Portadores de deficiência motora, que não lhes permite carregar grandes pesos e que gostariam de ter uma maior autonomia e uma melhor qualidade de vida}
\erow
% R5 Body
\brow
\blue\nc{ltb}
\nc{tb}
\nc{rtb}\sc{\vfil Estrutura de custos}
\nc{ltb}
\nc{rtb}\sc{\vfil Fonte de rendimento}\blue
\erow
% R6 Body
\brow
\nc{ltb}
\nc{tb}
\nc{rtb}\sc{\vfil Pagamentos diretos e online, equipamentos e funcionários.}
\nc{ltb}
\nc{rtb}\sc{\vfil Venda do produto online e cross-promotion.}
\erow
\makeatletter
\end{calstable}\par % \par to align the tabular
\end{document}
答案2
tabularx
我建议使用和来编写更简单的代码hhline
:
\documentclass[a4paper, 11pt]{article}
\usepackage[showframe]{geometry}
\usepackage{multirow, tabularx, hhline}
\renewcommand{\tabularxcolumn}[1]{>{\Centering\arraybackslash}p{#1}}
\usepackage{ragged2e}
\usepackage{graphicx}
\usepackage[table,xcdraw]{xcolor}
\begin{document}
\begin{table}[!htb]
\centering\footnotesize
\setlength{\extrarowheight}{2pt}
\setlength{\tabcolsep}{3pt}
\begin{tabularx}{\linewidth}{|*{5}{X|}}
\hhline{-----}
\rowcolor[HTML]{AAE3F4}
\multirow{2}{*}{Parcerias-chave} & \multirow{2}{*}{Atividades-chave} & \multirow{2}{*}{Propostas de valor} & Relações com os clientes & Segmentos de mercado \\ \hline
& Prospeção de novos clientes, fazer o gerenciamento dos canais de divulgação, divulgação da oferta. %
& & Contacto através de e-mail, newsletter, atendimento ao cliente. & \\ & & & & \\[-1.5ex]
\hhline{~|-~|-~}
& \cellcolor[HTML]{AAE3F4}Recursos-chave & & \cellcolor[HTML]{AAE3F4}Canais & \\[0.5ex] %
\hhline{~|-~|-~}
Empresas logísticas, empresas parceiras que desejem ser publicitadas%
& Plataformas de comunicação e de notoriedade. %
& Descontos em ocasiões especiais, descontos para clientes fidelizados, descontos na aquisição de grandes quantidades, ação promocional de compra de publicidade + produto. & Redes sociais (Facebook, Instagram, Twitter, etc.), Youtube, venda online, feiras de exposição, locais de venda.%
& Portadores de deficiência motora, que não lhes permite carregar grandes pesos e que gostariam de ter uma maior autonomia e uma melhor qualidade de vida. \\ & & & & \\[-1.5ex]
\hhline{-----}
\rowcolor[HTML]{AAE3F4}
\multicolumn{3}{|c|}{Estrutura de custos} & \multicolumn{2}{c|}{Fonte de rendimento} \\[0.5ex]
\hhline{-----}
\multicolumn{3}{|p{\dimexpr0.6 \linewidth-2\tabcolsep-2\arrayrulewidth}|}{Pagamentos diretos e online, equipamentos e funcionários.} & \multicolumn{2}{p{\dimexpr0.4\linewidth-2\tabcolsep-\arrayrulewidth}|}{Venda do produto online e {cross-promotion}.} \\
\hhline{-----}
\end{tabularx}%
\end{table}
\end{document}