
Tentei várias soluções diferentes que li aqui para o problema que estou tendo, mas nenhuma delas funcionou. Então me desculpe se estou repetindo a pergunta. Então eu tenho esse código:
\begin{table}[htb]
\centering
\caption{Descrição das categorias operacionais e de design segundo a norma EN45545-1.}
\label{categorias}
\resizebox{\textwidth}{!}{%
\begin{tabular}{XXXXXX}
& & \multicolumn{4}{c}{\textbf{Categoria de design}} \\
& & \begin{tabular}[c]{@{}l@{}}Veículos\\ standard\end{tabular} & \begin{tabular}[c]{@{}l@{}}Veículos\\ automáticos sem\\ staff treinado\end{tabular} & \begin{tabular}[c]{@{}l@{}}Veículos de\\ dois andares\end{tabular} & Carruagem-cama \\
\multirow{4}{*}{\textbf{Categoria Operacional}} & \begin{tabular}[c]{@{}l@{}}Veículos de superfície que não atravessam túneis ou secções elevadas de terreno, com possibilidade de evacuação lateral\end{tabular} & HL1 & HL1 & HL1 & HL1 \\
& \begin{tabular}[c]{@{}l@{}}Veículos que atravessam túneis/secções de terreno elevadas, com possibilidade de evacuação lateral e alcance de um local de segurança num curto espaço de tempo, em caso de acidente\end{tabular} & HL2 & HL2 & HL2 & HL2 \\
& \begin{tabular}[c]{@{}l@{}}Veículos que atravessam túneis/secções de terreno elevadas, com possibilidade de evacuação lateral e alcance de um local de segurança num longo espaço de tempo, em caso de acidente\end{tabular} & HL2 & HL2 & HL2 & HL3 \\
& \begin{tabular}[c]{@{}l@{}}Veículos que atravessam túneis/secções de terreno elevadas, sem possibilidade de evacuação lateral e alcance de um local de segurança num curto espaço de tempo, em caso de acidente\end{tabular} & HL3 & HL3 & HL3 & HL3
\end{tabular}%
}
\end{table}
E acontece assim:
Eu gostaria que acontecesse algo assim aqui abaixo. O que basicamente significaria ajustar o texto da segunda coluna para um menor e colocar o texto na primeira coluna verticalmente. Não precisa das cores de fundo.
Muito obrigado a todos pela sua ajuda!
Responder1
Proponho esta solução, com apenas uma X
coluna – claro dentro de um tabularx
ambiente. Eu também carreguei geometry
, para ter margens mais decentes (se você não usar notas marginais), substituí a maioria das tabulares aninhadas por \thead
from makecell
(isso permite quebras de linha em células de coluna padrão) e finalmente adicionei algum espaço entre as linhas com o booktab
comando \addlinespace
:
\documentclass{article}
\usepackage{geometry}
\usepackage{tabularx, multirow, makecell, booktabs, caption}
\begin{document}
\begin{table}[htb]
\centering\setlength{\tabcolsep}{4pt}
\setlength{\extrarowheight}{2pt}
\renewcommand{\theadfont}{\small}
\caption{Descrição das categorias operacionais e de design segundo a norma EN45545-1.}
\label{categorias}
\begin{tabularx}{\linewidth}{cXcccc}%
& & \multicolumn{4}{c}{\textbf{Categoria de design}} \\
& & \thead{Veículos\\ standard} & \thead{Veículos\\ automáticos sem\\ staff treinado} & \thead{Veículos de\\ dois andares} & \thead{Carruagem-\\cama }\\
\multirow{19}{*}{\rotatebox{90}{\bfseries Categoria Operacional}} %
& Veículos de superfície que não atravessam túneis ou secções elevadas de terreno, com possibilidade de evacuação lateral & HL1 & HL1 & HL1 & HL1 \\
\addlinespace
& Veículos que atravessam túneis/secções de terreno elevadas, com possibilidade de evacuação lateral e alcance de um local de segurança num curto espaço de tempo, em caso de acidente & HL2 & HL2 & HL2 & HL2 \\
\addlinespace
& Veículos que atravessam túneis/secções de terreno elevadas, com possibilidade de evacuação lateral e alcance de um local de segurança num longo espaço de tempo, em caso de acidente & HL2 & HL2 & HL2 & HL3 \\
\addlinespace
& Veículos que atravessam túneis/secções de terreno elevadas, sem possibilidade de evacuação lateral e alcance de um local de segurança num curto espaço de tempo, em caso de acidente & HL3 & HL3 & HL3 & HL3
\end{tabularx}%
\end{table}
\end{document}
Responder2
Como você (re)descobriu, forçar \resizebox
um tabular
ambiente na largura do bloco de texto dificilmente gerará uma solução satisfatória. Por isso,nãouse \resizebox
- pelo menos não com a finalidade de redimensionar uma tabela.
Presumirei que o X
tipo de coluna no seu trecho de código é definido pelo tabularx
pacote. (Se esta suposição estiver errada, avise-me!) A solução a seguir usa um tabularx
ambiente com larguras de coluna desiguais. (Observe que as larguras relativas das colunas somam 5
, que é igual ao número de colunas do tipo X
.) Livrei-me dos tabular
wrappers na linha do cabeçalho - eles não são necessários, pois o C
tipo de coluna permite quebra automática de linha. Eu também me livrei da primeira coluna. Na minha experiência, leitoresnão gosto muitoter que esticar o pescoço para ler alguma coisa; Em vez disso, coloquei a string "Categoria operacional" na linha do cabeçalho.
A captura de tela a seguir mostra (aproximadamente) a metade superior da tabela gerada pelo código abaixo.
\documentclass{article}
\usepackage[a4paper,margin=2.5cm]{geometry} % set suitable page parameters
\usepackage[portuguese]{babel}
\usepackage[T1]{fontenc}
\usepackage[skip=0.333\baselineskip]{caption} % optional
\usepackage{tabularx,ragged2e,booktabs}
%% Define variable-width raggedright and centered versions of the "X" column type:
\newcolumntype{L}[1]{>{\RaggedRight\arraybackslash%
\hsize=#1\hsize\linewidth=\hsize}X}
\newcolumntype{C}[1]{>{\Centering\arraybackslash%
\hsize=#1\hsize\linewidth=\hsize\hspace{0pt}}X}
\begin{document}
\begin{table}[htb]
\caption{Descrição das categorias operacionais e de design segundo a norma EN45545-1.}
\label{tab:categorias}
\begin{tabularx}{\textwidth}{@{} L{2.2} C{0.6}C{0.9}C{0.7}C{0.6} @{}}
\toprule
Categoria operacional & \multicolumn{4}{c@{}}{Categoria de design} \\
\cmidrule(l){2-5}
& Veículos \emph{standard} & Veículos automáticos sem staff treinado & Veículos de dois andares & Carruagemcama \\
\midrule
Veículos de superfície que não atravessam túneis ou secções elevadas de terreno, com possibilidade de evacuação lateral & HL1 & HL1 & HL1 & HL1 \\
\addlinespace
Veículos que atravessam túneis\slash secções de terreno elevadas, com possibilidade de evacuação lateral e alcance de um local de segurança num curto espaço de tempo, em caso de acidente & HL2 & HL2 & HL2 & HL2 \\
\addlinespace
Veículos que atravessam túneis\slash secções de terreno elevadas, com possibilidade de evacuação lateral e alcance de um local de segurança num longo espaço de tempo, em caso de acidente & HL2 & HL2 & HL2 & HL3 \\
\addlinespace
Veículos que atravessam túneis\slash secções de terreno elevadas, sem possibilidade de evacuação lateral e alcance de um local de segurança num curto espaço de tempo, em caso de acidente & HL3 & HL3 & HL3 & HL3 \\
\bottomrule
\end{tabularx}
\end{table}
\end{document}