我对以下代码有疑问tabularx
。我试图将一些较长的文本旋转 90 度,以便将列宽保持在较小水平。我已减少了此示例的列数,但在我的实际 tex 文件中,我有 6 列,这相当紧凑。
我遇到的问题是,第一列标题没有完全向左刷新,而是在右边一行:
\begin{table}
\begin{tabularx}{\textwidth}{|X|X|}
\hline
\multicolumn{1}{|l|}{
\rotatebox{90}{
\parbox {2cm}{\flushleft \bfseries Foo \\ (Foo Bar and Baz)} }} &
\multicolumn{1}{l|}{
\rotatebox{90}{\bfseries Something} } \\\hline
Yes & No\footnote{\url{https://example.com}} \\\hline
\end{tabularx}
\end{table}
当我省略\flushleft
中的时\parbox
,文本是合理的:
\begin{table}
\begin{tabularx}{\textwidth}{|X|X|}
\hline
\multicolumn{1}{|l|}{%
\rotatebox{90}{ \parbox {2cm}{
\bfseries Foo \\ (Foo Bar and Baz)} }} &
\multicolumn{1}{l|}{
\rotatebox{90}{ \bfseries Something} } \\\hline
Yes & No\footnote{\url{https://example.com}} \\\hline
\end{tabularx}
\end{table}
如何让文本与底部和左侧对齐?或者是否有其他最佳实践来处理长标题文本?
答案1
\rotatebox{90}{ \parbox {2cm}{
插入两个您不想要的空格字符:
\rotatebox{90}{\parbox {2cm}{\raggedright
注意flushleft
是作为环境,并添加垂直空间\raggedright
是声明形式
(请参阅本网站上的\begin{center}
和的比较\centering
)。