
Probé varias soluciones diferentes que leí aquí para el problema que tengo, pero ninguna funcionó. Entonces lo siento si repito la pregunta. Entonces tengo este 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}
Y resulta así:
Ojalá resulte algo como esto aquí abajo. Lo que básicamente significaría ajustar el texto de la segunda columna a uno más pequeño y colocar el texto en la primera columna verticalmente. No necesita los colores de fondo.
¡Muchas gracias a todos por su ayuda!
Respuesta1
Propongo esta solución, con una sola X
columna, por supuesto dentro de un tabularx
entorno. También cargué geometry
, para tener márgenes más decentes (si no usa notas marginales), reemplacé la mayoría de los tabulares anidados con \thead
from makecell
(esto permite saltos de línea en celdas de columna estándar) y finalmente agregué algo de espacio entre filas con el 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}
Respuesta2
Como ha (re)descubierto, utilizar \resizebox
para forzar un tabular
entorno al ancho del bloque de texto casi nunca generará una solución satisfactoria. Por eso,nouso \resizebox
, al menos no con el fin de cambiar el tamaño de una tabla.
Asumiré que el X
tipo de columna en su fragmento de código está definido por el tabularx
paquete. (Si esta suposición es incorrecta, ¡hágamelo saber!) La siguiente solución utiliza un tabularx
entorno con anchos de columna desiguales. (Tenga en cuenta que los anchos relativos de las columnas suman 5
, que es igual al número de columnas de tipo X
). Me deshice de los tabular
envoltorios en la fila del encabezado; no son necesarios ya que el C
tipo de columna permite el ajuste automático de líneas. También me deshice de la primera columna. En mi experiencia, los lectoresNo me gusta muchotener que estirar el cuello para leer algo; En su lugar, metí la cadena "Categoria operativa" en la fila del encabezado.
La siguiente captura de pantalla muestra (aproximadamente) la mitad superior de la tabla generada por el código siguiente.
\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}