列幅と縦書きテキストに合わせて調整する

列幅と縦書きテキストに合わせて調整する

私が抱えている問題に対して、ここで読んだいくつかの異なる解決策を試しましたが、どれもうまくいきませんでした。質問が重複して申し訳ありません。そのため、次のようなコードがあります。

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

そして、次のようになります。

ここに画像の説明を入力してください

以下のような結果になることを望みます。基本的には、2 番目の列のテキストを小さいものに調整し、1 番目の列のテキストを垂直に配置することを意味します。背景色は必要ありません。

ご協力いただいた皆様に心より感謝いたします。

ここに画像の説明を入力してください

答え1

X私は、環境内で1 列のみを使用するこのソリューションを提案しますtabularx。また、より適切な余白を確保するために をロードし(欄外メモを使用しない場合)、ネストされた表のほとんどをfromgeometryに置き換え(これにより、標準の列セルで改行が可能になります)、最後に、コマンドで行間にスペースを追加しました。\theadmakecellbooktab\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。) ヘッダー行のラッパーは削除しましたtabular。列タイプでは自動行折り返しが許可されているため、ラッパーは必要ありませんC。また、最初の列も削除しました。私の経験では、読者は強く嫌う何かを読むために首を伸ばさなければならないので、代わりに「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}

関連情報