열 너비 및 세로 텍스트에 맞게 조정

열 너비 및 세로 텍스트에 맞게 조정

제가 겪고 있는 문제에 대해 여기에서 읽은 여러 가지 해결 방법을 시도했지만 그 중 어느 것도 효과가 없었습니다. 그래서 질문을 반복해서 죄송합니다. 그래서 나는 이 코드를 가지고 있습니다:

    \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}

그리고 그것은 다음과 같이 밝혀졌습니다:

여기에 이미지 설명을 입력하세요

아래에서 이와 같은 결과가 나왔으면 좋겠습니다. 이는 기본적으로 두 번째 열의 텍스트를 더 작은 텍스트로 조정하고 첫 번째 열에 텍스트를 세로로 배치하는 것을 의미합니다. 배경색이 필요하지 않습니다.

도움을 주신 모든 분들께 진심으로 감사드립니다!

여기에 이미지 설명을 입력하세요

답변1

저는 환경 내에서 단 하나의 X열만 사용하는 이 솔루션을 제안합니다 tabularx. 나는 또한 geometry더 적절한 여백을 갖기 위해(여백 메모를 사용하지 않는 경우) 대부분의 중첩된 표 형식을 \theadfrom 으로 대체하고(표준 열 셀에서 줄 바꿈을 허용함) 마지막으로 다음 명령을 makecell사용하여 행 사이에 약간의 공백을 추가했습니다 .booktab\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} 

여기에 이미지 설명을 입력하세요

답변2

(재)발견했듯이 환경을 텍스트 블록의 너비에 \resizebox강제로 적용하는 것은 만족스러운 솔루션을 거의 생성하지 않습니다. tabular따라서,하지 마라사용 \resizebox- 적어도 테이블 크기를 조정하려는 목적은 아닙니다.

X코드 조각의 열 유형은 패키지에 의해 정의된다고 가정하겠습니다 tabularx. (이 가정이 잘못된 경우 알려주세요!) 다음 해결 방법은 tabularx열 너비가 다른 환경을 사용합니다. (상대 열 너비의 합은 5유형의 열 수와 동일합니다 .) 헤더 행에서 래퍼를 X제거했습니다. 열 유형이 자동 줄 바꿈을 허용하므로 래퍼가 필요하지 않습니다. 첫 번째 열도 제거했습니다. 제 경험상 독자들은tabularC매우 싫어함뭔가를 읽으려면 목을 길게 빼야 합니다. 대신에 "Categoria Operacional"이라는 문자열을 헤더 행에 집어넣었습니다.

다음 스크린샷은 아래 코드로 생성된 테이블의 위쪽 절반을 (대략) 보여줍니다.

여기에 이미지 설명을 입력하세요

\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}

관련 정보