将表格中的文本横向居中

将表格中的文本横向居中

我正在尝试创建一个双列表格环境。左列应该垂直居中横向文本“提示”,右列应该是普通的段落列。以下是我目前所拥有的:

\documentclass[12pt]{book}
\usepackage{rotating} % for sideways
\usepackage{array}    % for the m centering

\newenvironment{tips}
{
    \begin{tabular}{m{5mm}|p{0.9\textwidth}}
    \begin{sideways} \textbf{Tips} \end{sideways} &
}
{\end{tabular}}

我已经尝试了 m 和 c,但左列文本仍然在顶部。 在此处输入图片描述

这也给我带来了一个问题:对于左列中较长的文本,表格前的垂直空间会变得更大。有什么帮助吗?

另外,第二个问题:是否有一个单位可以让第二列水平“填充”页面的剩余部分?我使用 0.9*\textwidth 时漏掉了几毫米。

答案1

sideways我建议不要使用环境,而是使用\rotatebox{90}{...}

\documentclass{scrartcl}
\usepackage{array}
\usepackage{rotating}
\newenvironment{tips}
{
\noindent
\begin{tabular}{m{0.03\textwidth}|m{0.97\textwidth}}
\rotatebox{90}{\textbf{Tips!}}&
}
{\end{tabular}
\bigskip
}

\begin{document}
\begin{tips}
Short Tip
\end{tips}

\begin{tips}
Forsok att undvika mer an fyra nastlade nivaer. Senare kapitel kommer ge dig forslag pa hur du kan strukturera om koden sa att du slipper onodig nastling. Forsok att undvika mer an fyra nastlade nivaer. Senare kapitel kommer ge dig forslag pa hur du kan strukturera om koden sa att du slipper onodig. nastling
\end{tips}
\end{document}

相关内容