旋转线的对齐

旋转线的对齐

我想将表格中一个列标题的两行标签旋转约 60°。我尝试使用\rotatebox一些示例所示的方法。但是,这个宏会旋转整个框,而不会将文本的第二行稍微推一点,以使两行从相同的水平对齐开始。

    \documentclass{article}
    \usepackage{graphicx}
    \usepackage{booktabs}

    \begin{document}
    \begin{tabular}{lll}
      Thing & \rotatebox{60}{Height} &
        \rotatebox{60}{\parbox{6em}{Width \\ (end to end)}} \\
      \midrule

      House & 10m & 10m \\
      Car & 1m & 5m \\
      Crane & 15m & 20m \\
      \bottomrule
    \end{tabular}
    \end{document}

我仍然可以通过在第二行的开头手动添加一个空格(例如 a\quad或 a ~)来解决这个问题……但这并不是很美观,并且在修改文本或更多行时可能会很烦人。

是否有其他方法可以旋转文本,同时保持其沿表格垂直对齐\midrule

答案1

虽然并不完美,但由于字母的几何形状,我建议在多行列头的情况下旋转每行文本。此外,我认为最后两列应该右对齐,但列头除外,列头应该左对齐。这导致使用将\rlap列头保持在下方单元格上方,并使用以下方式补偿上方文本的间距\addlinespace

\documentclass{article}
\usepackage{graphicx}
\usepackage{booktabs}

\begin{document}

Some text. Some other text. Some more text. Some more text. 

\begin{tabular}{lrr}
\addlinespace[2ex ]
  Thing & \multicolumn{1}{l}{\,\,\rlap{\rotatebox{60}{Height}}} &
   \multicolumn{1}{l}{ \rlap{\rotatebox[origin = lb]{60}{Width}\hspace{-0.75em}\rotatebox[origin = lb]{60}{(end to end)}}} \\
  \midrule
  House & 10m & 10m \\
  Car & 1m & 5m \\
  Crane & 15m & 20m \\
  \bottomrule
\end{tabular}

\end{document} 

在此处输入图片描述

相关内容