我正在尝试将表格中的文本垂直居中,但当我尝试使用时\vspace
,整个行都会移动,而不仅仅是一个单元格。我复制了下面的 LaTeX,它将演示使用和不使用时的效果\vspace
。我还使用了旋转命令,这可能是这如此困难的原因。
这是不使用 vspace 的样子,我希望 Lorem1 和 Ipsum1 垂直居中。
我尝试使用它\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}