回転した表のセルを揃える方法

回転した表のセルを揃える方法

回転したセルのテキストを揃える方法について助けが必要です。問題は、表に表示されるテキストが事前にわからないため、 のようなものが使用できないことです\settowidth\rotheadsize{text}

今のところはこんな感じです。

\documentclass{article}
\usepackage{graphicx}
\usepackage{makecell, rotating}
\renewcommand\theadalign{lb}
\begin{document}

\small

\noindent\begin{tabular}{@{}|p{2.5cm}|l|p{2cm}|l|l|p{16mm}|p{13mm}|@{}}
\hline
A & \rothead{text} & a long text that spans over multiple lines  & b & c & d & \rothead{efg} \\
 \hline
\multicolumn{7}{|c|}{sometext} \tabularnewline
 \hline
\end{tabular}

\end{document}

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

「長いテキスト...複数行」の最後のベースラインとうまく揃うように、表のセルの下部に「text」と「efg」という単語を配置したいと思います。

これが重要かどうかはわかりませんが、tabularxテーブルに使用します。

答え1

すべて(たとえば もA)を一番下に置きたい場合は、長い列に [b] 列タイプを使用するとうまくいきます。 すべてを一番上に残したい場合は、次のように大きな列を測定する必要があるでしょう。

\documentclass{article}
\usepackage{graphicx}
\usepackage{makecell, rotating}
\renewcommand\theadalign{lb}
\usepackage{zref-savepos}
\begin{document}

\small

\newlength\startstopdistance
\startstopdistance=\dimexpr \zposy{stop}sp-\zposy{start}sp+\baselineskip+\arrayrulewidth\relax

\noindent\begin{tabular}{@{}|p{2.5cm}|l|p{2cm}|l|l|p{16mm}|p{13mm}|@{}}
\hline\noalign{\zsavepos{start}}
A & \raisebox{\startstopdistance}[0pt][0pt]{\rotatebox{90}{text}}& a long text that spans over multiple lines  & b & c & d &
    \raisebox{\startstopdistance}[0pt][0pt]{\rotatebox{90}{efg}} \\
 \hline\noalign{\zsavepos{stop}}
\multicolumn{7}{|c|}{sometext} \tabularnewline
 \hline
\end{tabular}

\end{document}

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

関連情報