
Necesito ayuda para alinear el texto de la celda rotada. El problema es que no conozco de antemano el texto que aparece en la tabla, por lo que no puedo usar algo como \settowidth\rotheadsize{text}
.
Esto es lo que tengo hasta ahora.
\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}
Me gustaría tener la palabra 'texto' y 'efg' en la parte inferior de la celda de la tabla para que se alinee bien con la última línea de base de "un texto largo... varias líneas".
No estoy seguro si esto es importante: lo uso tabularx
para las mesas.
Respuesta1
Si desea que todo (por ejemplo, también el A
) en la parte inferior, utilice el tipo de columna [b] para la columna larga debería funcionar. Si se quedan en la parte superior, probablemente tendrás que medir la columna grande, por ejemplo así:
\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}