Как выровнять текст по вертикали

Как выровнять текст по вертикали

Я пытаюсь вертикально отцентрировать текст в таблице, но когда я пытаюсь использовать \vspace, смещается вся строка, а не только одна ячейка. Я скопировал LaTeX ниже, который продемонстрирует эффекты, если вы используете и не используете \vspace. Я также использовал команду вращения, которая может быть причиной того, что это так сложно.

Вот как выглядит использование без vspace. Я хочу, чтобы Lorem1 и Ipsum1 были отцентрированы по вертикали. Нормальное изображение

Я пытался использовать \vspaceдля выполнения этой задачи, но это не дает того, что я хочу. Я использовал отрицательное значение в примере ниже.

Изображение с использованием vspace

\documentclass{article}
\usepackage{array}
\usepackage{tabularx}
\usepackage{rotating}
\usepackage{lipsum}
\begin{document}




\newcolumntype{E}{>{\centering\arraybackslash}m{7cm}}
\newcommand\RotText[1]{\fontsize{9}{9}\selectfont \rotatebox{90}{\parbox{2.6cm}{\centering#1}}}

\centering


\begin{tabular}{|c|E|c|}
\hline
&  & {Lorem Ipsum} \\ 
\hline
Lorem1 & Ipsum1 & \RotText{Lorem3 Ipsum3} \\
\hline
\end{tabular}

\lipsum

\begin{tabular}{|c|E|c|}
\hline
&  & {Lorem Ipsum} \\ 
\hline
\vspace{-10pt}{Lorem1} & Ipsum1 & \RotText{Lorem3 Ipsum3} \\
\hline
\end{tabular}

\end{document}

решение1

Добавить [origin=c]к \rotatebox:

\documentclass{article}
\usepackage{array}
\usepackage{tabularx}
\usepackage{rotating}
\usepackage{lipsum}

\newcolumntype{E}{>{\centering\arraybackslash}m{7cm}}
\newcommand\RotText[1]{%
  \rotatebox[origin=c]{90}{\parbox{2.6cm}{\fontsize{9}{9}\selectfont\centering#1}}}

\begin{document}

{
\centering
\begin{tabular}{|c|E|c|}
\hline
&  & {Lorem Ipsum} \\ 
\hline
Lorem1 & Ipsum1 & \RotText{Lorem3 Ipsum3} \\
\hline
\end{tabular}
}

\end{document}

Обратите внимание, что я переместил команды изменения размера шрифта внутрь аргумента , чтобы \parboxгарантировать, что их эффект останется локальным.

введите описание изображения здесь

В комментарии была высказана просьба немного изменить форму таблицы:

\documentclass{article}
\usepackage{array}
\usepackage{tabularx}
\usepackage{rotating}
\usepackage{lipsum}

\newcolumntype{E}{>{\centering\arraybackslash}m{7cm}}
\newcommand\RotText[1]{%
  \rotatebox[origin=c]{90}{\parbox{2.6cm}{\fontsize{9}{9}\selectfont\centering#1}}}

\begin{document}

{
\centering
\begin{tabular}{|c|E|c|}
\cline{3-3}
\multicolumn{1}{c}{} &  & {Lorem Ipsum} \\ 
\hline
Lorem1 & Ipsum1 & \RotText{Lorem3 Ipsum3} \\
\hline
\end{tabular}
}

\end{document}

введите описание изображения здесь

Связанный контент